The Excel BAHTTEXT function converts a number into Thai text, written out in words as Thai baht currency — =BAHTTEXT(2.5) reads “two baht fifty satang” in Thai script. It was built for Thai invoices and cheques, where amounts must appear in words, and it holds a curious distinction: it is the only number-to-words function built into Excel, in any language. There is no DOLLARTEXT or EUROTEXT — if you need “one thousand two hundred” in English, you’ll need a LAMBDA or VBA.
Syntax
| Argument | Description | |
|---|---|---|
number | Required | The number to convert — a value, a cell reference, or a formula that returns a number. Decimals are rounded to two places (satang); negative numbers are prefixed with the Thai word for “minus”. |
Available in: every version of Excel, in every locale — you don’t need a Thai edition of Office. You may need a font that includes Thai script to see the result, but every modern Windows and Mac system ships one.
BAHTTEXT in action
Three amounts, spelled out. Row 2 is a whole number (note the ถ้วน “exactly” suffix), row 3 mixes baht and satang, and row 4 is satang only:
| A | B | |
|---|---|---|
| 1 | Number | =BAHTTEXT(A2) |
| 2 | 1234 | หนึ่งพันสองร้อยสามสิบสี่บาทถ้วน |
| 3 | 2.50 | สองบาทห้าสิบสตางค์ |
| 4 | 0.75 | เจ็ดสิบห้าสตางค์ |
On a Thai invoice the classic pattern pairs the numeric total with its spelled-out form on the line below:
The result is ordinary text, so it concatenates like any other string:
Try it: interactive BAHTTEXT demo
Pick an amount and see exactly what BAHTTEXT returns in Excel — including the ถ้วน suffix on whole amounts and the satang wording on decimals.
Errors & common pitfalls
Pitfall: expecting an English version. There isn’t one — no SPELLNUMBER, no DOLLARTEXT. BAHTTEXT outputs Thai, full stop. For English words, build a LAMBDA, use the classic SpellNumber VBA routine, or look up the amount in a helper table.
#VALUE! — the argument isn’t numeric. Text that can’t be read as a number fails. If the source cell holds a text-number from an import, convert it first: =BAHTTEXT(VALUE(A2)).
Pitfall: boxes or question marks instead of Thai script. The formula worked — the font didn’t. Switch the cell to a font with Thai coverage (Tahoma, Leelawadee, or any system default) and the text appears.
Pitfall: silent rounding. BAHTTEXT rounds to two decimal places, because satang are hundredths of a baht. =BAHTTEXT(1.005) and =BAHTTEXT(1.01) read identically — round explicitly first if the difference matters in your sheet.
Practice workbook
Frequently asked questions
Is there an English version of BAHTTEXT, like DOLLARTEXT?
Do I need the Thai version of Excel for BAHTTEXT to work?
How does BAHTTEXT handle decimals and negative numbers?
Why does Microsoft include a Thai-only function?
Master functions like this in one day
This page covers one function. Our Excel Formulas and Functions class covers the 30 that matter most — live, hands-on, taught by professionals in Dallas–Fort Worth, Houston, Austin, Oklahoma City, Denver, or online.
See the Formulas & Functions Class