By: Shamima Sultana

In reply to Asabur Rahman.

Hello Asabur Rahman,

Method 1 works well, but it follows the International Numbering System, not the Bangladeshi format. In the Bangladeshi Numbering System (which uses Lakh and Crore), the conversion would indeed need adjustment.

Here’s a drop-in replacement for Method 1 (same LEFT/MID/TEXT/CHOOSE style) that outputs Bangladeshi format (Crore–Lakh–Thousand–Hundred–and last two digits).
Formula:

=IF(A2=0,"Zero Taka Only",
TRIM(
CONCAT(
IF(VALUE(MID(TEXT(A2,"000000000"),1,2))=0,"",
IF(LEFT(MID(TEXT(A2,"000000000"),1,2),1)="1",
CHOOSE(VALUE(RIGHT(MID(TEXT(A2,"000000000"),1,2),1))+1,"Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"),
CHOOSE(VALUE(LEFT(MID(TEXT(A2,"000000000"),1,2),1))+1,"","","Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety")
& IF(RIGHT(MID(TEXT(A2,"000000000"),1,2),1)="0",""," "&CHOOSE(VALUE(RIGHT(MID(TEXT(A2,"000000000"),1,2),1))+1,"","One","Two","Three","Four","Five","Six","Seven","Eight","Nine"))
) & " Crore "
),
IF(VALUE(MID(TEXT(A2,"000000000"),3,2))=0,"",
IF(LEFT(MID(TEXT(A2,"000000000"),3,2),1)="1",
CHOOSE(VALUE(RIGHT(MID(TEXT(A2,"000000000"),3,2),1))+1,"Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"),
CHOOSE(VALUE(LEFT(MID(TEXT(A2,"000000000"),3,2),1))+1,"","","Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety")
& IF(RIGHT(MID(TEXT(A2,"000000000"),3,2),1)="0",""," "&CHOOSE(VALUE(RIGHT(MID(TEXT(A2,"000000000"),3,2),1))+1,"","One","Two","Three","Four","Five","Six","Seven","Eight","Nine"))
) & " Lakh "
),
IF(VALUE(MID(TEXT(A2,"000000000"),5,2))=0,"",
IF(LEFT(MID(TEXT(A2,"000000000"),5,2),1)="1",
CHOOSE(VALUE(RIGHT(MID(TEXT(A2,"000000000"),5,2),1))+1,"Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"),
CHOOSE(VALUE(LEFT(MID(TEXT(A2,"000000000"),5,2),1))+1,"","","Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety")
& IF(RIGHT(MID(TEXT(A2,"000000000"),5,2),1)="0",""," "&CHOOSE(VALUE(RIGHT(MID(TEXT(A2,"000000000"),5,2),1))+1,"","One","Two","Three","Four","Five","Six","Seven","Eight","Nine"))
) & " Thousand "
),
IF(MID(TEXT(A2,"000000000"),7,1)="0","",
CHOOSE(VALUE(MID(TEXT(A2,"000000000"),7,1))+1,"","One","Two","Three","Four","Five","Six","Seven","Eight","Nine") & " Hundred "
),
IF(VALUE(MID(TEXT(A2,"000000000"),8,2))=0,"",
IF(VALUE(LEFT(TEXT(A2,"000000000"),8))>0," ","") &
IF(LEFT(MID(TEXT(A2,"000000000"),8,2),1)="1",
CHOOSE(VALUE(RIGHT(MID(TEXT(A2,"000000000"),8,2),1))+1,"Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"),
CHOOSE(VALUE(LEFT(MID(TEXT(A2,"000000000"),8,2),1))+1,"","","Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety")
& IF(RIGHT(MID(TEXT(A2,"000000000"),8,2),1)="0","",
" "&CHOOSE(VALUE(RIGHT(MID(TEXT(A2,"000000000"),8,2),1))+1,"","One","Two","Three","Four","Five","Six","Seven","Eight","Nine")
)
)
),
"Taka Only"
)
))

Regards,
ExcelDemy