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

 วิธีการแปลงสตริงข้อความเป็นกรณีที่เหมาะสมโดยมีข้อยกเว้นใน Excel

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

แปลงสตริงข้อความเป็นกรณีที่เหมาะสมโดยมีข้อยกเว้นโดยใช้สูตร

แปลงสตริงข้อความเป็นกรณีที่เหมาะสมโดยมีข้อยกเว้นโดยใช้รหัส VBA


แปลงสตริงข้อความเป็นกรณีที่เหมาะสมโดยมีข้อยกเว้นโดยใช้สูตร

อาจเป็นสูตรต่อไปนี้สามารถช่วยคุณจัดการกับงานนี้ได้อย่างรวดเร็วโปรดทำตามนี้:

ใส่สูตรนี้:

= UPPER (LEFT (A2)) & MID (TRIM (SUBSTITUTE (SUBSTITUTE (SUBSTITUTE ("" & PROPER (A2) & "", "Of", "of"), "A", "a"), "Is "," คือ ")," Usa "," USA ")), 2, LEN (A2)) ลงในเซลล์ที่คุณต้องการรับผลลัพธ์จากนั้นลากที่จับเติมเพื่อเติมสูตรนี้และสตริงข้อความได้รับการแปลงกรณีที่เหมาะสม แต่มีข้อยกเว้นเฉพาะดูภาพหน้าจอ:

หมายเหตุ: ในสูตรข้างต้น A2 คือเซลล์ที่คุณต้องการแปลง “ ของ”,“ ก”,“ เป็น”,“ อุษา” เป็นคำกรณีปกติที่เหมาะสมหลังจากการแปลง “ ของ”,“ ก”,“ คือ”,“ สหรัฐอเมริกา” คือคำที่คุณต้องการแยกออกจากกรณีที่เหมาะสม คุณสามารถเปลี่ยนเป็นความต้องการของคุณหรือเพิ่มคำอื่น ๆ ด้วยฟังก์ชัน SUBSTITUTE


แปลงสตริงข้อความเป็นกรณีที่เหมาะสมโดยมีข้อยกเว้นโดยใช้รหัส VBA

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

1. กด ALT + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

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

รหัส VBA: แปลงสตริงข้อความเป็นกรณีที่เหมาะสมโดยมีข้อยกเว้น:

Sub CellsValueChange()
'Updateby Extendoffice
    Dim xSRg As Range
    Dim xDRg As Range
    Dim xPRg As Range
    Dim xSRgArea As Range
    Dim xRgVal As String
    Dim xAddress As String
    Dim I As Long
    Dim K As Long
    Dim KK As Long
    On Error Resume Next
    xAddress = Application.ActiveWindow.RangeSelection.Address
    Set xSRg = Application.InputBox("Original cells:", "KuTools For Excel", xAddress, , , , , 8)
    If xSRg Is Nothing Then Exit Sub
    Set xDRg = Application.InputBox("Output cells:", "KuTools For Excel", , , , , , 8)
    If xDRg Is Nothing Then Exit Sub
    Set xPRg = Application.InputBox("Cells to exclude:", "KuTools For Excel", , , , , , 8)
    If xPRg Is Nothing Then Exit Sub
    Set xDRg = xDRg(1)
    For I = 1 To xSRg.Areas.Count
        Set xSRgArea = xSRg.Areas.Item(I)
        For K = 1 To xSRgArea.Count
            xRgVal = xSRgArea(K).Value
            If Not IsNumeric(xRgVal) Then
                xRgVal = CorrectCase(xRgVal, xPRg)
                xDRg.Offset(KK).Value = xRgVal
            End If
            KK = KK + 1
        Next
    Next
End Sub
Function CorrectCase(ByVal xRgVal As String, ByVal xPRg As Range) As String
    Dim xArrWords As Variant
    Dim I As Integer
    Dim xPointer As Integer
    Dim xVal As String
    xPointer = 1
    xVal = xRgVal
    xArrWords = WordsOf(xRgVal)
    For I = 0 To UBound(xArrWords)
        xPointer = InStr(xPointer, " " & xVal, " " & xArrWords(I))
        Debug.Print xPointer
        Mid(xVal, xPointer) = CorrectCaseOneWord(CStr(xArrWords(I)), xPRg)
    Next I
    CorrectCase = xVal
End Function
Function WordsOf(xRgVal As String) As Variant
    Dim xDelimiters As Variant
    Dim xArrRtn As Variant
    xDelimiters = Array(",", ".", ";", ":", Chr(34), vbCr, vbLf)
    For Each xEachDelimiter In xDelimiters
        xRgVal = Application.WorksheetFunction.Substitute(xRgVal, xEachDelimiter, " ")
    Next xEachDelimiter
    xArrRtn = Split(Trim(xRgVal), " ")
    WordsOf = xArrRtn
End Function
Function CorrectCaseOneWord(xArrWord As String, xERg As Range) As String
    With xERg
        If IsError(Application.Match(xArrWord, .Cells, 0)) Then
            CorrectCaseOneWord = Application.Proper(xArrWord)
        Else
            CorrectCaseOneWord = Application.VLookup(xArrWord, .Cells, 1, 0)
        End If
    End With
End Function

3. จากนั้นกด F5 คีย์เพื่อเรียกใช้รหัสนี้และกล่องพร้อมต์จะปรากฏขึ้นเพื่อเตือนให้คุณเลือกเซลล์ดั้งเดิมที่คุณต้องการแปลงดูภาพหน้าจอ:

4. จากนั้นคลิก OKเลือกเซลล์ที่คุณต้องการแสดงผลลัพธ์ในกล่องที่โผล่ออกมาดูภาพหน้าจอ:

5. คลิกเลย OKและในกล่องโต้ตอบป๊อปอัปเลือกข้อความที่คุณต้องการยกเว้นดูภาพหน้าจอ:

6. จากนั้นคลิก OK เพื่อออกจากกล่องโต้ตอบและสตริงข้อความทั้งหมดได้รับการแปลงเป็นกรณีที่เหมาะสม แต่ไม่รวมคำที่ระบุดูภาพหน้าจอ:

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

🤖 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% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
This would be amazing if only the Macro excluded the part of the sting in CAPS not the entire cell from the exceptions list.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations