Công thức Excel: Trích xuất từ ​​chứa văn bản cụ thể -

Công thức chung

=TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),MAX(1,FIND("@",SUBSTITUTE(A1," ",REPT(" ",99)))-50),99))

Tóm lược

Để trích xuất một từ có chứa văn bản cụ thể, bạn có thể sử dụng công thức dựa trên một số hàm, bao gồm TRIM, LEFT, SUBSTITUTE, MID, MAX và REPT. Bạn có thể sử dụng công thức này để trích xuất những thứ như địa chỉ email hoặc các chuỗi con khác với một id duy nhất.

Trong ví dụ được hiển thị, công thức trong C5 là:

=TRIM(MID(SUBSTITUTE(B5," ",REPT(" ",99)),MAX(1,FIND("@",SUBSTITUTE(B5," ",REPT(" ",99)))-50),99))

Giải trình

Ý chính: công thức này "làm ngập" không gian giữa các từ trong chuỗi văn bản với một số lượng lớn khoảng trắng, tìm và trích xuất chuỗi con quan tâm và sử dụng hàm TRIM để dọn dẹp mớ hỗn độn.

Làm việc từ trong ra ngoài, văn bản gốc trong B5 tràn ngập khoảng trắng bằng cách sử dụng SUBSTITUTE:

SUBSTITUTE(B5," ",REPT(" ",99))

Điều này thay thế mỗi không gian đơn lẻ bằng 99 khoảng trắng.

Lưu ý: 99 chỉ là một số tùy ý đại diện cho từ dài nhất mà bạn cần trích xuất.

Tiếp theo, hàm FIND định vị ký tự cụ thể (trong trường hợp này là "@") bên trong văn bản tràn ngập:

FIND("@",SUBSTITUTE(B5," ",REPT(" ",99)))-50

FIND trả về vị trí của "@" trong văn bản này, từ đó bị trừ đi 50. Trừ đi 50 một cách hiệu quả sẽ "lùi" vị trí đến một vị trí nào đó ở giữa các khoảng trống trước chuỗi con quan tâm. Trong ví dụ được hiển thị, vị trí được tính là 366.

Hàm MAX được sử dụng để xử lý vấn đề chuỗi con xuất hiện đầu tiên trong văn bản. Trong trường hợp đó, vị trí sẽ là số âm và MAX được sử dụng để đặt lại thành 1.

Với vị trí bắt đầu được thiết lập, MID được sử dụng để trích xuất 99 ký tự của văn bản, bắt đầu từ 366 từ văn bản trong B5, lại tràn ngập khoảng trắng:

MID(SUBSTITUTE(B5," ",REPT(" ",99)),366,99)

Điều này trích xuất chuỗi con quan tâm, với rất nhiều ký tự khoảng trắng trước và sau.

Cuối cùng, hàm TRIM được sử dụng để cắt bớt khoảng trống ở đầu và cuối, trả về chuỗi con chứa ký tự đặc biệt.

thú vị bài viết...