Google Trang tính chỉ lọc một số cột nhất định

Bài đăng này mô tả cách chọn một cột bắt buộc từ kết quả công thức mảng trong Trang tính Google Tài liệu

Nếu một trong các công thức của bạn trả về nhiều cột, bạn có thể muốn trích xuất (các) cột cụ thể bất kỳ từ đầu, giữa hoặc tại bất kỳ vị trí nào

Bạn có biết cách chỉ chọn một hoặc nhiều cột được yêu cầu từ kết quả mảng trong Google Trang tính không?

Chúng tôi có thể sử dụng ba chức năng của Google Trang tính để chỉ chọn các cột bắt buộc từ đầu ra nhiều cột. Chúng là Array_Constrain, Truy vấn và Chỉ mục

Phải kiểm tra. Hướng dẫn chức năng Google Trang tính

Một số bạn có thể hỏi tại sao chức năng Offset không được

Chúng ta không thể sử dụng hàm Offset cho mục đích nói trên vì nó có thể yêu cầu tham chiếu ô đầu tiên của một mảng/dải ô vật lý, không phải một biểu thức

Nghĩa là sử dụng Offset với cột vật lý chứ không phải cột ảo như kết quả của một công thức (biểu thức)

Bạn không thể thay thế công thức Array_Constrain bằng công thức Index hoặc ngược lại. Vì nó có thể phù hợp với các kịch bản khác nhau

Nhưng trong trường hợp chỉ chọn cột cần thiết hoặc nhiều cột trong Google Sheets, chúng ta có thể thay thế 2 hàm trên bằng Query

Dữ liệu mẫu

Đây là dữ liệu mẫu (A1. D9) cho bài kiểm tra của chúng tôi. Công thức Lọc trong ô F1 lọc các hàng có chứa tên “Evan” trong cột A

Google Trang tính chỉ lọc một số cột nhất định

Chúng tôi muốn sử dụng công thức Bộ lọc làm kết quả mảng và chỉ chọn (các) cột được yêu cầu từ nó

Hãy xem cách sử dụng các công thức Array_Constrain, Index và Query cho điều này cũng như ưu và nhược điểm của chúng

Hạn chế các cột trong Google Sheets bằng chức năng chỉ mục

ưu

  • Công thức ngắn nhất để chọn bất kỳ cột riêng lẻ nào từ kết quả mảng trong Google Trang tính

Nhược điểm

  • Chỉ có khả năng trả về một cột duy nhất. Đối với nhiều cột, bạn phải sử dụng nhiều công thức Index dưới dạng kết hợp (lồng nhau)
  • Là một hàm dễ bay hơi (theo như tôi biết), hàm Index gây ra việc tính toán lại công thức trong ô nơi nó cư trú mỗi khi Google Trang tính tính toán lại. Vì vậy, nó có thể ảnh hưởng đến hiệu suất của trang tính nếu trang tính chứa một tập dữ liệu rất lớn

Bây giờ đến công thức ví dụ

Giả sử bạn chỉ muốn chọn cột thứ ba, tôi. e. cột "Điểm 2" từ kết quả công thức Lọc. Đây là Công thức INDEX cho cùng

=index(
     {A1:D1;filter(A2:D9,A2:A9="Evan")}
     ,0,3
)

Số 3 trong công thức kiểm soát vị trí cột, có nghĩa là vị trí thứ n

Để trích xuất cột thứ 1 và thứ 3, chúng ta có thể sử dụng nhiều công thức Index cùng nhau. Đây là một ví dụ về điều này

={
index(
     {A1:D1;filter(A2:D9,A2:A9="Evan")}
     ,0,1
),
index(
     {A1:D1;filter(A2:D9,A2:A9="Evan")}
     ,0,3
)
}

Array_Constrain để giới hạn các cột

ưu

  • Công thức ngắn nhất để chọn các cột từ đầu của kết quả công thức mảng trong Google Trang tính
  • Hàm Array_Constrain dành riêng cho việc ràng buộc hàng cũng như cột. Vì vậy, theo như tôi quan tâm, nó có thể mang lại hiệu suất tốt hơn Index

Nhược điểm

  • Chỉ có khả năng trả về các cột từ đầu của một phạm vi

Hàm này hữu ích để chọn n số cột từ đầu ra mảng của một công thức

Ví dụ: chúng ta có thể trích xuất cột “Tên” bằng cột “Điểm 1” bằng công thức ARRAY_CONSTRAIN bên dưới. Điều đó có nghĩa là đầu ra của hai cột đầu tiên của công thức mảng (ở đây Công thức lọc)

=ARRAY_CONSTRAIN(
     {A1:D1;filter(A2:D9,A2:A9="Evan")}
     ,9^9,2
)

Đối với 3 cột đầu tiên, thay thế 2 cột cuối cùng bằng 3. Bây giờ bạn có thể biết đối số nào điều khiển đối số thứ n

Truy vấn để chọn cột bắt buộc từ kết quả mảng

ưu

  • Chức năng linh hoạt để chọn bất kỳ cột nào hoặc bất kỳ số lượng cột nào bất kể vị trí cột

Nhược điểm

  • Chức năng này chạy truy vấn Ngôn ngữ truy vấn API trực quan hóa của Google. Vì vậy, chỉ sử dụng nó khi bạn không hài lòng với Array_Constrain

QUERY là hàm tốt nhất để hạn chế/trích xuất/chọn n số cột từ bất kỳ vị trí nào của kết quả mảng trong Google Trang tính

Trong trường hợp 2 công thức trên (Index và Array_Constrain) không đáp ứng được yêu cầu của bạn, hãy sử dụng Query

Để chọn cột 1 và 4, hãy sử dụng Công thức truy vấn bên dưới

=query(
     {A1:D1;filter(A2:D9,A2:A9="Evan")},
     "Select Col1,Col4"
)

Bằng cách thay đổi số cột, bạn có thể dễ dàng trích xuất các cột cần thiết. Trong truy vấn trên Col1= Cột 1, Col4 = Cột 4. Bằng cách thay đổi điều đó, bạn có thể thay đổi lựa chọn cột

Phần kết luận

Trong tất cả các ví dụ trên, thay vì dùng công thức Filter như biểu thức, chúng ta có thể sử dụng bất kỳ hàm nào trả về kết quả mảng. Ví dụ: chức năng GoogleFinace

Trước khi kết thúc hướng dẫn Google Trang tính này, đây là một mẹo nữa

Trong tất cả các công thức trên, chúng ta phải xác định các cột để chọn, phải không?

Ví dụ tôi muốn chọn cột “Điểm 2” và tôi không biết số cột. Trong trường hợp này, chúng ta có thể sử dụng chính chức năng Lọc