ไปยังเนื้อหาหลัก

วิธีแปลงตัวเลขเป็นคำภาษาอังกฤษใน Excel อย่างรวดเร็ว?

ผู้เขียน: Xiaoyang แก้ไขล่าสุด: 2024-12-18

การแปลงตัวเลขเป็นคำใน Excel มีประโยชน์สำหรับการเตรียมรายงานทางการเงิน เอกสารทางกฎหมาย หรือการตรวจสอบในส่วนที่คุณต้องสะกดจำนวนเงิน แม้ว่า Excel จะไม่มีฟังก์ชันในตัวสำหรับแปลงตัวเลขเป็นคำโดยตรง แต่ก็มีหลายวิธีที่คุณสามารถใช้เพื่อบรรลุสิ่งนี้ ตั้งแต่การใช้แมโคร Visual Basic for Applications (VBA) ไปจนถึง Add-in ของบริษัทอื่นและทางออนไลน์ เครื่องมือ ด้านล่างนี้ เราจะสำรวจวิธีการเหล่านี้บางส่วนเพื่อช่วยคุณค้นหาโซลูชันที่ดีที่สุดสำหรับความต้องการของคุณ


แปลงตัวเลขเป็นคำสกุลเงินด้วย User Defined Function

หากคุณต้องการแปลงตัวเลขเป็นคำสกุลเงินภาษาอังกฤษคุณควรใช้รหัส VBA ด้านล่าง

1. ค้างไว้ ALT + F11 และจะเปิดไฟล์ หน้าต่าง Microsoft Visual Basic สำหรับแอปพลิเคชัน.

2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ในไฟล์ หน้าต่างโมดูล.

Function SpellNumberToEnglish(ByVal pNumber)
'Update by Extendoffice
Dim Dollars, Cents
arr = Array("", "", " Thousand ", " Million ", " Billion ", " Trillion ")
pNumber = Trim(Str(pNumber))
xDecimal = InStr(pNumber, ".")
If xDecimal > 0 Then
    Cents = GetTens(Left(Mid(pNumber, xDecimal + 1) & "00", 2))
    pNumber = Trim(Left(pNumber, xDecimal - 1))
End If
xIndex = 1
Do While pNumber <> ""
    xHundred = ""
    xValue = Right(pNumber, 3)
    If Val(xValue) <> 0 Then
        xValue = Right("000" & xValue, 3)
        If Mid(xValue, 1, 1) <> "0" Then
            xHundred = GetDigit(Mid(xValue, 1, 1)) & " Hundred "
        End If
        If Mid(xValue, 2, 1) <> "0" Then
            xHundred = xHundred & GetTens(Mid(xValue, 2))
        Else
            xHundred = xHundred & GetDigit(Mid(xValue, 3))
        End If
    End If
    If xHundred <> "" Then
        Dollars = xHundred & arr(xIndex) & Dollars
    End If
    If Len(pNumber) > 3 Then
        pNumber = Left(pNumber, Len(pNumber) - 3)
    Else
        pNumber = ""
    End If
    xIndex = xIndex + 1
Loop
Select Case Dollars
    Case ""
        Dollars = "No Dollars"
    Case "One"
        Dollars = "One Dollar"
    Case Else
        Dollars = Dollars & " Dollars"
End Select
Select Case Cents
    Case ""
        Cents = " and No Cents"
    Case "One"
        Cents = " and One Cent"
    Case Else
        Cents = " and " & Cents & " Cents"
End Select
SpellNumberToEnglish = Dollars & Cents
End Function
Function GetTens(pTens)
Dim Result As String
Result = ""
If Val(Left(pTens, 1)) = 1 Then
    Select Case Val(pTens)
        Case 10: Result = "Ten"
        Case 11: Result = "Eleven"
        Case 12: Result = "Twelve"
        Case 13: Result = "Thirteen"
        Case 14: Result = "Fourteen"
        Case 15: Result = "Fifteen"
        Case 16: Result = "Sixteen"
        Case 17: Result = "Seventeen"
        Case 18: Result = "Eighteen"
        Case 19: Result = "Nineteen"
        Case Else
    End Select
Else
Select Case Val(Left(pTens, 1))
    Case 2: Result = "Twenty "
    Case 3: Result = "Thirty "
    Case 4: Result = "Forty "
    Case 5: Result = "Fifty "
    Case 6: Result = "Sixty "
    Case 7: Result = "Seventy "
    Case 8: Result = "Eighty "
    Case 9: Result = "Ninety "
    Case Else
End Select
Result = Result & GetDigit(Right(pTens, 1))
End If
GetTens = Result
End Function
Function GetDigit(pDigit)
Select Case Val(pDigit)
    Case 1: GetDigit = "One"
    Case 2: GetDigit = "Two"
    Case 3: GetDigit = "Three"
    Case 4: GetDigit = "Four"
    Case 5: GetDigit = "Five"
    Case 6: GetDigit = "Six"
    Case 7: GetDigit = "Seven"
    Case 8: GetDigit = "Eight"
    Case 9: GetDigit = "Nine"
    Case Else: GetDigit = ""
End Select
End Function

3. บันทึกรหัสนี้และกลับไปที่แผ่นงานในเซลล์ว่างให้ป้อนสูตรนี้ = SpellNumberToEnglish (A2) (A2 คือเซลล์ที่คุณต้องการแปลงตัวเลขเป็นคำสกุลเงินภาษาอังกฤษ) จากนั้นลากที่จับเติมลงไปที่เซลล์ที่คุณต้องการใช้สูตรนี้ตัวเลขทั้งหมดถูกสะกดเป็นคำสกุลเงินภาษาอังกฤษดูภาพหน้าจอ:

ภาพหน้าจอของสเปรดชีตที่แสดงตัวเลขที่แปลงเป็นคำสกุลเงินภาษาอังกฤษโดยใช้ VBA ใน Excel


แปลงตัวเลขเป็นคำสกุลเงินด้วยคุณสมบัติที่มีประโยชน์

สะกดตัวเลขเป็นคำได้อย่างง่ายดายด้วย Kutools for Excel! ไม่ว่าคุณจะต้องการสำนวนสกุลเงินภาษาอังกฤษหรือตัวเลขเยอรมัน Kutools' ตัวเลขเป็นคำ คุณสมบัติรองรับมากกว่า 40 ภาษา ปรับปรุงขั้นตอนการทำงานของคุณ ทำให้รายงานทางการเงิน เอกสารทางกฎหมาย และอื่นๆ ของคุณง่ายขึ้นโดยการแปลงค่าตัวเลขให้เป็นคำที่เขียนแม่นยำด้วยการคลิกเพียงไม่กี่ครั้ง ค้นพบว่า Kutools for Excel ช่วยให้การประมวลผลข้อมูลของคุณเร็วขึ้นและแม่นยำยิ่งขึ้นได้อย่างไร ลองวันนี้และสัมผัสกับพลังแห่งประสิทธิภาพ!

Kutools สำหรับ Excel นำเสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อปรับปรุงงานที่ซับซ้อน เพิ่มความคิดสร้างสรรค์และประสิทธิภาพ เสริมด้วยความสามารถด้าน AI, Kutools ทำงานอัตโนมัติด้วยความแม่นยำ ทำให้การจัดการข้อมูลเป็นเรื่องง่าย ข้อมูลโดยละเอียดของ Kutools for Excel...         ทดลองฟรี...

หลังจากการติดตั้ง Kutools สำหรับ Excelโปรดทำตามนี้:

1. เลือกรายการตัวเลขที่คุณต้องการแปลงจากนั้นคลิก Kutools > คอนเทนต์ > ตัวเลขเป็นคำดูภาพหน้าจอ:

ภาพหน้าจอของเมนู Kutools ที่แสดงตัวเลือกตัวเลขเป็นคำใน Excel

2. ใน ตัวเลขเป็นคำสกุลเงิน กล่องโต้ตอบ เลือกภาษาที่คุณต้องการใช้ ที่นี่ฉันจะเลือก ภาษาอังกฤษ ตัวเลือกจาก ภาษา กล่องรายการดูภาพหน้าจอ:

ภาพหน้าจอของกล่องโต้ตอบตัวเลขเป็นคำศัพท์สกุลเงิน

3. จากนั้นคลิก OK คุณจะเห็นตัวเลขทั้งหมดที่สะกดเป็นคำสกุลเงินภาษาอังกฤษ:

ภาพหน้าจอของแผ่นงาน Excel ที่แสดงตัวเลขที่แปลงเป็นคำสกุลเงินภาษาอังกฤษโดยใช้ Kutools

เคล็ดลับ: หากต้องการได้เฉพาะคำภาษาอังกฤษ ไม่ใช่คำสกุลเงิน โปรดตรวจสอบ ไม่ได้แปลงเป็นสกุลเงิน กล่องกาเครื่องหมายจาก Options ส่วนดูภาพหน้าจอ:

ภาพหน้าจอของกล่องโต้ตอบ Kutools ที่แสดงตัวเลือก ไม่ได้แปลงเป็นสกุลเงิน

Kutools สำหรับ Excel - เพิ่มประสิทธิภาพ Excel ด้วยเครื่องมือที่จำเป็นกว่า 300 รายการ เพลิดเพลินกับฟีเจอร์ AI ฟรีถาวร! Get It Now


แปลงตัวเลขเป็นคำภาษาอังกฤษด้วย User Defined Function

ไม่มีฟีเจอร์หรือสูตรใดที่ช่วยให้คุณแก้ไขงานนี้ได้โดยตรงใน Excel แต่คุณสามารถสร้างฟังก์ชันที่กำหนดโดยผู้ใช้เพื่อดำเนินการให้เสร็จสิ้นได้ โปรดทำตามขั้นตอนต่อไปนี้:

1. ค้างไว้ ALT + F11 และจะเปิดไฟล์ หน้าต่าง Microsoft Visual Basic สำหรับแอปพลิเคชัน.

2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ในไฟล์ หน้าต่างโมดูล.

Function NumberstoWords(ByVal MyNumber)
'Update by Extendoffice
Dim xStr As String
Dim xFNum As Integer
Dim xStrPoint
Dim xStrNumber
Dim xPoint As String
Dim xNumber As String
Dim xP() As Variant
Dim xDP
Dim xCnt As Integer
Dim xResult, xT As String
Dim xLen As Integer
On Error Resume Next
xP = Array("", "Thousand ", "Million ", "Billion ", "Trillion ", " ", " ", " ", " ")
xNumber = Trim(Str(MyNumber))
xDP = InStr(xNumber, ".")
xPoint = ""
xStrNumber = ""
If xDP > 0 Then
xPoint = " point "
xStr = Mid(xNumber, xDP + 1)
xStrPoint = Left(xStr, Len(xNumber) - xDP)
For xFNum = 1 To Len(xStrPoint)
xStr = Mid(xStrPoint, xFNum, 1)
xPoint = xPoint & GetDigits(xStr) & " "
Next xFNum
xNumber = Trim(Left(xNumber, xDP - 1))
End If
xCnt = 0
xResult = ""
xT = ""
xLen = 0
xLen = Int(Len(Str(xNumber)) / 3)
If (Len(Str(xNumber)) Mod 3) = 0 Then xLen = xLen - 1
Do While xNumber <> ""
If xLen = xCnt Then
xT = GetHundredsDigits(Right(xNumber, 3), False)
Else
If xCnt = 0 Then
xT = GetHundredsDigits(Right(xNumber, 3), True)
Else
xT = GetHundredsDigits(Right(xNumber, 3), False)
End If
End If
If xT <> "" Then
xResult = xT & xP(xCnt) & xResult
End If
If Len(xNumber) > 3 Then
xNumber = Left(xNumber, Len(xNumber) - 3)
Else
xNumber = ""
End If
xCnt = xCnt + 1
Loop
xResult = xResult & xPoint
NumberstoWords = xResult
End Function
Function GetHundredsDigits(xHDgt, xB As Boolean)
Dim xRStr As String
Dim xStrNum As String
Dim xStr As String
Dim xI As Integer
Dim xBB As Boolean
xStrNum = xHDgt
xRStr = ""
On Error Resume Next
xBB = True
If Val(xStrNum) = 0 Then Exit Function
xStrNum = Right("000" & xStrNum, 3)
xStr = Mid(xStrNum, 1, 1)
If xStr <> "0" Then
xRStr = GetDigits(Mid(xStrNum, 1, 1)) & "Hundred "
Else
If xB Then
xRStr = "and "
xBB = False
Else
xRStr = " "
xBB = False
End If
End If
If Mid(xStrNum, 2, 2) <> "00" Then
xRStr = xRStr & GetTenDigits(Mid(xStrNum, 2, 2), xBB)
End If
GetHundredsDigits = xRStr
End Function
Function GetTenDigits(xTDgt, xB As Boolean)
Dim xStr As String
Dim xI As Integer
Dim xArr_1() As Variant
Dim xArr_2() As Variant
Dim xT As Boolean
xArr_1 = Array("Ten ", "Eleven ", "Twelve ", "Thirteen ", "Fourteen ", "Fifteen ", "Sixteen ", "Seventeen ", "Eighteen ", "Nineteen ")
xArr_2 = Array("", "", "Twenty ", "Thirty ", "Forty ", "Fifty ", "Sixty ", "Seventy ", "Eighty ", "Ninety ")
xStr = ""
xT = True
On Error Resume Next
If Val(Left(xTDgt, 1)) = 1 Then
xI = Val(Right(xTDgt, 1))
If xB Then xStr = "and "
xStr = xStr & xArr_1(xI)
Else
xI = Val(Left(xTDgt, 1))
If Val(Left(xTDgt, 1)) > 1 Then
If xB Then xStr = "and "
xStr = xStr & xArr_2(Val(Left(xTDgt, 1)))
xT = False
End If
If xStr = "" Then
If xB Then
xStr = "and "
End If
End If
If Right(xTDgt, 1) <> "0" Then
xStr = xStr & GetDigits(Right(xTDgt, 1))
End If
End If
GetTenDigits = xStr
End Function
Function GetDigits(xDgt)
Dim xStr As String
Dim xArr_1() As Variant
xArr_1 = Array("Zero ", "One ", "Two ", "Three ", "Four ", "Five ", "Six ", "Seven ", "Eight ", "Nine ")
xStr = ""
On Error Resume Next
xStr = xArr_1(Val(xDgt))
GetDigits = xStr
End Function

3. บันทึกและปิดรหัสนี้และกลับไปที่แผ่นงานในเซลล์ว่างให้ป้อนสูตรนี้ = NumberstoWords (A2)( A2 คือเซลล์ที่คุณต้องการแปลงตัวเลขเป็นคำภาษาอังกฤษ) ดูภาพหน้าจอ:

ภาพหน้าจอของสเปรดชีตที่แสดงการใช้งานฟังก์ชันที่ผู้ใช้กำหนด NumberstoWords

4. จากนั้นกด เข้าสู่ และเลือกเซลล์ C2 จากนั้นลากจุดจับเติมไปยังช่วงที่คุณต้องการให้มีสูตรนี้ ค่าตัวเลขทั้งหมดได้รับการแปลงคำภาษาอังกฤษที่เกี่ยวข้องแล้ว

ภาพหน้าจอของเวิร์กชีต Excel ที่แสดงตัวเลขที่แปลงเป็นคำภาษาอังกฤษโดยใช้ฟังก์ชัน NumberstoWords

หมายเหตุ: รหัสนี้ใช้ได้เฉพาะกับตัวเลขจำนวนเต็ม แต่ใช้กับเลขฐานสิบไม่ได้

การเลือกวิธีการที่เหมาะสมนั้นขึ้นอยู่กับความชอบและความถี่ที่คุณต้องการแปลงตัวเลขเป็นคำใน Excel VBA นำเสนอความยืดหยุ่นและการบูรณาการสูงสุดภายใน Excel ในขณะที่โปรแกรมเสริมสามารถให้โซลูชันที่ง่ายกว่าได้ การทำตามวิธีการเหล่านี้จะช่วยให้คุณแปลงตัวเลขเป็นคำในเวิร์กชีต Excel ได้อย่างมีประสิทธิภาพ หากคุณสนใจที่จะสำรวจเคล็ดลับและเทคนิคเพิ่มเติมเกี่ยวกับ Excel เว็บไซต์ของเรามีบทช่วยสอนนับพันบท กรุณาคลิกที่นี่เพื่อเข้าถึงพวกเขา

สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน

🤖 Kutools AI ผู้ช่วย: ปฏิวัติการวิเคราะห์ข้อมูลโดยยึดตาม: การดำเนินการที่ชาญฉลาด   |  สร้างรหัส  |  สร้างสูตรที่กำหนดเอง  |  วิเคราะห์ข้อมูลและสร้างแผนภูมิ  |  เรียกใช้ฟังก์ชัน Kutools...
คุณสมบัติยอดนิยม: ค้นหา เน้น หรือระบุรายการที่ซ้ำกัน   |  ลบแถวว่าง   |  รวมคอลัมน์หรือเซลล์โดยไม่สูญเสียข้อมูล   |   รอบโดยไม่มีสูตร ...
การค้นหาขั้นสูง: VLookup หลายเกณฑ์    VLookup หลายค่า  |   VLookup ข้ามหลายแผ่น   |   การค้นหาที่ไม่ชัดเจน ....
รายการแบบเลื่อนลงขั้นสูง: สร้างรายการแบบหล่นลงอย่างรวดเร็ว   |  รายการแบบหล่นลงขึ้นอยู่กับ   |  เลือกหลายรายการแบบหล่นลง ....
ผู้จัดการคอลัมน์: เพิ่มจำนวนคอลัมน์เฉพาะ  |  ย้ายคอลัมน์  |  สลับสถานะการมองเห็นของคอลัมน์ที่ซ่อนอยู่  |  เปรียบเทียบช่วงและคอลัมน์ ...
คุณสมบัติเด่น: กริดโฟกัส   |  มุมมองการออกแบบ   |   บาร์สูตรใหญ่    สมุดงานและตัวจัดการชีต   |  ห้องสมุดทรัพยากร (ข้อความอัตโนมัติ)   |  เลือกวันที่   |  รวมแผ่นงาน   |  เข้ารหัส/ถอดรหัสเซลล์    ส่งอีเมลตามรายการ   |  ซุปเปอร์ฟิลเตอร์   |   ตัวกรองพิเศษ (กรองตัวหนา/ตัวเอียง/ขีดทับ...) ...
ชุดเครื่องมือ 15 อันดับแรก12 ข้อความ เครื่องมือ (เพิ่มข้อความ, ลบอักขระ, ... )   |   50 + แผนภูมิ ประเภท (แผนภูมิ Gantt, ... )   |   40+ ใช้งานได้จริง สูตร (คำนวณอายุตามวันเกิด, ... )   |   19 การแทรก เครื่องมือ (ใส่ QR Code, แทรกรูปภาพจากเส้นทาง, ... )   |   12 การแปลง เครื่องมือ (ตัวเลขเป็นคำ, การแปลงสกุลเงิน, ... )   |   7 ผสานและแยก เครื่องมือ (แถวรวมขั้นสูง, แยกเซลล์, ... )   |   ... และอื่น ๆ

เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา  คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...


แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!