สารบัญ
ในบทความนี้ ฉันจะแสดงสองวิธีที่รวดเร็วและไม่เสียค่าใช้จ่ายในการแปลงตัวเลขสกุลเงินเป็นคำภาษาอังกฤษใน Excel 2019, 2016, 2013 และเวอร์ชันอื่นๆ
Microsoft Excel เป็นโปรแกรมที่ยอดเยี่ยม โปรแกรมคำนวณสิ่งนี้และสิ่งนั้น ได้รับการพัฒนาในขั้นต้นเพื่อประมวลผลอาร์เรย์ข้อมูลขนาดใหญ่ อย่างไรก็ตาม ยังช่วยให้สร้างบันทึกทางบัญชี เช่น ใบแจ้งหนี้ การประเมิน หรืองบดุลได้อย่างรวดเร็วและมีประสิทธิภาพ
ในเอกสารการชำระเงินที่แน่นอนมากหรือน้อย จำเป็นต้องทำซ้ำค่าตัวเลขด้วยรูปแบบคำ การปลอมแปลงตัวเลขนั้นยากกว่าการเขียนด้วยมือ นักต้มตุ๋นบางคนพยายามทำให้ได้ 8,000 จาก 3,000 ในขณะที่แทบเป็นไปไม่ได้เลยที่จะแทนที่ "สาม" ด้วย "แปด" อย่างลับๆ
ดังนั้นสิ่งที่คุณต้องมีจึงไม่ใช่แค่การแปลงตัวเลขเป็นคำใน Excel (เช่น 123.45 ถึง "หนึ่งร้อยยี่สิบสามสี่สิบห้า") แต่สะกดเป็นดอลลาร์และเซนต์ (เช่น $29.95 เป็น "ยี่สิบเก้าดอลลาร์และเก้าสิบเก้าเซนต์" ) ปอนด์และเพนนีสำหรับ GBP ยูโรและยูโรเซนต์สำหรับ EUR เป็นต้น
แม้แต่ Excel เวอร์ชันล่าสุดยังไม่มีเครื่องมือในตัวสำหรับการสะกดตัวเลข ไม่ต้องพูดถึงเวอร์ชันก่อนหน้า แต่นั่นคือเมื่อ Excel ดีจริงๆ คุณสามารถปรับปรุงการทำงานของมันได้เสมอโดยใช้สูตรในชุดค่าผสมทั้งหมด
มาโคร VBA หรือส่วนเสริมของบุคคลที่สาม
ด้านล่างคุณจะพบสองวิธีในการแปลงตัวเลขจาก แปลงเป็นคำพูด
และบางทีคุณอาจต้องทำแปลง Words เป็นตัวเลขใน Excel
หมายเหตุ หากคุณกำลังมองหา การแปลงตัวเลขเป็นข้อความ ซึ่งหมายความว่าคุณต้องการให้ Excel เห็นตัวเลขของคุณเป็นข้อความ นั่นเป็นสิ่งที่ต่างออกไปเล็กน้อย สำหรับสิ่งนี้ คุณสามารถใช้ฟังก์ชัน TEXT หรือวิธีอื่นๆ ที่อธิบายไว้ใน วิธีเปลี่ยนตัวเลขเป็นข้อความใน Excel
มาโคร SpellNumber VBA เพื่อแปลงตัวเลขเป็นคำ
ดังที่ฉันได้กล่าวไปแล้ว Microsoft ไม่ต้องการเพิ่มเครื่องมือสำหรับงานนี้ อย่างไรก็ตาม เมื่อพวกเขาเห็นว่าผู้ใช้ต้องการจำนวนเท่าใด พวกเขาจึงสร้างและเผยแพร่แมโคร VBA พิเศษบนเว็บไซต์ของตน แมโครทำในสิ่งที่ชื่อ SpellNumber แนะนำ มาโครอื่นๆ ทั้งหมดที่ฉันพบอิงตามโค้ดของ Microsoft
คุณสามารถค้นหามาโครที่กล่าวถึงเป็น "spellnumber formula" อย่างไรก็ตาม ไม่ใช่สูตร แต่เป็นฟังก์ชันมาโคร หรือเพื่อให้แม่นยำยิ่งขึ้น ฟังก์ชันที่กำหนดโดยผู้ใช้ Excel (UDF)
ตัวเลือกตัวสะกดสามารถเขียนดอลลาร์และเซนต์ได้ หากคุณต้องการสกุลเงินอื่น คุณสามารถเปลี่ยน " ดอลล่าร์ " และ " เซ็นต์ " ด้วยชื่อของคุณ
หากคุณไม่ใช่คนที่เข้าใจ VBA ด้านล่างคุณจะพบสำเนาของรหัส หากคุณยังไม่ต้องการหรือไม่มีเวลาจัดการเรื่องนี้ โปรดใช้วิธีแก้ปัญหานี้
- เปิดสมุดงานที่คุณต้องสะกดตัวเลข
- กด Alt +F11 เพื่อเปิดหน้าต่างตัวแก้ไข Visual Basic
- หากคุณเปิดหนังสือหลายเล่ม ให้ตรวจสอบว่าสมุดงานที่ต้องการทำงานอยู่โดยใช้รายการโครงการที่มุมบนซ้ายของตัวแก้ไข (หนึ่งในองค์ประกอบสมุดงานจะถูกเน้นด้วยสีน้ำเงิน)
- ในเมนูตัวแก้ไข ให้ไปที่ แทรก -> โมดูล .
- คุณควรเห็นหน้าต่างชื่อ YourBook - Module1 เลือกโค้ดทั้งหมดในกรอบด้านล่างแล้ววางลงในหน้าต่างนี้
ตัวเลือกที่ชัดเจน ' ฟังก์ชันหลัก ฟังก์ชัน SpellNumber ( ByVal MyNumber) Dim Dollars, Cents, Temp Dim DecimalPlace, Count ReDim Place(9) As String Place(2) = " Thousand " Place(3) = " Million " Place(4) = " พันล้าน " Place(5) = " ล้านล้าน " MyNumber = Trim(Str(MyNumber)) DecimalPlace = InStr(MyNumber, "." ) ถ้า DecimalPlace > 0 จากนั้น Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _ "00", 2)) MyNumber = Trim(Left(MyNumber, DecimalPlace - 1)) End If Count = 1 Do while MyNumber "" Temp = GetHundreds(ขวา(MyNumber, 3)) ถ้า Temp "" แล้วก็ Dollars = Temp & สถานที่(นับ) & ดอลลาร์ ถ้า Len (MyNumber) > 3 จากนั้น MyNumber = ซ้าย (MyNumber, Len (MyNumber) - 3) อื่น MyNumber = "" End If Count = Count + 1 Loop Select Case Dollars Case "" Dollars = "No Dollars" Case "One" Dollars = "One Dollar" Case Else Dollars = ดอลลาร์ & amp; " Dollars" End Select Select Case Cents Case "" Cents = " and No Cents" Case "One" Cents = " and One Cent" Case Else Cents = " และ " & เซ็นต์ & " เซ็นต์" สิ้นสุดการเลือก SpellNumber = ดอลลาร์ & amp; เซ็นต์ สิ้นสุดฟังก์ชัน ฟังก์ชัน GetHundreds(ByVal MyNumber) Dim ผลลัพธ์เป็นสตริง ถ้า Val(MyNumber) = 0 จากนั้นออกจากฟังก์ชัน MyNumber = Right( "000" & MyNumber, 3) ' แปลงหลักร้อย ถ้า Mid(MyNumber, 1, 1) "0" ผลลัพธ์ = GetDigit(Mid(MyNumber, 1, 1)) & " ร้อย " จบ ถ้า ' แปลงหลักสิบและหลักหน่วย ถ้า Mid(MyNumber, 2, 1) "0" ผลลัพธ์ = ผลลัพธ์ & GetTens(กลาง(MyNumber, 2)) ผลลัพธ์อื่น = ผลลัพธ์ & GetDigit(Mid(MyNumber, 3)) End ถ้า GetHundreds = ผลลัพธ์ สิ้นสุดฟังก์ชัน ฟังก์ชัน GetTens(TensText) Dim ผลลัพธ์เป็นสตริง ผลลัพธ์ = "" ' ลบค่าฟังก์ชันชั่วคราว ถ้า Val(Left(TensText, 1)) = 1 แล้วก็ ' ถ้าค่าระหว่าง 10-19... เลือก Case Val(TensText) Case 10: Results = "Ten" Case 11: Results = "Eleven" Case 12: Results = "Twelve " กรณีที่ 13: ผลลัพธ์ = "สิบสาม" กรณีที่ 14: ผลลัพธ์ = "สิบสี่" กรณีที่ 15: ผลลัพธ์ = "สิบห้า" กรณีที่ 16: ผลลัพธ์ = "สิบหก" กรณีที่ 17: ผลลัพธ์ = "สิบเจ็ด" กรณีที่ 18: ผลลัพธ์ = "สิบแปด" กรณี 19: Results = "Nineteen" Case Else End Select Else ' ถ้าค่าระหว่าง 20-99... เลือก Case Val(ซ้าย(TensText, 1)) Case 2: ผลลัพธ์ = "Twenty " Case 3: Results = "Thirty" Case 4: ผลลัพธ์ = "สี่สิบ" กรณีที่ 5: ผลลัพธ์ = "ห้าสิบ" กรณีที่ 6: ผลลัพธ์ = "หกสิบ" กรณีที่ 7: ผลลัพธ์ = "เจ็ดสิบ" กรณีที่ 8: ผลลัพธ์ = "แปดสิบ" กรณีที่ 9: ผลลัพธ์ = "เก้าสิบ" กรณีอื่น จบการเลือกผลลัพธ์ = ผลลัพธ์ & GetDigit _ (Right(TensText, 1)) ' ดึงหลักหน่วย สิ้นสุดถ้า GetTens = ผลลัพธ์ สิ้นสุดฟังก์ชัน ฟังก์ชัน GetDigit(ตัวเลข) เลือกตัวพิมพ์Val(Digit) กรณีที่ 1: GetDigit = "หนึ่ง" กรณีที่ 2: GetDigit = "สอง" กรณีที่ 3: GetDigit = "สาม" กรณีที่ 4: GetDigit = "สี่" กรณีที่ 5: GetDigit = "ห้า" กรณีที่ 6: GetDigit = " Six" Case 7: GetDigit = "Seven" Case 8: GetDigit = "Eight" Case 9: GetDigit = "Nine" Case Else : GetDigit = "" End เลือก End Function
- กด Ctrl+S เพื่อบันทึกสมุดงานที่อัปเดต
คุณจะต้องบันทึกสมุดงานของคุณอีกครั้ง เมื่อคุณพยายามบันทึกสมุดงานด้วยมาโคร คุณจะได้รับข้อความ " ไม่สามารถบันทึกคุณลักษณะต่อไปนี้ในสมุดงานที่ไม่มีมาโครได้ "
คลิก ไม่ใช่ เมื่อคุณเห็น กล่องโต้ตอบใหม่ ให้เลือกตัวเลือกบันทึกเป็น ในฟิลด์ " บันทึกเป็นประเภท " เลือกตัวเลือก " สมุดงานที่เปิดใช้งานแมโคร Excel "
ใช้แมโคร SpellNumber ใน แผ่นงานของคุณ
ตอนนี้ คุณสามารถใช้ฟังก์ชัน SpellNumber ในเอกสาร Excel ของคุณได้ ป้อน =SpellNumber(A2)
ลงในเซลล์ที่คุณต้องการรับตัวเลขที่เขียนเป็นคำ ที่นี่ A2 คือที่อยู่ของเซลล์ที่มีตัวเลขหรือจำนวน
คุณสามารถดูผลลัพธ์ได้ที่นี่:
Voila!
คัดลอกฟังก์ชัน SpellNumber ไปยังเซลล์อื่นอย่างรวดเร็ว
หากคุณ จำเป็นต้องแปลงทั้งตาราง ไม่ใช่แค่ 1 เซลล์ วางเคอร์เซอร์ของเมาส์ไปที่มุมล่างขวาของเซลล์พร้อมกับสูตรจนกว่าจะกลายเป็นกากบาทสีดำเล็กๆ:
คลิกซ้ายแล้วลากผ่าน คอลัมน์เพื่อกรอกสูตร ปล่อยปุ่มเพื่อดูผลลัพธ์:
หมายเหตุ โปรดโปรดทราบว่าหากคุณใช้ SpellNumber กับลิงก์ไปยังเซลล์อื่น ผลรวมที่เป็นลายลักษณ์อักษรจะได้รับการอัปเดตทุกครั้งที่มีการเปลี่ยนแปลงตัวเลขในเซลล์ต้นทาง
คุณยังสามารถป้อนตัวเลขลงในฟังก์ชันได้โดยตรง สำหรับ ตัวอย่างเช่น =SpellNumber(29.95)
(29.95 - ไม่มีเครื่องหมายอัญประกาศและเครื่องหมายดอลลาร์)
ข้อเสียของการใช้มาโครเพื่อสะกดตัวเลขใน Excel
ก่อนอื่น คุณต้องรู้ VBA เพื่อแก้ไขโค้ดตามของคุณ ความต้องการ จำเป็นต้องวางรหัสสำหรับสมุดงานแต่ละเล่มที่คุณวางแผนจะเปลี่ยนแปลง มิฉะนั้น คุณจะต้องสร้างไฟล์เทมเพลตที่มีมาโครและกำหนดค่าให้ Excel โหลดไฟล์นี้เมื่อเริ่มต้นแต่ละครั้ง
ข้อเสียเปรียบหลักของการใช้มาโครคือ ถ้าคุณส่งสมุดงานให้คนอื่น บุคคลนี้จะไม่ ดูข้อความเว้นแต่ว่าแมโครจะถูกสร้างขึ้นในสมุดงาน และแม้ว่าจะมีอยู่แล้วภายใน พวกเขาจะได้รับการแจ้งเตือนว่ามีแมโครในสมุดงาน
สะกดตัวเลขเป็นคำโดยใช้ Add-in พิเศษ
สำหรับผู้ใช้ Excel ที่ต้องการสะกดผลรวมอย่างรวดเร็วแต่ไม่มีเวลาเรียนรู้ VBA หรือหาวิธีแก้ไข เราได้สร้างเครื่องมือพิเศษขึ้นมา ที่สามารถทำการแปลงจำนวนเป็นคำอย่างรวดเร็วสำหรับสกุลเงินยอดนิยมสองสามสกุล โปรดปฏิบัติตาม Add-in ของ Spell Number ที่รวมอยู่ใน Ultimate Suite for Excel รุ่นล่าสุดของเรา
นอกจากจะพร้อมใช้งานแล้ว เครื่องมือนี้ยังมีความยืดหยุ่นอย่างมากในการแปลงจำนวนเงินเป็นข้อความ:
- คุณสามารถเลือกหนึ่งในสกุลเงินต่อไปนี้: USD, EUR, GBP, BIT, AUD
- สะกดเศษส่วนเป็นเซ็นต์ เพนนี หรือบิตเซนต์
- เลือกตัวพิมพ์สำหรับผลลัพธ์: ตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่ , Title Case หรือ Sentence case
- สะกดส่วนทศนิยมด้วยวิธีต่างๆ
- รวมหรือเว้นศูนย์เซ็นต์
ส่วนเสริมรองรับสมัยใหม่ทั้งหมด เวอร์ชันต่างๆ ได้แก่ Excel 365, Excel 2029, Excel 2016, Excel 2013 และ Excel 2010 โปรดสำรวจความสามารถอื่นๆ ในหน้าแรกของผลิตภัณฑ์ที่ลิงก์ด้านบน
และตอนนี้ มาดูการทำงานของยูทิลิตีการสะกดตัวเลขนี้ :
- เลือกเซลล์ว่างสำหรับผลลัพธ์
- บนแท็บ Ablebits ในกลุ่ม ยูทิลิตี้ คลิก Spell Number .
- ในหน้าต่างโต้ตอบ Spill Number ที่ปรากฏขึ้น ให้กำหนดค่าต่อไปนี้:
- สำหรับช่อง Select your number ให้เลือกเซลล์ที่มีจำนวนที่คุณต้องการให้เขียนเป็นข้อความ
- ระบุ ปัจจุบัน , ตัวพิมพ์ใหญ่และเล็ก และวิธี ทศนิยม ส่วน ของตัวเลขควรสะกด
- กำหนดว่าจะใส่ศูนย์เซ็นต์หรือไม่
- เลือกว่าจะใส่ผลลัพธ์เป็นค่าหรือสูตร
- ที่ด้านล่างของหน้าต่างโต้ตอบ แสดงตัวอย่าง ผลลัพธ์ หากคุณพอใจกับวิธีเขียนหมายเลขของคุณ ให้คลิก สะกด มิฉะนั้น ลองตั้งค่าอื่น
ภาพหน้าจอด้านล่างแสดงค่าเริ่มต้นตัวเลือกและหมายเลขที่สะกดใน B2 โปรดสังเกตสูตร (ที่แม่นยำยิ่งขึ้นคือฟังก์ชันที่ผู้ใช้กำหนด) ในแถบสูตร:
และนี่คือการสาธิตอย่างรวดเร็วของวิธีการสะกดสกุลเงินอื่นๆ:
เคล็ดลับและหมายเหตุ:
- เนื่องจากส่วนเสริม Spell Number ได้รับการออกแบบมาเพื่อจัดการกับกรณีการใช้งานในชีวิตจริง เช่น ใบแจ้งหนี้และเอกสารทางการเงินอื่นๆ จึงแปลงได้เพียง ตัวเลขเดียว ทีละรายการ
- ในการสะกด คอลัมน์ของตัวเลข ให้ใส่สูตรในเซลล์แรก แล้วคัดลอกสูตรลงไป
- หากมีโอกาส แหล่งข้อมูลของคุณอาจเปลี่ยนแปลงได้ในอนาคต วิธีที่ดีที่สุดคือ แทรกผลลัพธ์เป็นสูตร เพื่อให้ข้อมูลอัปเดตโดยอัตโนมัติเมื่อตัวเลขเดิมเปลี่ยนแปลง
- เมื่อเลือก ผลลัพธ์เป็นสูตร ตัวเลือก ฟังก์ชันที่ผู้ใช้กำหนดเอง (UDF) แบบกำหนดเองจะถูกแทรก หากคุณวางแผนที่จะแบ่งปันสมุดงานของคุณกับคนที่ไม่ได้ติดตั้ง Ultimate Suite อย่าลืมแทนที่สูตรด้วยค่าก่อนแบ่งปัน
แปลงกลับ - คำภาษาอังกฤษเป็นตัวเลข
ตรงไปตรงมา ฉันไม่สามารถจินตนาการได้ว่าทำไมคุณอาจต้องการมัน ในกรณีที่… :)
ดูเหมือนว่า Excel MVP, Jerry Latham ได้สร้างฟังก์ชันที่กำหนดโดยผู้ใช้ของ Excel (UDF) เป็น WordsToDigits โดยจะแปลงคำศัพท์ภาษาอังกฤษกลับเป็นตัวเลข
คุณสามารถดาวน์โหลดสมุดงาน WordsToDigits ของ Jerry เพื่อดูรหัส UDF นอกจากนี้ คุณจะพบตัวอย่างวิธีใช้ theการทำงาน.
คุณสามารถดูวิธีการทำงานของฟังก์ชันได้ในชีต " รายการตัวอย่าง " ซึ่งคุณจะสามารถป้อนตัวอย่างของคุณเองได้ด้วย หากคุณวางแผนที่จะใช้ WordsToDigits ในเอกสารของคุณ โปรดทราบว่าฟังก์ชันนี้มีข้อจำกัด ตัวอย่างเช่น ไม่รู้จักเศษส่วนที่ป้อนในคำ คุณจะพบรายละเอียดทั้งหมดได้ในเอกสาร " ข้อมูล "