Công thức Excel: Cắt văn bản thành n từ -

Mục lục

Công thức chung

=LEFT(txt,FIND("#",SUBSTITUTE(txt," ","#",n))-1)

Tóm lược

Để cắt văn bản thành một số từ nhất định, bạn có thể sử dụng công thức dựa trên các hàm SUBSTITUTE, FIND và LEFT. Trong ví dụ được hiển thị, công thức trong xxx là:

=LEFT(B5,FIND("#",SUBSTITUTE(B5," ","#",C5))-1)

Giải trình

Chúng ta cần một cách để tách văn bản tại một điểm đánh dấu nhất định tương ứng với một số từ nhất định. Excel không có chức năng tích hợp để phân tích cú pháp văn bản theo từng từ, vì vậy đang sử dụng đối số "phiên bản" của hàm SUBSTITUTE để thay thế ký tự "khoảng trắng thứ n" bằng dấu thăng (#), sau đó sử dụng FIND và LEFT để loại bỏ tất cả văn bản sau điểm đánh dấu.

Làm việc từ trong ra ngoài, SUBSTITUTE được định cấu hình để thay thế lần xuất hiện thứ n của một ký tự khoảng trắng, trong đó n đến từ cột C, văn bản đến từ cột B và "#" được mã hóa cứng.

=SUBSTITUTE(B5," ","#",C5) =SUBSTITUTE("The cat sat on the mat."," ","#",3) ="The cat sat#on the mat."

Chuỗi kết quả được trả về hàm FIND, được cấu hình để tìm kiếm "#".

=FIND("#","The cat sat#on the mat.)

Vì "#" là ký tự thứ 12 trong văn bản, FIND trả về 12. Chúng tôi không muốn thêm ký tự khoảng trắng vào, vì vậy chúng tôi trừ đi 1:

=LEFT(B5,12-1) =LEFT(B5,11)

LEFT trả về kết quả cuối cùng từ công thức, "The cat sat".

Lưu ý: ký tự pound ("#") là tùy ý và có thể được thay thế bằng bất kỳ ký tự nào không xuất hiện trong văn bản.

Thêm nhật thực hoặc ký tự khác

Để thêm "…" vào cuối văn bản đã cắt, hãy sử dụng cách nối như sau:

=LEFT(B5,FIND("#",SUBSTITUTE(B5," ","#",C5))-1)&"… "

Bạn có thể thay thế "…" bằng bất kỳ thứ gì bạn thích.

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