Kiến Thức Excel Các hàm lấy ký tự có điều kiện trong Excel: Hướng dẫn...

Các hàm lấy ký tự có điều kiện trong Excel: Hướng dẫn chi tiết

Để lấy ký tự theo điều kiện trong Excel, ta có thể sử dụng các hàm cơ bản như LEFT, RIGHT, MID kết hợp với hàm FIND/SEARCH hoặc kết hợp với hàm IF để lấy ký tự trong các trường hợp có điều kiện phức tạp. Dưới đây là hướng dẫn chi tiết cách lấy ký tự trong các trường hợp từ đơn giản đến phức tạp:

các hàm lấy ký tự theo điều kiện trong Excel

1. Sử dụng hàm LEFT, RIGHT, MID để lấy ký tự

Trong các chuỗi có vị trí cắt cố định (ví dụ như luôn lấy 3 ký tự tiền tố, hoặc 6 ký tự hậu tố) hoặc ta đã biết trước vị trí hoặc độ dài phần cần lấy thì ta có thể sử dụng các hàm LEFT, RIGHT, MID để lấy ký tự với công thức:

  • =LEFT(text, n) → Lấy n ký tự bên trái của text.
  • =RIGHT(text, n) → Lấy n ký tự bên phải của text.
  • =MID(text, start, n) → Lấy n ký tự, bắt đầu tại vị trí start (ví dụ tính từ 1).

Giả sử như ô A2 chứa chuỗi “INV-2025-000123” thì ta sẽ vận dụng các hàm LEFT/RIGHT/MID để cắt chuỗi ký tự trong từng trường hợp như sau:

  1. Lấy tiền tố INV (3 ký tự đầu tiên):
    • Công thức: =LEFT(A2,3)
    • Vì tiền tố luôn dài 3 ký tự, dùng hàm LEFT là tối ưu.
  2. Lấy 6 ký tự cuối 000123:
    • Công thức: =RIGHT(A2,6)
    • Khi độ dài phần cuối cố định, sử dụng hàm RIGHT là nhanh nhất.
  3. Lấy năm 2025 (bắt đầu ở vị trí 5, lấy 4 ký tự):
    • Công thức: =MID(A2,5,4)
    • Dấu - ở vị trí 4 nên năm bắt đầu từ 5 → ta sẽ dùng hàm MID.

Mẹo: Ta có thể sử dụng hàm LEN(TEXT) để tính tham số n linh hoạt hơn khi sử dụng các hàm LEFT/RIGHT/MID. Ví dụ muốn lấy phần còn lại của ô A2 sau vị trí thứ X thì ta sử dụng công thức: =RIGHT(A2, LEN(A2) - X)

cách sử dụng hàm LEFT RIGHT MID để lấy ký tự

2. Sử dụng hàm TEXTAFTER/TEXTBEFORE để lấy chuỗi sau/trước ký tự

Với phiên bản Excel 365/2021 trở lên, ta có thể sử dụng hàm TEXTAFTER/TEXTBEFORE để lấy phần trước hoặc sau ký tự từ một chuỗi với công thức như sau:

  • Hàm TEXTAFTER trả về phần sau một dấu phân cách (delimiter):
    • =TEXTAFTER(text, delimiter, [instance_num], [match_mode], [match_end], [if_not_found])
  • Hàm TEXTBEFORE trả về phần trước một dấu phân cách:
    • =TEXTBEFORE(text, delimiter, [instance_num], [match_mode], [match_end], [if_not_found])

Trong đó, các tham số gồm:

  • text: Chuỗi đầu vào.
  • delimiter: Dấu phân cách (có thể là nhiều ký tự, ví dụ ” – “).
  • instance_num (tùy chọn):
    • Số dương = lần xuất hiện tính từ trái sang phải (1 = lần đầu).
    • Số âm = tính từ phải sang trái (−1 = lần cuối).
  • match_mode (tùy chọn): 0 = phân biệt hoa/thường (mặc định), 1 = không phân biệt.
  • match_end (tùy chọn): 0 = không khớp delimiter ở cuối/đầu chuỗi, 1 = cho phép khớp ở rìa (ít dùng).
  • if_not_found (tùy chọn): Giá trị trả về nếu không tìm thấy delimiter (tránh lỗi).

Lưu ý: luôn bọc TRIM(...) nếu dữ liệu có khoảng trắng thừa.

Giả sử ô A2=HCM-HNI-DN-2025 Dưới đây là cách để sử dụng hàm TEXTAFTER/TEXTBEFORE:

Mục đích Công thức Kết quả
Lấy phần cuối sau dấu - đầu tiên =TEXTAFTER(A2,"-") HNI-DN-2025
Lấy phần đầu trước dấu - đầu tiên =TEXTBEFORE(A2,"-")
HCM
Lấy phần cuối sau dấu - cuối cùng =TEXTAFTER(A2,"-", -1)
2025
Lấy phần đầu trước dấu - cuối cùng =TEXTBEFORE(A2,"-", -1)
HCM-HNI-DN
Lấy phần sau dấu - thứ 2 =TEXTAFTER(A2,"-", 2)
DN-2025
Lấy phần giữa sau dấu - thứ 1 và thứ 2 =TEXTAFTER(TEXTBEFORE(A2,"-",2), "-",1)
HNI

công thức sử dụng hàm TEXTAFTER và TEXTBEFORE để lấy ký tự

3. Sử dụng kết hợp hàm FIND/SEARCH với hàm LEFT/RIGHT/MID

Khi vị trí cắt ký tự không cố định hoặc ta cũng không thể biết trước độ dài cần của phần ký tự cắt thì ta sẽ sử dụng kết hợp giữa hàm FIND/SEARCH với hàm LEFT/RIGHT/MID như sau:

  • Tìm vị trí cần cắt (dấu phân cách/ký tự đặc biệt) bằng hàm FIND/SEARCH.
  • Sau đó tính độ dài đoạn cần lấy dựa trên vị trí tìm được.
  • Cắt chuỗi để lấy ký tự bằng hàm LEFT/RIGHT/MID

Ví dụ ô A2= INV-2025-000123 thì ta sẽ sử dụng kết hợp hàm LEFT/RIGHT/MID với hàm FIND/SEARCH như sau:

Mục đích Công thức Kết quả
Lấy phần trước dấu - đầu tiên =LEFT(A2, FIND("-", A2) - 1) INV
Lấy phần sau dấu - đầu tiên =RIGHT(A2, LEN(A2) - FIND("-", A2))
2025-000123
Lấy phần giữa hai dấu - =MID(A2,FIND("-",A2)+1,FIND("-",A2,FIND("-",A2)+1) - FIND("-",A2) - 1)
2025

4. Kết hợp hàm IF với hàm LEFT/RIGHT/MID để xử lý lấy ký tự theo điều kiện phức tạp

Khi cần lấy ký tự với điều kiện thỏa mãn nào đó, thì ta sẽ sử dụng hàm IF kết hợp với các hàm LEFT/RIGHT/MID để:

  • Dùng hàm IF để bật/tắt việc cắt chuỗi theo điều kiện.
  • Dùng hàm AND/OR để phối hợp nhiều điều kiện.
  • Dùng hàm IFERROR/IFNA để chống lỗi khi vị trí không tồn tại.

Với ô dữ liệu A2= INV-2025-000123 ta sẽ tiến hành cắt lấy ký tự theo điều kiện với hàm IF như sau:

Mục đích Công thức  Kết quả
Nếu chuỗi bắt đầu bằng “INV” tiến hành lấy 6 ký tự cuối, nếu sai thì trả về tệp rỗng. =IF(LEFT(A2,3)="INV", RIGHT(A2,6), "") 000123
Lấy phấn trước dấu |  nếu chuỗi chứa dấu đó. Nếu không trả về nguyên chuỗi. =IF(ISNUMBER(SEARCH("|",A2)), LEFT(A2, FIND("|",A2)-1), A2)
INV-2025-000123
Ví dụ có cột C = Nhóm:
– Nếu Nhóm =”A” thì lấy 3 ký tự đầu SKU
– Nếu Nhóm khác “A” thì lấy 3 ký tự cuối SKU
=IF(C2="A", LEFT(A2,3), RIGHT(A2,3))
INV
Nếu (Nhóm = “A” HOẶC Giá > 100.000) → lấy phần sau dấu “-”, ngược lại để trống. =IF(OR(C2="A",D2>100000),MID(A2,FIND("-",A2)+1, LEN(A2)-FIND("-",A2)),"")
2025-000123

5. Các trường hợp lấy ký tự theo điều kiện trong thực tế hay gặp

Dưới đây là các trường hợp thực tế hay gặp và công thức hàm để lấy ký tự nhanh chóng để bạn có thể áp dụng trong 24 trường hợp thực tế:

eyeXem ngay 26 công thức lấy ký tự theo điều kiện mẫu

26 công thức mẫu để lấy ký tự theo điều kiện

Trên đây là hướng dẫn cực chi tiết về các hàm lấy ký tự theo điều kiện trong Excel. Tóm lại, về cơ bản để lấy ký tự ta sẽ sử dụng các hàm chính là LEFT/RIGHT/MID kết hợp với các hàm FIND/SEARCH hoặc IF để lấy ký tự theo điều kiện từ cơ bản đến phức tạp. Chúc các bạn áp dụng thành công!