แปลงตัวเลขลงในคำ

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

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

ถ้าคุณต้องการแปลงค่าตัวเลขเป็นรูปแบบข้อความโดยไม่ต้องแสดงให้เห็นเป็นคำ ใช้ฟังก์ชันข้อความแทน

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

สร้างฟังก์ชัน SpellNumber เพื่อแปลงตัวเลขเป็นคำ

  1. ใช้แป้นพิมพ์ลัดAlt + F11เพื่อเปิดตัวแก้ไขแบบ Visual Basic (VBE)

    หมายเหตุ: คุณยังสามารถเข้าถึง Visual Basic Editor โดยการแสดงแท็บนักพัฒนาใน ribbon ของคุณ

  2. คลิกแท็บแทรก คลิ กมอดูล

    บนเมนูแทรก คลิกมอดูล
  3. คัดลอกบรรทัดของโค้ดต่อไปนี้

    หมายเหตุ: โค้ดนี้เรียกว่าเป็นฟังก์ชันผู้ใช้กำหนดเอง (UDF), ศักยภาพงานของการแปลงตัวเลขเป็นข้อความทั้งแผ่นงานของคุณ

    Option Explicit
    
    'Main Function
    
    Function SpellNumber(ByVal MyNumber)
    
    Dim Dollars, Cents, Temp
    
    Dim DecimalPlace, Count
    
    ReDim Place(9) As String
    
    Place(2) = " Thousand "
    
    Place(3) = " Million "
    
    Place(4) = " Billion "
    
    Place(5) = " Trillion "
    
    ' String representation of amount.
    
    MyNumber = Trim(Str(MyNumber))
    
    ' Position of decimal place 0 if none.
    
    DecimalPlace = InStr(MyNumber, ".")
    
    ' Convert cents and set MyNumber to dollar amount.
    
    If DecimalPlace > 0 Then
    
    Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _ "00", 2))
    
    MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
    
    End If
    
    Count = 1
    
    Do While MyNumber <> ""
    
    Temp = GetHundreds(Right(MyNumber, 3))
    
    If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars
    
    If Len(MyNumber) > 3 Then
    
    MyNumber = Left(MyNumber, Len(MyNumber) - 3)
    
    Else
    
    MyNumber = ""
    
    End If
    
    Count = Count + 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
    
    SpellNumber = Dollars & Cents
    
    End Function
    
    
    ' Converts a number from 100-999 into text
    
    Function GetHundreds(ByVal MyNumber)
    
    Dim Result As String
    
    If Val(MyNumber) = 0 Then Exit Function
    
    MyNumber = Right("000" & MyNumber, 3)
    
    ' Convert the hundreds place.
    
    If Mid(MyNumber, 1, 1) <> "0" Then
    
    Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
    
    End If
    
    ' Convert the tens and ones place.
    
    If Mid(MyNumber, 2, 1) <> "0" Then
    
    Result = Result & GetTens(Mid(MyNumber, 2))
    
    Else
    
    Result = Result & GetDigit(Mid(MyNumber, 3))
    
    End If
    
    GetHundreds = Result
    
    End Function
    
    
    ' Converts a number from 10 to 99 into text.
    
    
    Function GetTens(TensText)
    
    Dim Result As String
    
    Result = "" ' Null out the temporary function value.
    
    If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19...
    
    Select Case Val(TensText)
    
    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 ' If value between 20-99...
    
    Select Case Val(Left(TensText, 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(TensText, 1)) ' Retrieve ones place.
    
    End If
    
    GetTens = Result
    
    End Function
    
    
    ' Converts a number from 1 to 9 into text.
    
    Function GetDigit(Digit)
    
    Select Case Val(Digit)
    
    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
  4. วางบรรทัดของโค้ดลงในมอดูล 1 (โค้ด) กล่องนั้น

    โค้ดวางในมอดูล 1 กล่อง (โค้ด)
  5. กดAlt + Qเพื่อกลับไปยัง Excel ฟังก์ชัน SpellNumber พร้อมที่จะใช้ได้ในขณะนี้

    หมายเหตุ: ฟังก์ชันนี้ทำงานสำหรับเวิร์กบุ๊กปัจจุบันเท่านั้น เมื่อต้องการใช้ฟังก์ชันนี้ในเวิร์กบุ๊กอื่น คุณต้องทำซ้ำขั้นตอนในการคัดลอก และวางโค้ดในเวิร์กบุ๊กนั้น

ด้านบนของเพจ

ใช้ฟังก์ชัน SpellNumber ในแต่ละเซลล์

  1. พิมพ์สูตร= SpellNumber (A1) ลงในเซลล์ที่คุณต้องการแสดงตัวเลขเป็นลายลักษณ์อักษร โดย A1 คือเซลล์ประกอบด้วยตัวเลขคุณต้องการแปลง คุณสามารถพิมพ์ค่าได้ด้วยตนเองเช่น = SpellNumber(22.50) ได้

  2. กดEnter เพื่อยืนยันสูตรได้อีกด้วย

ด้านบนของเพจ

บันทึกเวิร์กบุ๊กฟังก์ชัน SpellNumber

Excel ไม่สามารถบันทึกเวิร์กบุ๊ก มีแมโครฟังก์ชันในรูปแบบเวิร์กบุ๊กแมโครได้มาตรฐาน (.xlsx) ถ้าคุณคลิกไฟล์ >บันทึก กล่องโต้ตอบโครงการ VB เปิดขึ้น คลิกไม่ใช่

ในกล่องโต้ตอบโครงการ VB คลิกหมายเลข

คุณสามารถบันทึกไฟล์ของคุณเป็นเวิร์กบุ๊ก Excel Macro-Enabled (.xlsm) เมื่อต้องการเก็บไฟล์ของคุณในรูปแบบปัจจุบัน

  1. คลิก ไฟล์ > บันทึกเป็น

  2. คลิกที่เมนูดรอปดาวน์บันทึกเป็นชนิด และเลือกเวิร์กบุ๊ก Excel Macro-Enabled

  3. คลิก บันทึก

ด้านบนของหน้า

ดูเพิ่มเติม

ฟังก์ชัน TEXT

ขยายทักษะ Office ของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Office Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ!

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×