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

Microsoft Office Knowledge Word, Excel, powerpoint, line , โปรแกรมเสริมต่างๆ

Moderators: mindphp, ผู้ดูแลกระดาน

AePongsak
PHP VIP Members
PHP VIP Members
Posts: 4995
Joined: 17/09/2016 10:09 am

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

Post 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 813 times
ขั้นตอนที่ 2: Google Sheets อาจมีฟังก์ชันไม่ครบถ้วน ดังนั้นต้องเข้าไปเพิ่มฟังก์ชั่นบางตัว และจะทำการเพิ่มฟังก์ชัน BAHTTEXT
เพื่อใช้ในการแปรงตัวเลข Tool > Script editor...
7Sheet12.png
7Sheet12.png (100.53 KiB) Viewed 813 times
ขั้นตอนที่ 3: ลบโค้ดเก่าออกทั้งหมด
7Sheet11.png
7Sheet11.png (32.58 KiB) Viewed 813 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;

}
_________________________________________________________________________
7Sheet10.png
7Sheet10.png (53.4 KiB) Viewed 813 times
ขั้นตอนที่ 5: จากนั้นเลือกที่ช่องแล้วใส่ชื่อฟังก์ชั่นที่สร้างเมื่อสักครู่ คือ BAHTTEXT โค้ดที่ใช้ในช่อง =BAHTTEXT(E11)
7Sheet15.png
7Sheet15.png (51.82 KiB) Viewed 813 times
ขั้นตอนที่ 6: จะได้ ราคารวม ที่เป็นตัวอักษร
7Sheet14.png
7Sheet14.png (37.51 KiB) Viewed 813 times
ขั้นตอนที่ 7: เมื่อ ราคารวมเปลี่ยน ตัวอักษรจะเปลี่ยนไปด้วย
7Sheet13.png
7Sheet13.png (61.57 KiB) Viewed 813 times
Last edited by AePongsak on 02/11/2016 7:24 pm, edited 1 time in total.
Image
ξν℮ry story has an end but in life every end is a neω ßeginning.


User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 22577
Joined: 22/09/2008 6:18 pm
Contact:

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

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

ถ้าเป็นแบบ php ลองดูที่บทความนี้
https://www.mindphp.com/developer/23-fu ... B8%97.html
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042

Post Reply

Return to “Microsoft Office Knowledge & line & Etc”

Users browsing this forum: No registered users and 32 guests