Làm cách nào để chọn nhiều cột trong truy vấn google sheet?

Nếu có 2-3 cột hoặc giả sử tối đa 10 cột, chúng ta có thể sử dụng nhiều toán tử logic OR bằng cách chỉ định từng cột

Nếu bạn có 50 cột thì sao?

Ví dụ: 'dữ liệu' QUERY đã bao gồm phạm vi A1. CÂY RÌU. Điều đó có nghĩa là số cột là 50

Tôi muốn trả về cột 1 nếu bất kỳ cột nào từ 6 đến 50 chứa một từ cụ thể

Khi bạn bắt đầu viết Công thức truy vấn, bạn sẽ thấy khó khăn. Công thức sẽ rất dài

Có thể sử dụng một trong các công thức truy vấn dưới đây để kiểm tra từ cột 6 đến cột 10

=QUERY(Sheet1!A1:AX,"Select A where F='test' or G='test' or H='test' or I='test' or J='test'",1)

hoặc

=QUERY({Sheet1!A1:AX},"Select Col1 where Col6='test' or Col7='test' or Col8='test' or Col9='test' or Col10='test'",1)

Chúng tôi có thể thấy rất khó xử lý một số cột OR trong Truy vấn như trên

Chúng tôi có thể yêu cầu sử dụng một số toán tử logic OR trong công thức Truy vấn này để kiểm tra các cột từ 6 đến 50

Một trong những cách giải quyết mà tôi đã đăng ở đây – Đơn giản hóa điều kiện trong nhiều cột trong truy vấn mệnh đề trong trang tính

Lần này tôi có một cái đơn giản hơn nhiều. chúng ta đi đây

Bao gồm một số cột HOẶC trong truy vấn (Cột văn bản)

Trong tệp Google Trang tính, tôi có một số dữ liệu

5 cột đầu tiên như sau

Tên TuổiLớp Sư phạmGiáo viênJohnnie104AJulioSarah114AJulioMicheal104AJulioAngela104BLelandFrank114BLeland

Tôi sẽ giải thích nội dung trong các cột từ cột 6 đến cột 50 là gì vì không thể đưa vào bảng trên

Trong 45 cột tiếp theo, các tiêu đề là các ngày liên tiếp từ 01-Jan-2021 đến 14-Feb-2021. Điều đó có nghĩa là F1 chứa 01-Jan-2021 và AX1 chứa 14-Feb-2021

Các cột này chứa trạng thái có mặt (đánh dấu P) và vắng mặt (đánh dấu A) của các học sinh trong cột A. Đây là một ảnh chụp màn hình mẫu để giúp bạn hiểu dữ liệu được đề cập

Làm cách nào để chọn nhiều cột trong truy vấn google sheet?

Tôi muốn dùng Query để trả về tên học sinh vắng mặt bất kỳ ngày nào từ 01-Jan-2021 đến 14-Feb-2021

Điều đó có nghĩa là tôi muốn xử lý một số cột HOẶC trong Truy vấn trong Google Trang tính. Đây là cách

Theo ví dụ trên, tôi muốn trả lại tên “Michael” và “Angela” khi họ vắng mặt lần lượt vào ngày 4 tháng 1 năm 2021 và ngày 7 tháng 1 năm 2021

Không dễ để xử lý hoặc bao gồm một số cột OR trong Truy vấn theo cách tiêu chuẩn như đã giải thích bằng một công thức ví dụ ở phần đầu

Chúng ta có thể sử dụng công thức dưới đây cho điều này trong một trang tính khác trong cùng một tệp

=QUERY({Sheet1!A1:AX,transpose(query(transpose(Sheet1!F1:AX),,9^9))}, "SELECT Col1 WHERE Col51 contains 'A'",1)

Giải thích công thức

Trong ô AY1, chèn Truy vấn bên dưới. AY hiện là cột trợ giúp. Chúng ta có thể tránh sử dụng nó sau này

=transpose(query(transpose(Sheet1!F1:AX),,9^9))

Truy vấn này làm gì?

Nó nối các cột từ cột 6 đến cột 50 lại với nhau

Làm cách nào để chọn nhiều cột trong truy vấn google sheet?

Điều này giúp chúng tôi xử lý một số cột HOẶC trong Truy vấn trong Google Trang tính. tôi sẽ cho bạn biết làm thế nào

Bây giờ thay vì kiểm tra từ cột 6 đến cột 50 xem có cột nào chứa chữ “A” (không có) không, chúng ta chỉ kiểm tra ở cột thứ 51 như bên dưới

=QUERY({Sheet1!A1:AY}, "SELECT Col1 WHERE Col51 contains 'A'",1)

Thay vì

=QUERY({Sheet1!A1:AX},"Select Col1 where Col6='test' or Col7='test' or Col8='test' or Col9='test' or Col10='test'",1)
0, tôi đã sử dụng
=QUERY({Sheet1!A1:AX},"Select Col1 where Col6='test' or Col7='test' or Col8='test' or Col9='test' or Col10='test'",1)
1 vì chúng tôi yêu cầu khớp 'một phần' trong cột 51. Khớp chuỗi con CONTAINS giúp chúng ta làm điều này

Để tránh sử dụng cột trợ giúp AY, trong công thức ban đầu, tôi đã sửa đổi 'dữ liệu'

=QUERY({Sheet1!A1:AX},"Select Col1 where Col6='test' or Col7='test' or Col8='test' or Col9='test' or Col10='test'",1)
0 như bên dưới

{Sheet1!A1:AX,transpose(query(transpose(Sheet1!F1:AX),,9^9))}

Vì vậy, bây giờ chúng ta có thể loại bỏ công thức trong ô AY1

Công thức trên không phải lúc nào cũng giúp bạn xử lý một số cột HOẶC trong Truy vấn trong Google Trang tính. Bởi vì chúng tôi đã sử dụng đối sánh một phần bằng cách sử dụng đối sánh chuỗi con CONTAINS

Giả sử chúng tôi muốn kiểm tra xem có cột nào chứa “quả táo” không

Công thức trên sẽ trả về cột 1 khớp với “quả táo” hoặc “quả dứa” trong cột 6-50

Để tránh khớp một phần này, hãy thay CONTAINS bằng MATCHES và sử dụng các tiêu chí như bên dưới

=QUERY({Sheet1!A1:AX,transpose(query(transpose(Sheet1!F1:AX),,9^9))}, "SELECT Col1 WHERE Col51 matches '.*\sapple\s.*'",1)

Không có thay đổi nào khác

Bao gồm một số cột HOẶC trong truy vấn Google Trang tính (Cột số)

Nếu các cột từ 6 đến 50 là số, thì không có thay đổi nào trong công thức kết hợp cột trợ giúp

Thay đổi duy nhất sẽ là khớp chuỗi con trong Truy vấn

Ở đây chúng ta cũng nên sử dụng MATCHES thay vì CONTAINS tương tự như đối sánh chính xác của chuỗi

Đây là công thức để xử lý một số cột số HOẶC trong Truy vấn Google Trang tính

________số 8

Điều này sẽ trả về tên từ cột A nếu bất kỳ cột nào từ 6 đến 50 khớp với số 90

Để khớp với số 190, hãy thay 90 bằng 190.

=QUERY({Sheet1!A1:AX},"Select Col1 where Col6='test' or Col7='test' or Col8='test' or Col9='test' or Col10='test'",1)
1 bao quanh số là để chỉ định các ký tự khoảng trắng