LEFT(text; num_chars): cắt num_chars ký tự bên trái chuỗi text. Ví dụ: LEFT("abcde";3) thì kết quả là abc
RIGHT(text; num_chars): cắt num_chars ký tự bên phải chuỗi text. Ví dụ: RIGHT("abcde";3) thì kết quả là cde
MID(text; start_num; num_chars): cắt num_chars ký tự bắt đầu từ ký tự thứ start_num trong chuỗi text. Ví dụ: MID("abcde";2;3) thì kết quả là bcd
Giả sử ta có chuỗi ký tự sau
Muốn lấy số 123 trong đoạn trên ta làm cách nào?
Tôi viết thêm hàm sau để có thể cắt chuỗi cho chủ động hơn
Sử dụng như sau: catchuoi(str, sttkytubatdaucat, catdenkhigapkytunao), tham số:
- str: chuỗi ký tự gốc
- sttkytubatdaucat: bắt đầu cắt từ vị trí này
- catdenkhigapkytunao: cắt chuỗi cho đến khi gặp ký tự này. Nếu không tìm thấy ký tự này trong chuỗi thì kết quả sẽ trả về N/A, nếu đặt là "" thì sẽ cắt đến cuối chuỗi.
Áp dụng cho trường hợp trên ta phân tích như sau: số 123 cần lấy đứng sau ký tự ":" thứ 2 trong chuỗi, ta sẽ cắt từ vị trí sau dấu ":" thứ 2 này đến khi gặp dấu cách sau 123. Ta có công thức như sau
Hàm timsttkytu bạn có thể xem ở bài trước tôi có giới thiệu http://lehoangdieu.blogspot.com/2016/04/tim-vi-tri-cua-ky-tu-trong-excel.html.
Vì timsttkytu trả về số thứ tự của dấu ":" nên ta phải cộng 2 vào.