Could get very involved and use something like :
=CHOOSE(INT(D7/10),"","twenty","thirty"&CHOOSE(D7-INT(D7/10)*10+1,"","-one","-two","-three"
Assuming number is in cell D7 in this case. Have to have special ones to handle the teens and units though! Add on similar for the hundreds......yuk!
This may be a long shot but it sounds pretty simple-
If you can find a list (or create one depending on how high number you need to reach) of numbers as text strings-
paste the text string numbers in ascending order and then create the numerical equivalent in the column to the left of the text string column however you like etc....
Use the vLookup funtion for cell A1 to return the text string value in B1
This may sound a bit simplistic, however it should work.