Công thức Excel: Trích xuất nhiều dòng từ một ô -

Công thức chung

=TRIM(MID(SUBSTITUTE(A1,delim,REPT(" ",LEN(A1))), (N-1)*LEN(A1)+1, LEN(A1)))

Tóm lược

Để trích xuất các dòng từ một ô nhiều dòng, bạn có thể sử dụng một công thức thông minh (và đáng sợ) kết hợp 5 hàm Excel: TRIM, MID, SUBSTITUTE, REPT và LEN. Trong ví dụ được hiển thị, công thức trong D5 là:

=TRIM(MID(SUBSTITUTE($C5,CHAR(10),REPT(" ",LEN($C5))), (D$4-1)*LEN($C5)+1, LEN($C5)))

Giải trình

Về cơ bản, công thức này tìm dấu phân cách dòng ("delim") và thay thế nó bằng một số lượng lớn khoảng trắng bằng cách sử dụng hàm SUBSTITUTE và REPT.

Lưu ý: Trong các phiên bản Excel cũ hơn trên máy Mac, hãy sử dụng CHAR (13) thay vì CHAR (10). Hàm CHAR trả về một ký tự dựa trên mã số của nó.

Số lượng khoảng trắng được sử dụng để thay thế dấu phân cách dòng dựa trên tổng độ dài của văn bản trong ô. Sau đó, công thức sử dụng hàm MID để trích xuất dòng mong muốn. Điểm bắt đầu được giải quyết với:

(N-1)*LEN(A1)+1 // start_num

Trong đó "N" là viết tắt của "dòng thứ n", được chọn từ hàng 4 với tham chiếu D $ 4.

Tổng số ký tự được trích xuất bằng độ dài của chuỗi văn bản đầy đủ:

LEN(A1) // num_chars

Tại thời điểm này, chúng ta có "dòng thứ n", được bao quanh bởi dấu cách.

Cuối cùng, hàm TRIM loại bỏ tất cả các ký tự khoảng trắng thừa và chỉ trả về văn bản dòng.

Văn bản thành cột

Đừng quên rằng Excel có tính năng Văn bản thành Cột tích hợp có thể tách văn bản theo dấu phân cách mà bạn chọn, mặc dù nó không phải là một giải pháp động như công thức. Trên Windows, bạn có thể gõ Control + J để nhập ký tự dòng mới tương đương cho dấu phân cách "Other". Bạn cũng có thể sử dụng Control + J cho dòng mới trong các hoạt động tìm kiếm và thay thế.

Tôi không chắc cách nhập một ký tự dòng mới trong Mac Excel, làm dấu phân cách hoặc trong hộp thoại tìm kiếm và thay thế. Nếu bạn biết cách, hãy để lại bình luận bên dưới.

Liên kết tốt

Cách hiệu quả để trích xuất từ ​​thứ n từ chuỗi (diễn đàn MrExcel)

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