Kiến Thức Excel Cách lấy ký tự ở giữa có điều kiện trong Excel với...

Cách lấy ký tự ở giữa có điều kiện trong Excel với hàm MID kết hợp IF/FIND/RESEARCH

Để lấy ký tự ở giữa của một chuỗi theo điều kiện ta sử dụng hàm MID kết hợp với hàm IF hoặc hàm FIND/RESEARCH. Dưới đây là hướng dẫn chi tiết kèm ví dụ minh họa:

1. Sử dụng hàm MID kết hợp hàm IF để lấy ký tự theo điều kiện

Ta đã biết rằng:

  • Hàm MID(text, start_num, num_chars) lấy chuỗi ký tự từ vị trí bắt đầu start_num với số lượng ký tự num_chars.
  • Hàm IF(logical_test, value_if_true, value_if_false) để kiểm tra điều kiện và trả về kết quả tương ứng nếu đúng và sai điều kiện.

Như vậy, khi ta kết hợp hàm MID với hàm IF thì ta có thể cắt chuỗi ký tự theo điều kiện nào đó. Cú pháp kết hợp chung hàm MID và IF như sau:

=IF(Điều kiện, MID(text, start_num, num_chars), "")

Ví dụ 1: ta muốn lấy 7 ký tự ở giữa (từ ký tự thứ tự 5) của ô A2 nhưng chỉ lấy khi 3 ký tự đầu tiên của A2 là “SKU“. Thì công thức như sau:

=IF(LEFT(A2,3)="SKU", MID(A2, 5, 7), "")

Giả sử ô A2 chứa SKU:ABC-999 thì kết quả sẽ trả về là ABC-999

ví dụ 1 kết hợp hàm IF với hàm MID

VD2: Tiếp theo ta sẽ đến với 1 ví dụ phức tạp hơn, ví dụ ta muốn cắt lấy mã SKU ABC-999 trong chuỗi [SKU: ABC-999]-Blue và chỉ cắt khi chuỗi có chứa SKU, lúc này ta sẽ sử dụng công thức sau:

=IF( ISNUMBER(SEARCH("SKU",A2)),
MID(A2, FIND("[SKU: ",A2)+LEN("[SKU: "),
FIND("]",A2)-FIND("[SKU: ",A2)-LEN("[SKU: ")),
"")

Trong đó:

  • ISNUMBER(SEARCH("SKU",A2)) giúp xác định điều kiện tìm SKU trong chuỗi, nếu có trả về giá trị TRUE, nếu không có trả về giá trị FALSE.
  • FIND("[SKU: ",A2) + LEN("[SKU: ") tìm ra vị trí đầu tiên của phần cắt sau SKU
  • FIND("]",A2) - FIND("[SKU: ",A2) - LEN("[SKU: ") giúp tìm độ dài chính xác để hàm MID cắt chuỗi ký tự.

ví dụ 2 kết hợp hàm IF với hàm MID

Do đó, để trích lấy ký tự ở giữa với hàm MID với hàm IF theo điều kiện thì ta chỉ cần tuân thủ công thức chung để biến đổi linh hoạt là được.

2. Sử dụng hàm MID kết hợp với hàm FIND/RESEARCH để cắt chuỗi ký tự ở giữa 

Với một chuỗi ký tự (ví dụ như SKU:ABC-999) ta có thể sử dụng hàm MID để cắt lấy các chuỗi ký tự ở giữa như phía sau dấu : hoặc - bằng cách sử dụng hàm FIND/RESEARCH để tìm vị trí của ký tự đó trong chuỗi làm vị trí bắt đầu cắt chuỗi trong hàm MID.

Cú pháp tổng quát:

=MID(văn bản, FIND("ký_tự_tìm", văn bản) + 1, số_ký_tự)

Trong đó:

  • FIND("ký_tự_tìm", văn bản) giúp tìm vị trí của “Ký tự tìm” trong chuỗi văn bản. (Lưu ý hàm FIND không phân biệt chữ hoa/chữ thường. Nếu muốn phân biệt chữ hoa/chữ thường thì sử dụng hàm SEARCH để thay thế).
  • Sau đó ta cộng thêm 1 (+1) để xác định được vị trí bắt đầu cần cắt cho hàm MID.
  • số_ký_tự là số lượng ký tự muốn tách ra từ chuỗi.

Ví dụ, với ô A4=SKU:ABC-999 ta muốn tách 7 ký tự sau dấu : trong chuỗi thì sử dụng công thức sau:

=MID(A4,FIND(":",A4)+1,7)

Kết quả của hàm trên sẽ trả về ABC-999 tương ứng với mã SKU cần tách trong chuỗi.

ví dụ sử dụng hàm MID với hàm FIND

Với các ví dụ phức tạp hơn, ta hoàn toàn có thể kết hợp hàm MID với các hàm LEN/FIND/SEARCH để thực hiện:

Trên đây là hướng dẫn cách lấy ký tự ở giữa theo điều kiện với cách sử dụng hàm MID và kết hợp với hàm IF và FIND/SEARCH. Chúc các bạn áp dụng thành công!