Công thức mảng linh hoạt để kết hợp các cột trong Google Sheets

Nếu bạn đang tìm kiếm một công thức mảng linh hoạt để kết hợp các cột trong Google Sheets, bạn đã đến đúng nơi! Tôi có hai giải pháp tốt nhất cho bạn.

Chúng ta có thể kết hợp các cột bằng cách sử dụng công thức Truy vấn cơ bản chỉ sử dụng đối số tiêu đề. Đúng vậy! Bạn đã nghe đúng rồi.

Ví dụ, chúng tôi thường phụ thuộc vào các hàm văn bản có sẵn để kết hợp tên đầu và tên cuối trong hai cột.

Cách làm như thế nào?

Chúng là Join, Text Join, Concat và Concatenate. Nhưng không có hàm nào hỗ trợ mảng theo cách chúng ta muốn. Chúng ta sẽ thấy ví dụ về điều này sau đây.

Cập nhật:

Bây giờ chúng ta có thể sử dụng các hàm văn bản này với Lambda hỗ trợ để hoạt động theo yêu cầu. Tôi sẽ thêm những giải pháp đó vào cuối bài hướng dẫn này.

Lựa chọn cuối cùng còn lại với chúng tôi là ký hiệu ampersand, yêu cầu các cột vật lý. Nếu chúng ta có một mảng năm cột được trả về bởi công thức Lọc, để kết hợp, chúng ta phải lấy từng cột ra trước.

Nhưng tôi có một giải pháp đơn giản và tinh tế sử dụng một Truy vấn sẽ hoạt động với cả các cột vật lý và ảo.

Tôi muốn kết hợp những tên này trong một cột thứ ba.

Hãy kiểm tra một số công thức chúng tôi thường sử dụng để kết hợp văn bản. Sau đó, chúng ta có thể đi đến giải pháp cuối cùng.

Tương tự: Xếp dữ liệu trong Google Sheets – Mẹo và thủ thuật bảng tính

Kết hợp các cột sử dụng các hàm Join, Textjoin và Concatenate

Chèn bất kỳ công thức sau vào ô C2 và sao chép dán xuống.

Chúng ta sẽ bắt đầu với hàm Join.

=JOIN(" ",A2:B2)

Công thức Concatenate sau cũng hoạt động tương tự.

=CONCATENATE(A2," ",B2)

Trong hai công thức trên, khoảng trắng là dấu phân cách giữa tên đầu và tên cuối.

Còn công thức Textjoin này thì sao?

=textjoin(" ",TRUE,A2:B2)

Đây cũng là một công thức kéo xuống (sao chép) và ký tự khoảng trắng được sử dụng làm dấu phân cách.

Nhưng, nó có một ưu điểm bổ sung.

Công thức sẽ không thêm dấu phân cách nếu bạn quên nhập tên đầu tiên hoặc tên cuối cùng. Vì vậy, kết quả sẽ trông đẹp.

Tất cả đều là các công thức không sử dụng mảng để kết hợp các cột trong Google Sheets. Tuy nhiên, chúng ta có thể chuyển đổi chúng thành các công thức mảng bằng cách sử dụng một hàm Lambda. Chúng ta sẽ thấy điều đó sau.

Hai công thức mảng sử dụng Concat và Ampersand

Tôi có thể đề xuất sử dụng dấu ampersand nếu bạn hỏi tôi phương pháp công thức mảng dễ nhất để kết hợp các cột trong Google Sheets.

=ArrayFormula(A2:A11&" "&B2:B11)

Công thức Concat này cũng hoạt động nhưng chỉ với hai cột. Vì vậy, nó không phải là một cách lý tưởng!

=ArrayFormula(concat(A2:A11&" ",B2:B11))

Công thức đầu tiên sử dụng ampersand cũng có nhược điểm của nó. Nhược điểm đó là gì?

Nếu bạn chèn một cột mới giữa các cột A và B và muốn kết hợp ba cột, bạn phải sửa công thức thủ công.

Ví dụ, tôi đã chèn một cột mới chứa tên đệm. Nhưng công thức chỉ sẽ kết hợp tên đầu tiên và tên cuối.

Một vấn đề khác là chúng ta không thể sử dụng các biểu thức (các cột ảo). Bạn muốn xem một ví dụ về điều này? Đây là nó!

Với một sự kết hợp giữa công thức Lọc và Regexmatch, chúng ta có thể lọc tất cả các tên trong cột A, bắt đầu bằng chữ cái “E”.

=filter(A2:B11,regexmatch(A2:A11,"(?i)E"))

Công thức sẽ trả về các tên sau đây.

Filter and Combine in Google Sheets

Còn việc lọc và kết hợp cùng nhau thì sao?

Hãy làm điều đó bằng công thức mảng linh hoạt của tôi để kết hợp các cột.

1. Công thức mảng linh hoạt để kết hợp các cột trong Google Sheets – QUERY

Trước tiên, hãy xem công thức.

=transpose(query(transpose(A2:B11),,COLUMNS(A2:B11)))

Nếu bạn muốn sử dụng một biểu thức, ví dụ như một bộ lọc như đã đề cập trước đó, thay vì A2:B11, hãy sử dụng công thức bộ lọc.

=transpose(query(transpose(filter(A2:B11,regexmatch(A2:A11,"(?i)E"))),,COLUMNS(A2:B11)))

Cấu trúc công thức

Xem cú pháp: QUERY(data, query, [headers])

Nếu bạn sử dụng bất kỳ dữ liệu nào trong công thức Truy vấn mà không có truy vấn, nó sẽ trả về dữ liệu như cũ.

Trong Truy vấn của chúng tôi, dải B2:B11 đã được chuyển vị là dữ liệu.

=query(transpose(A2:B11))

Chúng ta đã chuyển vị hai cột. Vì vậy chúng ta có hai hàng.

Chúng ta sẽ cho Truy vấn biết rằng hai hàng này là tiêu đề.

=query(transpose(A2:B11),,2)

Chúng ta sẽ nhận được kết quả như sau:

Query Result in Google Sheets

Thay vì đặt cứng #2, chúng ta có thể sử dụng hàm Columns để trả về động số cột trong phạm vi dữ liệu A2:B11 (số hàng trong phạm vi dữ liệu chuyển vị A2:B11).

Đó là những gì tôi đã làm. Sau đó, chuyển vị dữ liệu một lần nữa.

2. Công thức mảng linh hoạt để kết hợp các cột trong Google Sheets – BYROW

Sử dụng Byrow, một trong những hàm trợ giúp của Lambda, chúng ta có thể mở rộng kết quả của các hàm văn bản đã đề cập ở đầu bài hướng dẫn này.

Ở đây, tôi chọn Textjoin, vì nó có thể bỏ qua các ô trống.

Đây là công thức mảng linh hoạt thứ hai để kết hợp các cột trong Google Sheets.

=byrow(A2:B11,lambda(r,textjoin(" ",true,r)))

Đó là tất cả. Cảm ơn vì đã ở lại. Chúc bạn vui vẻ!

Crawlan.com

Related posts