ในขณะที่ทำงานใน Microsoft Excel บางครั้งเราจำเป็นต้องค้นหารูปแบบเฉพาะโดยใช้นิพจน์ทั่วไป แต่ Excel ไม่รองรับ regexes ดังนั้นคุณอาจเผชิญกับความยากลำบาก วันนี้ในบทความนี้ ฉันกำลังแชร์วิธีนับ Regex ด้วย COUNTIF ให้กับคุณ ใน Excel
นับ Regex ด้วย COUNTIF ใน Excel:ขั้นตอนโดยละเอียด
ต่อไปนี้ ฉันได้แชร์ขั้นตอนโดยละเอียดในการนับ regex ด้วย COUNTIF ใน Excel
ขั้นตอนที่ 1:การเตรียมชุดข้อมูลสำหรับการจับคู่ Regex
สมมติว่าเรามีชุดข้อมูลของ รายชื่อผู้ติดต่อ . ตอนนี้เราจะใช้ ฟังก์ชัน COUNTIF ด้วย regex เพื่อจับคู่ใน Excel
ดังที่คุณเห็นว่าเรามีรายชื่อผู้ติดต่อซึ่งเราจะตรวจสอบว่ามีหมายเลขโทรศัพท์อยู่ในตารางหรือไม่

ขั้นตอนที่ 2:การเตรียมฟังก์ชันตัวช่วยแบบกำหนดเองด้วย VBA
ในส่วนนี้ เราจะใช้โค้ด VBA เพื่อกำหนดฟังก์ชันตัวช่วยแบบกำหนดเอง ฟังก์ชัน RegExMatch . ทำตามคำแนะนำด้านล่าง-
- ขั้นแรก ในขณะที่เปิดสมุดงาน ให้กด ALT+F11 เพื่อเปิด “Microsoft Visual Basic for Applications ” หน้าต่าง
- ประการที่สอง เลือก “โมดูล ” จาก “แทรก ” ตัวเลือก

- ถัดไป ภายในโมดูลให้วางโค้ดต่อไปนี้และบันทึก-
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

- หลังจากนั้น เราจะวางรูปแบบต่อไปนี้ไว้ในแผ่นงาน เนื่องจาก Excel ไม่รองรับ regex-
(\(\d{3}\)|\d{3})[-\.\s]?\d{3}[-\.\s]?\d{4}\b
ป>

อ่านเพิ่มเติม: วิธีค้นหารูปแบบ RegEx ใน Excel
ขั้นตอนที่ 3:การใช้สูตรเพื่อค้นหา Regex และจำนวน
ตามที่เราได้กำหนด RegExMatch คราวนี้เราจะใช้ RegExMatch ฟังก์ชั่นเพื่อค้นหาการจับคู่ที่เหมาะสมจากสตริง
- ดังนั้น ให้เลือก เซลล์ (C7 ) และใช้สูตรด้านล่างลง-
ที่นี่ RegExMatch ฟังก์ชันจะจับคู่ว่าส่วนใดส่วนหนึ่งของสตริงตรงกับนิพจน์ที่กำหนดหรือไม่

- เพียงคลิก ป้อน เพื่อให้ได้ผลลัพธ์

- ตอนนี้ ให้ดึง “Fill Handle ” ลงเพื่อเติมคอลัมน์

- หลังจากนั้น เรามานับเซลล์ด้วยหมายเลขโทรศัพท์ด้วยสูตรด้านล่างใน เซลล์ (C15 )-
ที่นี่ COUNTIF ฟังก์ชันใช้ในการนับเซลล์ที่มีเงื่อนไขที่กำหนด “TRUE ” จากช่วงที่กำหนด “C7:C13 ”.

- สุดท้าย กด ENTER คีย์จากแป้นพิมพ์เพื่อรับผลลัพธ์
- ที่นี่ เราได้แยกผลลัพธ์ด้วย COUNTIF สำเร็จแล้ว ฟังก์ชั่นและ regex ใน Excel

อ่านเพิ่มเติม: วิธีดำเนินการจับคู่รูปแบบใน Excel
ดาวน์โหลดหนังสือแบบฝึกหัด ป>
ดาวน์โหลดแบบฝึกหัดนี้เพื่อออกกำลังกายในขณะที่คุณกำลังอ่านบทความนี้
บทสรุป
ในบทความนี้ ฉันได้พยายามครอบคลุมวิธีการเกือบทั้งหมดของ COUNTIF regex ใน Excel เยี่ยมชมสมุดแบบฝึกหัดและดาวน์โหลดไฟล์เพื่อฝึกฝนด้วยตัวเอง ฉันหวังว่าคุณจะพบว่ามันมีประโยชน์ โปรดแจ้งให้เราทราบในส่วนความคิดเห็นเกี่ยวกับประสบการณ์ของคุณ
บทความที่เกี่ยวข้อง
- วิธีใช้ REGEX โดยไม่มี VBA ใน Excel
- วิธีใช้ REGEX เพื่อจับคู่รูปแบบใน Excel
- วิธีการกรองโดยใช้ RegEx ใน Excel
- วิธีค้นหาและแทนที่ข้อความโดยใช้ Regex ใน Excel
- วิธีค้นหาและแทนที่รูปแบบ RegEx ใน Excel
- การตรวจสอบข้อมูลด้วย RegEx ใน Excel
<<กลับไปที่ RegEx ใน Excel | การจัดการสตริง | เรียนรู้ Excel ป> รับแบบฝึกหัด Excel ขั้นสูงพร้อมโซลูชันฟรี!