วิธีแปลงตัวเลขไปเป็นตัวหนังสือภาษาอังกฤษโดยใช้ Excel

ในบทความนี้จะมาสอนวิธีแปลงจากตัวเลขไปเป็นตัวหนังสือภาษาอังกฤษ โดยใช้ Excel

เนื่องจาก Excel ไม่มีสูตรในการแปลงตัวเลขไปเป็นตัวหนังสือภาษาอังกฤษ (แต่ว่ามีสูตรการตัวเลขไปเป็นตัวหนังสือภาษาไทย นั้นก็คือ BAHTTEXT ) เราจึงจำเป็นต้องใช้การเขียน VBA เข้ามาช่วย

โดยขั้นตอนแรกให้ทำการ เปิด VBA ใน Excel โดยคลิกขวาที่ Sheet แล้วเลือก View Code

แล้วทำการเพิ่ม Module

เอา Code VBA ด้านล่างนี้ใส่เข้าไป แล้วก็ทำการ Save

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


ทีนี้เราก็มาลองใช้สูตรโดย พิมพ์ว่า SpellNumber(ตัวเลข) ตัวExcel ก็จะทำการแปลงตัวเลขให้เป็นภาษาอังกฤษแบบอัตโนมัติให้เรา

ส่วนการ Save ไฟล์ Excel ก็จะต้องทำการ Save เป็นไฟล์ .xlsm ด้วยนะเนืองจากเป็นไฟล์ที่มี Code VBA (Excel Macro-Enable Workbook)

วิธีใส่รหัสป้องกันการเปิดดูข้อมูลให้ไฟล์ Excel

เพื่อนทราบกันไหมว่าเราสามารถใส่รหัสป้องกันการเปิดดูข้อมูลให้ไฟล์ Excel ได้ เพื่อป้องกัไม่ให้คนที่ไม่มีรหัสผ่านมาเปิดไฟล์ของเราได้ โดยจะมีวิธีทำอยู่ 2 วิธี ก็คือ วิธีที่ 1 การป้องกันการเปิดอ่านข้อมูลในระดับ ไฟล์ Workbook และ วิธีที่ 2 ป้องกันระดับการแก้ไขในระดับ Sheet (แต่สามารถอ่านดูข้อมูลได้ตามปกติ) มาดูวิธีทำกันเลย

วิธีที่ 1 การป้องกันการเปิดอ่านข้อมูลในระดับ ไฟล์ Workbook
อันดับแรกให้เราเปิดไฟล์ Excel ที่เราต้องการใส่รหัสผ่าน Password แล้วไปที่ เมนู File แล้วเลือก Info แล้วก็กดไปที่ Protect Workbook แล้วก็เลือก Encrypt with Password ดังรูป

แล้วก็จะมีหน้าต่าง popup ขึ้นมาให้เราใส่ รหัส Password ที่เราต้องการตั้ง เมื่อตั้งเสร็จแล้วก็กด OK

เราก็จะเห็นว่าที่ Protect Workbook จะกลายเป็นสีเหลือง

หากเราทดลองเปิดไฟล์ Excel ไฟล์นี้ดูก็จะขึ้นหน้าต่าง Popup ถามให้เราใส่ Password ถ้าเราใส่password ถูกก็จะสามารถเปิดอ่านหรือแก้ไขข้อมูลในไฟล์ Excel ตัวนี้ได้

วิธีที่ 2 ป้องกันระดับการแก้ไขในระดับ Sheet (แต่สามารถอ่านดูข้อมูลได้ตามปกติ)
วิธีทำก็คือให้เราเลือกไปที่ Sheet ที่เราต้องการไม่ให้คนมาทำการแก้ไข แต่ให้เขาอ่านได้ตามปกติ แล้วคลิกขวา เลือก Protect Sheet

ทำการใส่ password รหัสผ่าน แล้วกด OK

หลังจากนั้นเราก็จะสามารถอ่านดูข้อมูลใน Sheet นั้นได้ตามปกติแต่ไม่สามารถแก้ไขได้ หากต้องการแก้ไข เราสามารถทำได้โดยเลือกไปที่ Sheet นั้นแล้วคลิกขวาเลือก Unprotect Sheet แล้วทำการใส่รหัสผ่าน Password เพื่อทำการปลดเพื่อแก้ไขต่อไป

การแปลงตัวเลขเป็นคำอ่านภาษาไทยง่ายๆใน Excel

สำหรับใครที่กำลังหาวิธีแปลงตัวเลขให้หลายเป็นตัวหนังสือ(คำอ่านภาษาไทย) มาดูวิธีทำในบทความนี้ได้เลย วิธีทำนั้นง่ายมากๆ มาดูกันเลย

ก่อนอื่นเปิด Excel ขึ้นมา แล้วพิมพ์ตัวเลขที่เราอยากแปลงเป็นคำอ่านภาษาไทย
ตัวอย่างเราจะแปลงจากตัวเลข 2019 เป็นคำอ่าน โดยใช้สูตร BAHTTEXT(ตัวเลข)

แล้วกด Enter ก็จะได้คำอ่านตามรูปแล้วละ (จะเห็นว่ามีคำต่อท้ายว่า ถ้วน เข้ามาด้วยเนืองจากส่วนใหญ่คิดว่าน่าจะนำไปใช้กับการคิดเงิน)

หรือเพื่อนๆสามารถนำไปใช้โดยระบุเป็นหมายเลขของ Cell นั้นๆก็ได้

วิธีลากสูตรใน Excel แบบง่ายๆเร็วๆ

เพื่อนๆหลายคนที่ใช้ Excel อยู่อาจจะเจอปัญหาว่าเวลาที่เราต้องการลากสูตรที่อยู่ใน Cell ให้สามารถใช้ได้กับ Column ทั้งหมดของเรา ซึ่งบางที่เราก็มีข้อมูลจำนวนมากๆ เป็นพันเป็นหมื่น Row จะให้มานั่งลากตั้งแต่แถวแรกจนแถวสุดท้ายก็คงจะใช้เวลานานกันพอดี

จริงๆแล้วใน Excel เราสามารถใช้เทคนิคง่ายๆที่หลายคนอาจจะไม่รู้ นั้นก็คือการเลือก Cell ที่เราใส่สูตรต้นแบบไว้แล้ว แล้วทำการดับเบิ้ลคลิก สูตรที่อยู่ใน Cell นั้นๆ ก็จะถูกนำไปใช้กับข้อมูลทุกแถว เพื่อนๆลองทดลองทำตามดูได้นะ

วิธีปริ้นเอกสารจาก Excel ทุกชีท

ปกติเวลาเราทำงานลง Excel ในไฟล์นั้นๆมักจะมีหลาย Sheet ถ้าเราจะPrint งานทั้งหมดทุก sheet เราสามารถทำได้โดย

สำหรับ Excel 2007
ไปที่ Print

เลือก Entire workbook เพื่อ Print ทุก Sheet ของไฟล์

ถ้าเป็น Excel 2010 สามารถเลือก Print Entire Workbook ได้ดังรูป

วิธีแก้ไข ### ขึ้นเต็ม Cell ใน Excel

มีใครเคยเจอปัญหานี้บ้าง มี Cell หนึ่งที่มีตัว # ขึ้นเต็มทั้ง Cell ไปหมด แบบนี้

หลายๆคนคงจะคิดและอาจจะทำแบบนี้ คิดว่าอาจจะเป็นเพราะ Cell มีขนาดเล็กกว่าข้อมูล ก็เลยลองยืด Cell ขยายออกไปทางด้านข้างดูก็ยังมีผลลัพธ์เหมือนเดิม ยังคงเป็นสัญลักณ์ # อยู่

จริงๆแล้วสาเหตุที่ Cell นั้นแสดงผลเป็น ### นั้นเป็นเพราะว่า ข้อมูลใน Cell นั้นมี Format เป็น Text และ มีความยาวของตัวอักษรเกิน 256 ตัวอักษรนั้นเอง

วิธีแก้ไขก็คือให้เราทำการ เปลี่ยน Format ของ Cell เป็น General
มาดูวิธีทำตามตัวอย่างกันเลย

ก่อนอื่นให้เปลี่ยน Format โดยคลิกขวาที่ Cell นั้น แล้วเลือก Format Cells…

เปลี่ยน เป็น General แล้วกด OK

จะเห็นว่าข้อมูลใน Cell นั้นอ่านออกแล้ว

ปรับขนาดของ Cell ให้อ่านข้อมูลได้ เท่านี้ก็เสร็จเรียบร้อย

มารู้จักประโยชน์ของ Formula mode ใน Excel กันดีกว่า

สมมติเรามี ค่าอยู่ใน Cell A1, A3, A5 … แล้วเราต้องการก๊อปปี้มาใส่ Column C แต่ต้องการให้เรียงติดกันเป็น C1, C2, C3 …

ถ้าเราก๊อปปี้ Cell มาแล้วใช้วิธีลาก Cell ใน Column C ก็จะได้ผลลัพธ์ตามรูป นั้นคือจะไม่ได้อย่างที่เราต้องการ

วิธีทำง่ายๆก็คือต้องใช้ Formula mode ใน Excel
นั้นก็คือให้เราเข้าไปที่ Formula mode ใน Excel โดยการกด Ctrl + ~ (กด Ctrl แล้วตามด้วยปุ่มตัวหนอนเปลี่ยนภาษา) ก็จะทำให้เราเข้าสู่ Formula mode แล้วละ จะสังเกตได้ว่าจะมีเครื่องหมาย= อยู่ใน Cell

วิธีทำก็คือให้เราใส่ค่าเป็น A1 A3 A5 แล้วลาก Cell ให้ Excel มันรันตัวเลขของ Cell ที่เราอย่างได้ให้อัตโนมัติ

เสร็จแล้วเราก็ก๊อปปี้ไปใส่ Notepad แล้วทำการใส่ เครื่องหมายเท่ากับ = ให้มันสะ (โดยการ replace A เป็น =A)

แล้วก็เอามาวางใน Excel ที่เป็น โหมด Formula อยู่

แล้วทำการเปลี่ยนโหมดกลับมาเป็นเหมือนเดิมก็จะได้ดังภาพ

และนี้ก็เป็นอีกหนึ่งวิธีการประยุกต์ใช้งาน Formula โหมดใน Excel จ้า

เทคนิคการลากคลุมข้อมูลในแถวหรือคอลัมน์ ของ Excel

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

สมมติว่าเรามี ข้อมูลอยู่ใน Excel ในแต่ละแถวจำนวนมากๆ

วิธีที่ง่ายและเร็วที่สุดในการเลือกคลุมเฉพาะข้อมูลทั้งหมดนั้นเราสามารถ คลิกไปที่ Cell แรกบนสุดของเราแล้ว ใช้ short cut โดยกด Ctrl+Shift+Down ก็จะเห็นว่า Excel มีการคลม Cell ทั้งหมด ของเราตั้งแต่ Cell แรกไปจนถึง Cell สุดท้าย

และแบบเดียวกันกับข้อมูลที่เรียงกันเป็นคอลัมน์ ก็สามารถคลิกที่ Cell แรกทางด้านซ้ายมือสุด แล้ว กดปุ่ทมลัด Shortcut Ctrl+Shift+Right

และนี้ก็เป็นทิปเทคนิคการใช้งาน Excel เล็กๆน้อยๆที่จะทำให้การทำงานของเรานั้นเร็วขึ้นอย่างมากเลยละ

Excel ไม่อัพเดตค่าหรือสูตรใน Cell อัตโนมัติ

มีใครเจอปัญหานี้บ้างไหม นั้นก็คือ Excel เป็นอะไรไม่รู้ไม่ยอมอัพเดตค่าหรือสูตรใน Cell ทำให้ต้องมานั่งกด Enter ทีละ Cell เพื่อให้อัพเดต

การที่เกิดเหตุการณ์นี้ขึ้นมา นั้นก็เป็นเพราะว่า Calculation option ใน Excel นั้นกลายเป็น Manual นั้นเอง ซึ่งเราต้องไปแก้ให้กลับมาเป็น Automatic

ตัวอย่างเช่น สมมติเรามี Cell ใน Column A และเราใน ค่าใน Column B เท่ากับ A จะเห็นว่าค่าไม่อัพเดตมาที่ Column B เลย(มีแต่ค่าเดิม A1 ทั้งนั้น)

วิธีแก้ไขก็คือให้เราไปที่ แถบ Formulas แล้วเลือก Calculation Options แล้วก็เลือก เปลี่ยนเป็น Automatic

หลังจากนั้น Excel ก็จะอัพเดตค่าให้เป็นปกติเหมือนเดิมแล้ว

ถ้าเป็น Excel เวอร์ชั่น 2003 ก็จะอยู่ในเมนู Tools ถ้าเป็น 2010 หรือ 2013 ก็จะอยู่ใน File > Options > Formulas