Function Bahttext in Google Sheet

เลือกสร้าง Script Editor ใน Google Sheet ที่ต้องการ แล้วพิมพ์ Code ตามนี้เลย

function BAHTTEXT(number) {

if (isNaN(number)) return "#VALUE!";

var absNum = +(Math.round(Math.abs(number) + "e+2") + "e-2");

if (absNum > 9999999999999.99) return "#NUM!";

if (!absNum) return "ศูนย์บาทถ้วน";

var numArray = absNum.toFixed(2).split(".");

var bahtText = (numArray[0] == "0") ? "" : NUMBERTEXT(numArray[0]) + "บาท";

bahtText += (numArray[1] == "00") ? "ถ้วน" : NUMBERTEXT(numArray[1]) + "สตางค์";

function NUMBERTEXT(myInt) {

var digitArray = ["ศูนย์","หนึ่ง","สอง","สาม","สี่","ห้า","หก","เจ็ด","แปด","เก้า","สิบ"];

var placeValueArray = ["","สิบ","ร้อย","พัน","หมื่น","แสน"];

var numberText = "";

myInt = String(+myInt);

for (var i = 1; i <= myInt.length; i++) {

var digit = myInt.charAt(i - 1);

var place = (myInt.length - i) % 6;

if (digit != 0) numberText += (digit == 1 && place == 0 && i != 1) ? "เอ็ด" :

digitArray[digit] + placeValueArray[place];

if (place == 0 && i != myInt.length) numberText += "ล้าน";

}

return numberText.replace(/หนึ่งสิบ/g,"สิบ").replace(/สองสิบ/g,"ยี่สิบ");

}

return (number < 0) ? "ลบ" + bahtText : bahtText;

}

เวลาเรียกใช้งานก็ง่ายๆ พิมพ์ = BAHTTEXT(number)

*** number คือ ตัวเลขที่จะให้เป็นตัวอักษร