แปลงตัวเลขเงินให้เป็นคำอ่านภาษาไทยด้วย Google Sheets(กูเกิ้ล ชีท)

Post a reply

Smilies
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: แปลงตัวเลขเงินให้เป็นคำอ่านภาษาไทยด้วย Google Sheets(กูเกิ้ล ชีท)

Re: แปลงตัวเลขเงินให้เป็นคำอ่านภาษาไทยด้วย Google Sheets(กูเกิ้ล ชีท)

by mindphp » 29/06/2019 1:09 pm

ถ้าเป็นแบบ php ลองดูที่บทความนี้
https://www.mindphp.com/developer/23-fu ... B8%97.html

Re: แปลงตัวเลขเงินให้เป็นคำอ่านภาษาไทยด้วย Google Sheets(กูเกิ้ล ชีท)

by M029 » 02/11/2016 5:46 pm

:icon_plusone:

ใช้ได้แล้ว ขอบคุณคับ

แปลงตัวเลขเงินให้เป็นคำอ่านภาษาไทยด้วย Google Sheets(กูเกิ้ล ชีท)

by AePongsak » 02/11/2016 2:57 pm


Google Sheets
(กูเกิ้ล ชีท)เป็นซอฟร์แวร์จัดการเกี่ยวกับเอกสาร สามารถทำงานได้เหมือนกับ Microsoft Excel (ไมโครซอร์ฟ เอ็กเซล)จะแตกต่างกัน สำหรับ Google sheets (กูเกิ้ล ชีท)จะทำงานบนเว็บเบราว์เซอร์โดยใช้อินเตอร์เน็ตในการ save งานเมื่อมีการเปลี่ยนเปลงเอกสาร
การเปลี่ยนตัวเลข ให้เป็นคำอ่านสามารถทำได้และเหมาะกับการนำไปประยุกค์ใช้กับเอกสารงาที่เกี่ยวข้อง เช่นการทำใบเสร็จสินค้า รายรับรายจ่าย ใบกำกับภาษี เป็นต้น

สามารถศึกษาการใช้ Google Apps for Work ที่ บทเรียน สอนใช้ Google Apps for Work

ขั้นตอนที่ 1: จะเปลี่ยนจากจำนวนเงินตัวเลขรวม ด้านบนให็เป็นคำอ่านภาษาไทย
7Sheet9.png
7Sheet9.png (45.5 KiB) Viewed 1033 times
ขั้นตอนที่ 2: Google Sheets อาจมีฟังก์ชันไม่ครบถ้วน ดังนั้นต้องเข้าไปเพิ่มฟังก์ชั่นบางตัว และจะทำการเพิ่มฟังก์ชัน BAHTTEXT
เพื่อใช้ในการแปรงตัวเลข Tool > Script editor...
7Sheet10.png
7Sheet10.png (53.4 KiB) Viewed 1033 times
ขั้นตอนที่ 3: ลบโค้ดเก่าออกทั้งหมด
7Sheet11.png
7Sheet11.png (32.58 KiB) Viewed 1033 times
ขั้นตอนที่ 4: โค้ดที่ใช้ในการเพิ่ม ฟังก์ชัน ใส่แล้วกด Save

Code BAHTTEXT
_________________________________________________________________________

Code: Select all

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;

}
_________________________________________________________________________
7Sheet12.png
7Sheet12.png (100.53 KiB) Viewed 1033 times
ขั้นตอนที่ 5: จากนั้นเลือกที่ช่องแล้วใส่ชื่อฟังก์ชั่นที่สร้างเมื่อสักครู่ คือ BAHTTEXT โค้ดที่ใช้ในช่อง =BAHTTEXT(E11)
7Sheet13.png
7Sheet13.png (61.57 KiB) Viewed 1033 times
ขั้นตอนที่ 6: จะได้ ราคารวม ที่เป็นตัวอักษร
7Sheet14.png
7Sheet14.png (37.51 KiB) Viewed 1033 times
ขั้นตอนที่ 7: เมื่อ ราคารวมเปลี่ยน ตัวอักษรจะเปลี่ยนไปด้วย
7Sheet15.png
7Sheet15.png (51.82 KiB) Viewed 1033 times

Top