Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

นับรูปแบบ Regex ใน Excel ด้วย COUNTIF: คู่มือทีละขั้นตอน

ขณะทำงานใน Excel บางครั้งเราต้องค้นหารูปแบบเฉพาะด้วย Regular Expressions (Regex) แต่ Excel ไม่รองรับ Regex โดยตรง ทำให้เกิดความยุ่งยาก วันนี้จะแชร์วิธีนับ Regex ด้วย COUNTIF ใน Excel

นับ Regex ด้วย COUNTIF ใน Excel: ขั้นตอนโดยละเอียด

ต่อไปนี้คือขั้นตอนโดยละเอียดสำหรับการนับ Regex ด้วย COUNTIF ใน Excel

ขั้นตอนที่ 1: เตรียมชุดข้อมูลสำหรับ Regex Match

สมมติเรามีชุดข้อมูล รายชื่อติดต่อ ต้องการตรวจสอบว่ามีเบอร์โทรศัพท์หรือไม่

นับรูปแบบ Regex ใน Excel ด้วย COUNTIF: คู่มือทีละขั้นตอน

ขั้นตอนที่ 2: สร้าง Custom Helper Function ด้วย VBA

ในส่วนนี้จะใช้ VBA สร้างฟังก์ชันช่วยเหลือชื่อ RegExMatch ทำตามขั้นตอน:

  • กด ALT+F11 เพื่อเปิด Microsoft Visual Basic for Applications
  • เลือก Module จากเมนู Insert

นับรูปแบบ Regex ใน Excel ด้วย COUNTIF: คู่มือทีละขั้นตอน

  • วางโค้ดต่อไปนี้ในโมดูล แล้วบันทึก:
Public Function RegExMatch(input_reg_range As Range, reg_pattern As String, Optional reg_match As Boolean = True) As Variant
    Dim WX() As Variant
    Dim Input_Row, Input_Col, cnt_Rows, cnt_Cols As Long
    On Error GoTo ErrHandl
    RegExMatch = WX
    Set Wregex = CreateObject("VBScript.RegExp")
    Wregex.pattern = reg_pattern
    Wregex.Global = True
    Wregex.MultiLine = True
    If True = reg_match Then
        Wregex.ignorecase = False
    Else
        Wregex.ignorecase = True
    End If
    cnt_Rows = input_reg_range.Rows.Count
    cnt_Cols = input_reg_range.Columns.Count
    ReDim WX(1 To cnt_Rows, 1 To cnt_Cols)
    For Input_Row = 1 To cnt_Rows
        For Input_Col = 1 To cnt_Cols
            WX(Input_Row, Input_Col) = Wregex.Test(input_reg_range.Cells(Input_Row, Input_Col).Value)
        Next
    Next
    RegExMatch = WX
    Exit Function
ErrHandl:
    RegExMatch = CVErr(xlErrValue)
End Function

นับรูปแบบ Regex ใน Excel ด้วย COUNTIF: คู่มือทีละขั้นตอน

  • ใส่รูปแบบ Regex ต่อไปนี้ในชีท (เพราะ Excel ไม่รองรับ Regex โดยตรง):

(\(\d{3}\)|\d{3})[-\.\s]?\d{3}[-\.\s]?\d{4}\b

นับรูปแบบ Regex ใน Excel ด้วย COUNTIF: คู่มือทีละขั้นตอน

อ่านเพิ่มเติม: วิธีค้นหา RegEx Patterns ใน Excel

ขั้นตอนที่ 3: ใช้สูตรค้นหา Regex และนับ

เมื่อสร้างฟังก์ชัน RegExMatch แล้ว ตอนนี้จะนำไปใช้ค้นหาค่าที่ตรงกับรูปแบบ

  • เลือก เซลล์ (C7) ใส่สูตรด้านล่าง แล้วลากลง:

ฟังก์ชัน RegExMatch จะตรวจสอบว่าส่วนใดของสตริงตรงกับรูปแบบที่กำหนด

นับรูปแบบ Regex ใน Excel ด้วย COUNTIF: คู่มือทีละขั้นตอน

  • กด ENTER เพื่อดูผลลัพธ์

นับรูปแบบ Regex ใน Excel ด้วย COUNTIF: คู่มือทีละขั้นตอน

  • ลาก Fill Handle ลงไปเติมคอลัมน์

นับรูปแบบ Regex ใน Excel ด้วย COUNTIF: คู่มือทีละขั้นตอน

  • นับเซลล์ที่มีเบอร์โทรศัพท์ด้วยสูตรใน เซลล์ C15:

ฟังก์ชัน COUNTIF นับเซลล์ที่มีเงื่อนไข TRUE จากช่วง C7:C13

นับรูปแบบ Regex ใน Excel ด้วย COUNTIF: คู่มือทีละขั้นตอน

  • กด ENTER เพื่อได้ผลลัพธ์
  • นับ Regex ด้วย COUNTIF ใน Excel สำเร็จแล้ว

นับรูปแบบ Regex ใน Excel ด้วย COUNTIF: คู่มือทีละขั้นตอน

อ่านเพิ่มเติม: วิธีทำ Pattern Matching ใน Excel

ดาวน์โหลดสมุดงานฝึกหัด

ดาวน์โหลดไฟล์ฝึกหัดเพื่อทดลองทำตามบทความ

สรุป

บทความนี้ครอบคลุมวิธีนับ Regex ด้วย COUNTIF ใน Excel ลองดาวน์โหลดไฟล์ฝึกหัดมาลองทำเอง หวังว่าจะมีประโยชน์ กรุณาแชร์ประสบการณ์ในส่วนความคิดเห็น

บทความเกี่ยวข้อง

  • วิธีใช้ REGEX โดยไม่ใช้ VBA ใน Excel
  • วิธีใช้ REGEX จับคู่รูปแบบใน Excel
  • วิธีกรองข้อมูลด้วย RegEx ใน Excel
  • วิธี Find & Replace ด้วย Regex ใน Excel
  • วิธีค้นหาและแทนที่ RegEx Patterns ใน Excel
  • Data Validation ด้วย RegEx ใน Excel

<< กลับไปยัง RegEx in Excel | String Manipulation | Learn Excel

รับแบบฝึกหัด Excel ขั้นสูงพร้อมเฉลยฟรี!