Chuyển đến nội dung chính

Hướng dẫn Regex trong Excel: Thành thạo đối sánh mẫu với Biểu thức chính quy

Khám phá sức mạnh của Biểu thức chính quy (RegEx) để đối sánh mẫu trong Excel. Hướng dẫn toàn diện của chúng tôi cho thấy cách chuẩn hóa dữ liệu, trích xuất từ khóa và thực hiện các thao tác văn bản nâng cao.
Đã cập nhật 5 thg 10, 2026  · 12 phút đọc

Khám phá cùng AI

ChatGPTClaudePerplexity

Bạn đã bao giờ cần chuẩn hóa danh sách số điện thoại với nhiều định dạng khác nhau chưa? Còn việc trích xuất từ khóa từ các trường văn bản tự do thì sao? Xin giới thiệu: RegEx! RegEx, viết tắt của Biểu thức chính quy, là các mẫu mạnh mẽ và linh hoạt được dùng để đối sánh chuỗi trong các khối văn bản. Trong bài viết này, chúng ta sẽ nói về cú pháp regex phổ biến, cách bật regex trong Excel và cuối cùng là cách sử dụng chúng hiệu quả.

Biểu thức chính quy là gì?

Biểu thức chính quy, thường được viết tắt là "regex" hoặc "regexp", là một cách để xác định mẫu tìm kiếm, có thể dùng cho nhiều tác vụ xử lý văn bản như tìm kiếm, phân tích và/hoặc thay thế văn bản. Biểu thức chính quy được sử dụng rộng rãi trong lập trình, trình soạn thảo văn bản và phần mềm khác cho các nhiệm vụ liên quan đến đối sánh mẫu. Biến thể (flavor) hay cú pháp regex trong Excel dựa trên bộ máy biểu thức chính quy của .NET.

Biểu thức chính quy thường gặp

Biểu thức chính quy có thể được nhóm dựa trên các đặc điểm xác định chúng. Dưới đây là những biểu thức chính quy phổ biến bạn sẽ gặp.

Ký tự chữ (literal)

Biểu thức chính quy có thể chứa các ký tự chữ khớp đúng với chính nó. Ví dụ, regex "hello" sẽ khớp chính xác với chuỗi "hello".

Ký tự đặc biệt (metacharacter)

Biểu thức chính quy cũng bao gồm các ký tự đặc biệt có ý nghĩa riêng. Một số metacharacter phổ biến gồm:

  • . (dấu chấm): Khớp với bất kỳ một ký tự đơn nào trừ xuống dòng.
  • *: Khớp với 0 hoặc nhiều lần xuất hiện của ký tự hoặc nhóm đứng trước.
  • +: Khớp với 1 hoặc nhiều lần xuất hiện của ký tự hoặc nhóm đứng trước.
  • ?: Khớp với 0 hoặc 1 lần xuất hiện của ký tự hoặc nhóm đứng trước.
  • | (dấu gạch dọc): Hoạt động như toán tử OR logic và cho phép bạn chỉ định các lựa chọn thay thế.
  • () (dấu ngoặc tròn): Nhóm các ký tự hoặc mẫu con lại với nhau.
  • [] (dấu ngoặc vuông): Xác định một lớp ký tự, cho phép khớp với bất kỳ một ký tự nào trong tập ký tự.
  • ^ (dấu mũ): Khớp với đầu dòng hoặc đầu chuỗi.
  • $: Khớp với cuối dòng hoặc cuối chuỗi.
  • \ (dấu gạch chéo ngược): Thoát metacharacter để khớp theo nghĩa đen.

Lớp ký tự

Lớp ký tự trong biểu thức chính quy (regex) là ký hiệu đặc biệt cho phép bạn khớp một ký tự trong một tập ký tự. Chúng giúp đơn giản hóa mẫu regex bằng cách cung cấp cách ngắn gọn để chỉ định một nhóm ký tự cần khớp. Bạn có thể dùng ngoặc vuông [...] để định nghĩa lớp ký tự. Ví dụ, [aeiou] khớp với bất kỳ nguyên âm nào. [A-Z] khớp với bất kỳ chữ hoa nào.

Bộ định lượng (quantifier)

Bộ định lượng là cấu trúc chỉ định số lần một mẫu, ký tự hoặc lớp ký tự phải xuất hiện trong chuỗi mục tiêu để đạt khớp. Nói cách khác, chúng chỉ định số lần lặp lại của một ký tự hoặc nhóm. Ví dụ, a{3} khớp chính xác ba ký tự "a" liên tiếp. ab? khớp "a" hoặc "ab".

Mỏ neo (anchor)

Mỏ neo là các ký tự đặc biệt không khớp với ký tự nào trong chuỗi. Thay vào đó, chúng khớp với một vị trí trước, sau hoặc giữa các ký tự. Mỏ neo được dùng để đảm bảo mẫu regex xuất hiện ở vị trí cụ thể trong văn bản. Ví dụ, ^ neo mẫu ở đầu chuỗi và $ neo ở cuối.

Bộ sửa đổi (modifier)

Bộ sửa đổi là các ký tự thay đổi cách bộ máy regex diễn giải mẫu. Chúng được dùng để điều chỉnh hành vi đối sánh, cho phép linh hoạt và kiểm soát nhiều hơn. Modifier có thể ảnh hưởng đến nhiều khía cạnh của quá trình khớp, như phân biệt chữ hoa/thường, khớp nhiều dòng và cách diễn giải ký tự đặc biệt. Ví dụ, i khiến mẫu không phân biệt hoa thường, và g khiến nó ở chế độ toàn cục, tức khớp mọi lần xuất hiện trong đầu vào.

Ứng dụng của Biểu thức chính quy trong Excel

RegEx hữu ích trong nhiều tình huống:

Xác thực dữ liệu

Trong hầu hết các trường hợp, bạn sẽ cần xác thực dữ liệu để đảm bảo bạn đang xem đúng thông tin. Một ví dụ kinh điển là số điện thoại. Ở Mỹ, định dạng chuẩn là (###) ###-####. Tuy nhiên, chúng cũng có thể được định dạng như: ###-###-####, (+#) ### ### ####, ##########, v.v. RegEx có thể giúp xác định rằng thông tin trong tệp thực sự là số điện thoại. Biểu thức chính quy sau sẽ trả về khớp với số điện thoại 10 chữ số, với mã quốc gia tùy chọn dài từ 1 đến 2 chữ số: (\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$.

Trích xuất văn bản

Các câu dài thường khó phân tích bằng phần mềm bảng tính truyền thống. Để trích xuất từ khóa cụ thể, bạn có thể dùng RegEx để làm điều đó. Chẳng hạn, để trích xuất tiêu đề sách được đặt trong dấu nháy đơn từ bản chép lời phỏng vấn, ta có thể dùng biểu thức sau: '(.*?)'.

Biến đổi văn bản

Ngoài việc trích xuất thông tin, bạn cũng có thể chuyển đổi và chuẩn hóa nó cho mục đích báo cáo. Giả sử chúng ta muốn trích xuất năm chữ số đầu của mã ZIP ở Mỹ. Ta có thể thay thế mọi trường chứa mã ZIP bằng biểu thức chính quy ^\d{5}.

Tokenization (tách từ)

Tokenization là quá trình tách văn bản thành các token hay từ riêng lẻ. Mẫu regex có thể dùng để xác định quy tắc tách từ. Ví dụ, bạn có thể dùng \s+ để tách văn bản theo ký tự khoảng trắng hoặc \W+ để tách theo ký tự không thuộc từ như dấu câu.

Để biết thêm các mẫu khác, hãy xem cheat sheet Regular Expression trong Python của chúng tôi.

Sử dụng RegEx trong Excel

Dù Excel không hỗ trợ RegEx một cách nguyên bản, bạn có thể bật nó bằng cách tự viết hàm tùy chỉnh bằng script VBA (trên Windows) hoặc bật các add-in (trên Mac). Hãy cùng xem cách bật một hàm regex để trích xuất văn bản từ một cột trong Excel.

Cho Windows

Để bắt đầu, nhấn Alt+F11 để mở Visual Basic Editor. Bạn cũng có thể đi tới đó qua Tools > Macro > Visual Basic Editor. Sau đó, nhấp Insert > Module.

Dán hàm sau vào module:

Public Function CustomRegExpExtract(inputText As String, regexPattern As String, Optional instanceNumber As Integer = 0, Optional matchCase As Boolean = True) As Variant
    Dim textMatches() As String
    Dim matchesIndex As Integer
    Dim regex As Object
    Dim matches As Object
    
    On Error GoTo ErrHandler
    
    CustomRegExpExtract = ""
    
    ' Create a regular expression object
    Set regex = CreateObject("VBScript.RegExp")
    regex.Pattern = regexPattern
    regex.Global = True
    regex.MultiLine = True
    
    ' Set case sensitivity
    If matchCase Then
        regex.IgnoreCase = False
    Else
        regex.IgnoreCase = True
    End If
    
    ' Execute the regex pattern on the input text
    Set matches = regex.Execute(inputText)
    
    If matches.Count > 0 Then
        If instanceNumber = 0 Then
            ' If instanceNumber is 0, return all matches in an array
            ReDim textMatches(matches.Count - 1, 0)
            For matchesIndex = 0 To matches.Count - 1
                textMatches(matchesIndex, 0) = matches.Item(matchesIndex)
            Next matchesIndex
            CustomRegExpExtract = textMatches
        Else
            ' If instanceNumber is specified, return the match at that instance
            CustomRegExpExtract = matches.Item(instanceNumber - 1)
        End If
    End If
    
    Exit Function

ErrHandler:
    ' Handle errors by returning an error value
    CustomRegExpExtract = CVErr(xlErrValue)
End Function

' Modified from an original script by Patrick Matthews

Lưu hàm và quay lại bảng tính. Bây giờ, hãy lưu sổ làm việc dưới dạng hỗ trợ macro, với phần mở rộng tệp .xlsm.

Sử dụng hàm trong trang tính Excel

Bằng cách bật macro trong sổ làm việc Excel, bạn có thể dùng hàm CustomRegExpExtract như một hàm thông thường trong Excel để phân tích các mẫu chuỗi phức tạp, trong đó:

  • inputText là chuỗi gốc cần phân tích;
  • regexPattern là mẫu biểu thức chính quy dùng để phân tích inputText;
  • instanceNumber theo mặc định trả về tất cả các lần xuất hiện của mẫu, nhưng có thể nhập một số nguyên để chỉ định số lần xuất hiện cần trả về; và
  • matchCase chỉ định có phân biệt chữ hoa/thường khi khớp hay không (TRUE hoặc bỏ trống) hoặc bỏ qua (FALSE).

Giả sử chúng ta muốn trích xuất số điện thoại từ một trường. Ta có thể nhập mẫu regex vào bất kỳ ô nào (trong ví dụ dưới đây, nó nằm ở ô A2). Ở ô A6 là chuỗi tự do ví dụ, "Sophia, 1111111111". Ở ô B6, ta nhập =CustomRegExpExtract(A6,$A$2). Hàm sẽ trích xuất số điện thoại bằng cách đối sánh chuỗi với mẫu regex ở ô A2 và trả về "1111111111", như mong đợi.

image1.png

Cho Mac OS

Đáng tiếc, Mac OS không nhận diện thư viện MS VBScript Regular Expressions 5.5. Để bật đối sánh mẫu phức tạp trong Excel trên Mac, có hai lựa chọn: dùng bộ lọc nâng cao hoặc cài đặt gói mở rộng.

image2.png

Sử dụng bộ lọc nâng cao

Bộ lọc nâng cao trong Excel giúp thực hiện các thao tác lọc dữ liệu phức tạp dựa trên tập hợp nhiều tiêu chí. Tính năng này đặc biệt hữu ích khi làm việc với các tập dữ liệu lớn. Cách dùng bộ lọc nâng cao trong Excel như sau:

  • Chuẩn bị dữ liệu: Đảm bảo dữ liệu của bạn ở dạng bảng với tiêu đề rõ ràng.
  • Tạo Vùng Tiêu chí (Criteria Range): Thiết lập một khu vực riêng trên trang tính để xác định tiêu chí lọc. Khu vực này nên có cùng tiêu đề với các cột bạn muốn lọc. Bên dưới các tiêu đề này, chỉ định tiêu chí lọc. Bạn có thể nhập nhiều tiêu chí dưới cùng một tiêu đề để áp dụng logic "OR", hoặc ở các hàng riêng để áp dụng logic "AND".
  • Chọn Dữ liệu: Nhấp vào một ô trong tập dữ liệu của bạn hoặc chọn toàn bộ phạm vi muốn lọc.
  • Thiết lập Bộ lọc: Nhấp vào thẻ Data trên ribbon của Excel và đi tới tùy chọn Advanced Filter. Nhấp Advanced trong nhóm Sort & Filter. Trong hộp thoại Advanced Filter, chọn bạn muốn lọc ngay tại chỗ hay sao chép kết quả sang vị trí khác. Chỉ định List range (dữ liệu của bạn). Chỉ định Criteria range (nơi bạn thiết lập điều kiện lọc). Nhấp OK để áp dụng bộ lọc.

Giả sử bạn có tập dữ liệu với các cột Name, Age, City. Bạn muốn lọc để hiển thị những người trên 30 tuổi ở New York hoặc bất kỳ ai ở Los Angeles. Vùng tiêu chí của bạn có thể trông như sau:

Name

Age

City

 

>30

New York

   

Los Angeles

Cài đặt add-in

  • Kutools for Excel: Kutools là một add-in toàn diện bao gồm nhiều tính năng, trong đó có khả năng tìm và thay thế dữ liệu bằng regex. Nó thêm một thẻ mới vào ribbon của Excel với nhiều công cụ, bao gồm các chức năng regex.
  • RegEx Find/Replace: Đây là một add-in cho Excel cho phép bạn tìm và thay thế văn bản bằng biểu thức chính quy. Nó tích hợp vào Excel và cung cấp chức năng tìm/thay thế nâng cao hơn so với tùy chọn tích hợp sẵn.
  • PowerGREP: Dù không phải add-in Excel trực tiếp, PowerGREP có thể làm việc với tệp Excel. Đây là công cụ grep mạnh mẽ cho Windows cho phép thao tác regex phức tạp trên tệp văn bản và nhị phân. Nó thiên về ứng dụng độc lập nhưng có thể dùng kết hợp với Excel để xử lý regex nâng cao. Tuy nhiên, không hề rẻ. Giấy phép cho một người dùng có giá 159 đô la và giá tăng lên 5.300 đô la cho 100 người dùng.

Một số add-in có thể tìm trực tiếp trong Excel qua thẻ Insert > Get Add-ins.

Số khác cần tải từ nguồn bên ngoài và làm theo hướng dẫn cài đặt của họ.

Một vài lưu ý:

  • Tương thích: Đảm bảo add-in tương thích với phiên bản Excel và hệ điều hành của bạn.
  • Bảo mật: Chỉ tải và cài add-in từ nguồn uy tín.
  • Nhu cầu chức năng: Cân nhắc các tác vụ regex cụ thể bạn cần thực hiện và chọn add-in phù hợp nhất.

Kết luận

Trong hầu hết trường hợp, các hàm gốc như FIND, SEARCH và REPLACE sẽ đáp ứng 90% nhu cầu xử lý văn bản của bạn trong Excel. Tuy nhiên, với 10% còn lại, trong những tình huống liên quan đến mẫu chuỗi phức tạp, regex có thể hỗ trợ rất nhiều. Để tìm hiểu thêm về việc áp dụng biểu thức chính quy bằng các ngôn ngữ lập trình phổ biến, hãy xem các khóa học Regular Expressions in Python và Intermediate Regular Expressions in R.

Để bắt kịp mọi thứ về Excel, hãy xem lộ trình kỹ năng Excel Fundamentals, hướng dẫn bạn qua những kỹ năng cốt lõi để thành thạo công cụ này.


Chloe Lubin's photo
Author
Chloe Lubin

Ban ngày là nhà phân tích dữ liệu, ban đêm là người kể chuyện. Tôi thích dùng kiến thức của mình để thu hẹp khoảng cách về hiểu biết dữ liệu và hỗ trợ người mới bước vào lĩnh vực này. Triết lý của tôi là học mỗi ngày, dù chỉ 5 phút!

Chủ đề
Bảng tính

Bắt đầu hành trình Excel của bạn ngay hôm nay!

Khóa học

Giới thiệu về Excel

4 giờ
277.5K
Thành thạo các kiến thức cơ bản về Excel và sử dụng công cụ bảng tính này để phân tích hiệu quả.
Xem chi tiếtRight Arrow
Bắt Đầu Khóa Học
Xem thêmRight Arrow
Liên quan

blog

Claude Opus 4.6: Tính năng, Điểm chuẩn, Bài kiểm tra thực hành và hơn thế nữa

Mô hình mới nhất của Anthropic dẫn đầu ở mã hóa tác tử và lập luận phức tạp. Thêm vào đó, nó có cửa sổ ngữ cảnh 1M.
Matt Crabtree's photo

Matt Crabtree

10 phút

Xem ThêmXem Thêm