TEXTBEFORE / TEXTAFTER
Văn bảnNên biếtExcel 365
TEXTBEFORE(chuỗi, dấu_ngăn, [lần_thứ_mấy], [phân_biệt_hoa_thường], [khớp_tới_cuối], [nếu_không_thấy])TEXTAFTER(chuỗi, dấu_ngăn, [lần_thứ_mấy], [phân_biệt_hoa_thường], [khớp_tới_cuối], [nếu_không_thấy])Lấy phần chữ nằm TRƯỚC hoặc SAU một dấu ngăn cho trước. Làm gọn đúng việc mà trước đây phải ghép LEFT với FIND, và không cần đếm ký tự nữa.
Các đối số
| Đối số | Bắt buộc? | Ý nghĩa |
|---|---|---|
| chuỗi | Bắt buộc | Ô cần tách. |
| dấu_ngăn | Bắt buộc | Ký tự hoặc cụm chữ dùng làm mốc: dấu gạch, dấu phẩy, dấu cách, chữ @, hoặc CHAR(10) nếu ô có xuống dòng. |
| lần_thứ_mấy | Tuỳ chọn | Lấy theo lần xuất hiện thứ n của dấu ngăn, mặc định là 1. Số ÂM thì đếm ngược từ cuối chuỗi: -1 là dấu ngăn cuối cùng. |
| phân_biệt_hoa_thường | Tuỳ chọn | 0 là không phân biệt (mặc định), 1 là có phân biệt. |
| nếu_không_thấy | Tuỳ chọn | Trả về gì khi không có dấu ngăn trong chuỗi. Bỏ trống thì ra #N/A. |
Ví dụ
=TEXTBEFORE(A2, "-")Lấy loại chứng từ từ mã HD-2026-0459
Kết quả: HD
=TEXTAFTER(A2, "-", -1)Lấy phần sau dấu gạch CUỐI CÙNG, tức số thứ tự
Kết quả: 0459
=TEXTBEFORE(B2, "@", 1, 0, 0, B2)Tách tên đăng nhập từ email, ô nào không phải email thì giữ nguyên
Kết quả: ketoan
Lưu ý khi dùng
- Hai hàm này chỉ có ở Excel 365 và Excel 2024. File gửi sang máy dùng bản cũ sẽ hiện thành _xlfn.TEXTBEFORE và trả về #NAME?.
- Bản cũ làm cùng việc bằng LEFT ghép FIND, dài hơn nhưng chạy ở mọi nơi — file gửi ra ngoài thì nên chọn cách đó.
Bẫy hay dính
Mặc định hai hàm lấy theo lần xuất hiện ĐẦU TIÊN của dấu ngăn. Chuỗi có nhiều dấu ngăn kiểu "Hà Nội - Cầu Giấy - Kho A" thì TEXTAFTER trả về "Cầu Giấy - Kho A", một chuỗi hoàn toàn hợp lệ nên nhìn lướt không thấy sai, tới lúc gộp nhóm mới lộ ra thừa. Muốn lấy đúng khúc cuối thì ghi lần_thứ_mấy bằng -1.