Để lấy ký tự sau dấu gạch ngang (-) trong Excel, ta có thể sử dụng kết hợp các hàm LEN, MID, FIND, TEXTAFTER. Dưới đây là hướng dẫn chi tiết các cách áp dụng trong từng trường hợp cụ thể:
1. Lấy tất cả các ký tự sau dấu – gạch ngang đầu tiên
Ví dụ ô A2 chứa mã SKU như sau SKU-2025, giờ ta muốn tách phần năm 2025 trong mã SKU sau dấu gạch ngang đầu tiên thì ta có thể sử dụng công thức sau:
- Phiên bản Excel 365/2021 trở lên:
=TEXTAFTER(A2, "-")- Hàm TEXTAFTER trả về toàn bộ phần sau dấu – đâu tiên trong ô A2.
- Phiên bản Excel 2019 trở xuống:
=MID(A2, FIND("-", A2) + 1, LEN(A2))- Hàm
FIND("-",A2)+1: vị trí ký tự ngay sau dấu- - Hàm
MID(..., ..., LEN(A2))cắt từ vị trí tìm được ở hàm FIND đến hết chuỗi.
- Hàm
Trong trường hợp ta nếu không có dấu – thì hàm trả về rỗng thay vì thông báo lỗi thì sẽ bọc thêm hàm IFEROR(...,"") như sau:
=IFERROR(TEXTAFTER(A2, "-"), "")=IFERROR(MID(A2, FIND("-", A2) + 1, LEN(A2)), "")
Nếu hay gặp lỗi có khoảng trắng sau dấu gạch ngang - (ví dụ: “Mã - 001“) thì ta bọc thêm hàm TRIM để loại bỏ khoảng trắng thừa:
=TRIM(IFERROR(TEXTAFTER(A2,"-"), ""))=TRIM(IFERROR(MID(A2,FIND("-",A2)+1,LEN(A2)),""))
2. Lấy tất cả các ký tự sau dấu gạch ngang – cuối cùng
Ví dụ với chuỗi có nhiều dấu gạch ngang như ô A3 chứa SP-ALPHA-001 và muốn lấy phần 001 nằm sau dấu gạch ngang cuối cùng của ô A3 thì ta sử dụng công thức sau:
- Excel 365/2021 trở lên:
=TEXTAFTER(A3, "-", -1)-1ở tham sốinstance_numnghĩa là lấy sau lần xuất hiện cuối cùng.
- Excel 2019 trở về:
=MID(A3,FIND("♦", SUBSTITUTE(A3, "-", "♦", LEN(A3)-LEN(SUBSTITUTE(A3,"-","")))) + 1,LEN(A3))LEN(A2)-LEN(SUBSTITUTE(A2,"-","")): đếm số dấu gạch ngang-SUBSTITUTE(..., "-", "♦", số_lần): thay dấu gạch ngang-cuối bằng ký tự đánh dấu (ở đây là♦).FIND("♦", ...): Tìm vị trí của ký tự đánh dấu rồi cắt phần phía sau.
Lưu ý: Ta có thể bọc thêm hàm IFEROR để loại bỏ thông báo lỗi khi không tìm thấy dấu gạch ngang hoặc hàm TRIM để loại bỏ các khoảng trắng thừa ở phần kết quả tìm được nếu cần như mục 1.
3. Lấy ký tự từ dấu gạch ngang thứ n trở đi
Với chuỗi có nhiều dấu gạch nối như A17 là 2025-09-22-report và ta chỉ muốn lấy ký tự nằm sau dấu gạch nối thứ 2 trở đi (22-report) thì ta sử dụng công thức sau:
- Excel 365/2021 trở lên:
=TEXTAFTER(A17, "-", 2) - Excel 2019 trở xuống:
=MID(A17,FIND("♦", SUBSTITUTE(A17,"-","♦", 2)) + 1,LEN(A17))
Trong 2 công thức trên, ta có thể đổi số 2 thành n để lấy ký tự sau dấu gạch ngang thứ n.
Để tránh hiển thị thông báo lỗi khi không tìm thấy dấu gạch ngang thì ta cũng nên sử dụng hàm IFEROR bọc bên ngoài:
=IFERROR(TEXTAFTER(A2, "-", 2), "")=IFERROR(MID(A2,FIND("♦", SUBSTITUTE(A2,"-","♦", 2)) + 1,LEN(A2)),"")
Xem File thực hành cách lấy ký tự sau dấu gạch ngang
Trên đây là hướng dẫn chi tiết cách để sử dụng hàm lấy phần chuỗi ký tự sau dấu gạch ngang/gạch nối trong Excel. Với cách này ta có thể áp dụng trong các tình huống như tách các phần tử trong mã SKU, mã hóa đơn, đường dẫn file, địa chỉ, đơn đặt hàng,… trong quá trình làm việc với bảng tính. Mong rằng bài viết hữu ích và áp dụng thành công!
Các hàm Excel sử dụng trong bài viết:
| Hàm | Mô tả | Có từ phiên bản |
| TEXTAFTER | Trả phần chuỗi sau 1 đoạn văn bản | Microsoft 365 / 2021 |
| MID | Cắt chuỗi từ vị trí xác định | Tất cả |
| FIND | Tìm vị trí chuỗi con (phân biệt HOA/thường) | Tất cả |
| LEN | Độ dài chuỗi | Tất cả |
| TRIM | Xoá khoảng trắng thừa | Tất cả |
| TEXT | Định dạng số về chuỗi | Tất cả |



