Cái này đã được thử nghiệm và hoạt động (dựa trên bài viết gốc của Brad):
=RIGHT(A1,LEN(A1)-FIND("|",SUBSTITUTE(A1," ","|",
LEN(A1)-LEN(SUBSTITUTE(A1," ","")))))
Nếu chuỗi ban đầu của bạn có thể chứa một đường ống "|" ký tự, sau đó thay thế cả hai ở trên bằng một số ký tự khác sẽ không xuất hiện trong nguồn của bạn. (Tôi nghi ngờ bản gốc của Brad đã bị hỏng vì một ký tự không thể in được đã bị xóa trong bản dịch).
Phần thưởng: Cách thức hoạt động (từ phải sang trái):
LEN(A1)-LEN(SUBSTITUTE(A1," ",""))
- Đếm số khoảng trắng trong chuỗi gốc
SUBSTITUTE(A1," ","|", ... )
- Thay thế chỉ khoảng trắng cuối cùng bằng a |
FIND("|", ... )
- Tìm vị trí tuyệt đối của vị trí được thay thế |
(đó là khoảng trắng cuối cùng)
Right(A1,LEN(A1) - ... ))
- Trả về tất cả các ký tự sau đó|
EDIT: để giải thích cho trường hợp văn bản nguồn không có khoảng trắng, hãy thêm phần sau vào đầu công thức:
=IF(ISERROR(FIND(" ",A1)),A1, ... )
làm toàn bộ công thức bây giờ:
=IF(ISERROR(FIND(" ",A1)),A1, RIGHT(A1,LEN(A1) - FIND("|",
SUBSTITUTE(A1," ","|",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))))
Hoặc bạn có thể sử dụng =IF(COUNTIF(A1,"* *")
cú pháp của phiên bản khác.
Khi chuỗi gốc có thể chứa một khoảng trắng ở vị trí cuối cùng, hãy thêm hàm trim trong khi đếm tất cả các khoảng trắng: Tạo hàm như sau:
=IF(ISERROR(FIND(" ",B2)),B2, RIGHT(B2,LEN(B2) - FIND("|",
SUBSTITUTE(B2," ","|",LEN(TRIM(B2))-LEN(SUBSTITUTE(B2," ",""))))))