feelingyes đã viết:
Trong công thức này có một số em không hiểu, rất mong được những đàn anh đi trước chỉ dạy
=IF(ISERROR(FIND(" ",TRIM(A2),1)),"",RIGHT(TRIM(A2),LEN(TRIM(A2)) -FIND("#",SUBSTITUTE(TRIM(A2)," ","#",LEN(TRIM(A2))-LEN(SUBSTITUTE(TRIM(A2)," ",""))))))
---> đặc biệt là ký tự "#" có ý nghĩa đại diện như thế nào ạ?
1. Trước tiên CT này kiểm tra xem chuỗi A2 có chứa khoảng trắng " " không nếu không có thì trả về rỗng ""
2. Nếu có chứa khoảng trắng thì dùng hàm Right cắt chuỗi A2 từ bên phải với độ dài được tính ra từ cụm:
LEN(TRIM(A2))-FIND("#",SUBSTITUTE(TRIM(A2)," ","#",LEN(TRIM(A2))-LEN(SUBSTITUTE(TRIM(A2)," ",""))))
3. Phần đầu của cụm trên tính độ dài của chuỗi A2 (đã loại bớt các khoảng trắng dư thừa)
4. Phần sau quan trọng đây:
FIND("#",SUBSTITUTE(TRIM(A2)," ","#",LEN(TRIM(A2))-LEN(SUBSTITUTE(TRIM(A2)," ",""))))
5. Tìm vị trí ký tự # trong chuỗi là kết quả trả về của cụm
SUBSTITUTE(TRIM(A2)," ","#",LEN(TRIM(A2))-LEN(SUBSTITUTE(TRIM(A2)," ","")))
6. Cụm CT trên sẽ tìm các khoảng trắng trong chuỗi A2 và thay vào bằng ký tự "#" và bắt đầu thay tại instance thứ LEN(TRIM(A2))-LEN(SUBSTITUTE(TRIM(A2)," ","")) là kết quả trả về của cụm CT này
7. Cụm CT này LEN(TRIM(A2))-LEN(SUBSTITUTE(TRIM(A2)," ","")) lấy chiều dài của chuỗi A2 trừ cho chiều dài đã loại bỏ tất cả khoảng trắng --> số instance cần thay "#" vào.
8. Từ đó CT sẽ xác định được vị trí cần tìm tại bước 4 (hàm Find), và từ đó dùng hàm Right tại bước 2 cắt ra chuỗi cần thiết
Hy vọng bạn hiểu, có thắc mắc gì thì hỏi lại
TP