For any masochist out there, the following works for me
= LET(
grp, {0;1;2;3},
N, SUBSTITUTE( TEXT( Convert[@Value], REPT(0,9)&".00" ),".","0"),
H, VALUE( MID( N, 3*grp+1, 1) ),
T, VALUE( MID( N, 3*grp+2, 1) ),
U, VALUE( MID( N, 3*grp+3, 1) ),
H.txt, IF( H, INDEX( Nums, H+1 ) & " Hundred and ", "" ),
T.txt, IF( T>1, INDEX( Tens, T+1 ) & IF( U>0, "-", "" ), " " ),
U.txt, IF( (T+U), IF( T=1, INDEX( Teens, U+1 ), INDEX(Nums, U+1 ) ) ),
CONCAT( IF( H+T+U, H.txt & T.txt & U.txt & Denom, "" ) )
)This evaluates as a relative reference formula but also relies upon some named array constants
Denom = {" Million, ";" Thousand and ";" Dollars ";" Cents"}
Nums = {"","One","Two","Three","Four","Five","Six","Seven","Eight"," Nine"}
Teens = {"Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"}
Tens = {"","Ten","Twenty"," Thirty"," Forty","Fifty","Sixty"," Seventy","Eighty","Ninety"}What the formula does is convert Dollar amounts up to $ 1 Billion to text.