A method of preparing a cellulose-based difunctional adsorbent is disclosed. The method includes (1) a step of preliminary treatment, namely a step of removing impurities of a cellulose-based raw material, then boiling the raw material in a sodium hydroxide solution, washing the raw material with water, drying the raw material and cutting the raw material into pieces; (2) a step of pretreatment, namely a step of subjecting the raw material to ultrasonic wave-alkali solution-ultrasonic wave combined treatment, and (3) a step of chemical modification, namely a step of subjecting the raw material to selective oxidation treatment, then adding the oxidized cellulose into a reaction medium, adding an anhydride into the reaction medium, stirring, refluxing and reacting the mixture, performing filtration after the reaction is finished, washing a product, drying the product, reacting the product with a polyamine compound, performing filtration, washing an obtained product with water until neutrality, and freeze-drying the product to obtain the cellulose-based difunctional adsorbent. The adsorbent prepared by the method is high in safety stability, has good adsorption functions for anion pollutants and cation pollutants, and can be used for cleaning treatment of heavy metal ion waste water and dye waste water. The source of the cellulose-based raw material used for preparing the adsorbent is wide, and the cost is low. Operation is convenient when the adsorbent is used for waste water treatment.