Cách sử dụng hàm QUERY của Google Sheets – mệnh đề chuẩn và công cụ thay thế

  • Chia Sẻ Cái Này
Michael Brown

Nếu đã theo dõi blog này một thời gian, bạn có thể nhớ chức năng QUERY cho Google Trang tính. Tôi đã đề cập đến nó như một giải pháp khả thi cho một vài trường hợp. Nhưng những điều đó vẫn chưa đủ để khám phá hết tiềm năng của nó. Hôm nay, đã đến lúc chúng ta hiểu đúng về siêu anh hùng bảng tính này. Và đoán xem – một công cụ đáng chú ý không kém cũng sẽ có ở đó :)

Bạn có biết rằng chức năng QUERY của Google Trang tính được coi là chức năng mạnh nhất trong bảng tính không? Cú pháp đặc biệt của nó hỗ trợ hàng chục thao tác khác nhau. Chúng ta hãy thử chia nhỏ các phần của nó để tìm hiểu chúng một lần và mãi mãi nhé?

    Cú pháp của hàm QUERY trên Google Trang tính

    Thoạt nhìn, Google Trang tính QUERY là chỉ là một hàm khác với 1 đối số tùy chọn và 2 đối số bắt buộc:

    =QUERY(data, query, [headers])
    • data là phạm vi cần xử lý. Yêu cầu. Mọi thứ đều rõ ràng ở đây.

      Lưu ý. Chỉ có một lời nhắc nhỏ do Google thiết lập ở đây: mỗi cột phải chứa một loại dữ liệu: văn bản hoặc số hoặc boolean. Nếu có nhiều loại khác nhau, QUERY sẽ hoạt động với loại xuất hiện nhiều nhất. Các loại khác sẽ được coi là các ô trống. Lạ, nhưng hãy ghi nhớ điều đó.

    • truy vấn là cách xử lý dữ liệu . Yêu cầu. Đây là nơi tất cả những niềm vui bắt đầu. Hàm QUERY của Google Trang tính sử dụng một ngôn ngữ đặc biệt cho đối số này: Google Visualization APItiêu chí
    • chọn địa điểm cho kết quả
    • chèn kết quả dưới dạng cả công thức QUERY hoặc dưới dạng giá trị

    Tôi không đùa đâu, hãy tự mình xem. Mặc dù GIF này đã được tăng tốc, nhưng tôi chỉ mất chưa đầy một phút để tinh chỉnh tất cả các tiêu chí và nhận được kết quả:

    Nếu bạn đủ tò mò, đây là chi tiết video cho biết cách thức hoạt động của tiện ích bổ sung:

    Tôi hy vọng bạn sẽ cho tiện ích này một cơ hội và mua tiện ích bổ sung này từ Google Workspace Marketplace. Đừng ngại chia sẻ phản hồi của bạn, đặc biệt nếu có điều gì đó về nó mà bạn không thích.

    Ngoài ra, vui lòng xem trang hướng dẫn hoặc trang chủ của nó.

    Ngôn ngữ truy vấn. Nó được viết theo cách tương tự như SQL. Về cơ bản, đó là một tập hợp các mệnh đề (lệnh) đặc biệt được sử dụng để cho hàm biết phải làm gì: chọn, nhóm theo, giới hạn, v.v.

    Lưu ý. Toàn bộ đối số phải được đặt trong dấu ngoặc kép. Đến lượt mình, các giá trị nên được đặt trong dấu ngoặc kép.

  • tiêu đề là tùy chọn khi bạn cần cho biết số hàng tiêu đề trong dữ liệu của mình. Bỏ qua đối số (như tôi làm bên dưới) và Google Trang tính QUERY sẽ thừa nhận đối số đó dựa trên nội dung trong bảng của bạn.
  • Bây giờ, hãy tìm hiểu sâu hơn về các mệnh đề và tác dụng của chúng.

    Các mệnh đề được sử dụng trong công thức QUERY của Google Trang tính

    Ngôn ngữ truy vấn bao gồm 10 mệnh đề. Thoạt nhìn chúng có thể khiến bạn sợ hãi, đặc biệt nếu bạn không quen với SQL. Nhưng tôi hứa rằng, sau khi bạn làm quen với chúng, bạn sẽ có được vũ khí bảng tính mạnh mẽ theo ý của mình.

    Tôi sẽ đề cập đến từng mệnh đề và cung cấp các ví dụ về công thức bằng cách sử dụng danh sách các sinh viên tưởng tượng này và các chủ đề trên giấy của họ :

    Đúng vậy, tôi là một trong những kẻ lập dị nghĩ sao Diêm Vương nên là một hành tinh :)

    Mẹo. Một số mệnh đề có thể được sử dụng trong một chức năng QUERY của Google Trang tính. Nếu bạn lồng tất cả chúng, hãy đảm bảo tuân theo thứ tự xuất hiện của chúng trong bài viết này.

    Chọn (tất cả hoặc cột cụ thể)

    Mệnh đề đầu tiên – select – được sử dụng để cho biết bạn cần trả về những cột nào với Google Trang tính QUERYtừ một trang tính hoặc bảng khác.

    Ví dụ 1. Chọn tất cả các cột

    Để tìm nạp từng và mọi cột, hãy sử dụng select có dấu hoa thị – select *

    =QUERY(Papers!A1:G11,"select *")

    Mẹo. Nếu bạn bỏ qua tham số select , Google Trang tính QUERY sẽ trả về tất cả các cột theo mặc định:

    =QUERY(Papers!A1:G11)

    Ví dụ 2. Chọn các cột cụ thể

    Để chỉ kéo một số cột nhất định , liệt kê chúng sau mệnh đề select :

    =QUERY(Papers!A1:G11, "select A,B,C")

    Mẹo. Các cột quan tâm sẽ được sao chép theo cùng thứ tự mà bạn đề cập đến chúng trong công thức:

    =QUERY(Papers!A1:G11, "select C,B,A")

    Google Trang tính QUERY – Mệnh đề Where

    Google Trang tính QUERY where được sử dụng để đặt các điều kiện đối với dữ liệu bạn muốn nhận. Nói cách khác, nó hoạt động như một bộ lọc.

    Nếu bạn sử dụng mệnh đề này, hàm QUERY cho Google Trang tính sẽ tìm kiếm các cột để tìm các giá trị đáp ứng các điều kiện của bạn và tìm nạp tất cả các giá trị phù hợp về cho bạn.

    Mẹo. Where có thể hoạt động mà không cần mệnh đề select .

    Như thường lệ, để chỉ định điều kiện, có các nhóm toán tử đặc biệt dành cho bạn:

    • toán tử so sánh đơn giản ( dành cho giá trị số ): =, , >, >=, <, <=
    • toán tử so sánh phức tạp ( dành cho chuỗi ): chứa, bắt đầu bằng, kết thúc với, khớp, != (không khớp / không bằng), như các toán tử logic .
    • để kết hợp một số điều kiện : và, hoặc, not .
    • toán tử cho blank/ không rỗng : không rỗng .

    Mẹo. Nếu bạn khó chịu hoặc lo lắng về việc phải đối phó với một số lượng lớn các nhà khai thác như vậy, chúng tôi cảm thấy bạn. Nhiều kết quả Vlookup phù hợp của chúng tôi sẽ tìm thấy tất cả các kết quả phù hợp và tạo công thức QUERY trong Google Trang tính cho bạn nếu cần.

    Hãy xem cách các toán tử này hoạt động trong công thức.

    Ví dụ 1. Where với các số

    Tôi sẽ thêm where vào Google Trang tính của mình QUERY từ bên trên để nhận thông tin về những hành tinh có hơn 10 mặt trăng:

    =QUERY(Papers!A1:G11,"select A,B,C,F where F>=10")

    Mẹo. Tôi cũng đã đề cập đến việc tìm nạp cột F chỉ để đảm bảo tiêu chí được đáp ứng. Nhưng nó hoàn toàn không bắt buộc. Bạn không cần phải đưa các cột có điều kiện vào kết quả:

    =QUERY(Papers!A1:G11,"select A,B,C where F>=10")

    Ví dụ 2. Ở đâu với chuỗi văn bản

    • Tôi muốn xem tất cả các hàng có điểm là F hoặc F+ . Tôi sẽ sử dụng toán tử contains cho điều đó:

      =QUERY(Papers!A1:G11,"select A,B,C,G where G contains 'F'")

      Lưu ý. Đừng quên bao quanh văn bản của bạn với dấu ngoặc kép.

    • Để nhận tất cả các hàng chỉ có F , chỉ cần thay contains bằng dấu bằng (=):

      =QUERY(Papers!A1:G11,"select A,B,C,G where G="F"")

    • Để kiểm tra các bài chưa được chuyển đến (khi điểm bị thiếu), hãy kiểm tra cột G để tìm khoảng trống:

      =QUERY(Papers!A1:G11,"select A,B,C,G where G is null'")

    Ví dụ 3. Ở đâu với ngày tháng

    Đoán xem: Google Trang tính QUERY thậm chí đã quản lý để thuần hóa ngày tháng!

    Vì bảng tính lưu trữ ngày tháng dưới dạng số sê-ri nên thông thường, bạn phảinhờ đến sự trợ giúp của các hàm đặc biệt như NGÀY hoặc GIÁ TRỊ NGÀY, NĂM, THÁNG, GIỜ, v.v.

    Nhưng QUERY đã tìm ra cách của nó xung quanh ngày tháng. Để nhập chúng đúng cách, chỉ cần nhập từ date rồi thêm chính ngày được định dạng là yyyy-mm-dd: date '2020-01-01'

    Đây là công thức của tôi để nhận tất cả các hàng có Ngày phát biểu trước ngày 1 tháng 1 năm 2020:

    =QUERY(Papers!A1:G11,"select A,B,C where B

    Ví dụ 4. Kết hợp một số điều kiện

    Để sử dụng một khoảng thời gian nhất định làm tiêu chí, bạn cần kết hợp hai điều kiện.

    Hãy thử truy xuất những giấy tờ đã được gửi vào Mùa thu năm 2019. Tiêu chí đầu tiên phải là ngày vào hoặc sau ngày 1 tháng 9 năm 2019 , lần thứ hai — vào hoặc trước ngày 30 tháng 11 năm 2019 :

    =QUERY(Papers!A1:G11,"select A,B,C where B>=date '2019-09-01' and B<=date '2019-11-30'")

    Hoặc, tôi có thể chọn bài dựa trên các tham số sau:

    • trước ngày 31 tháng 12 năm 2019 ( B )
    • có điểm A hoặc A+ ( G chứa 'A' )
    • hoặc B/B+ ( G chứa 'B' )

    =QUERY(Papers!A1:G11,"select A,B,C,G where B

    Mẹo. Nếu đầu bạn sắp nổ tung, đừng vội bỏ cuộc. Có một công cụ hoàn toàn có khả năng xây dựng tất cả các công thức này cho bạn, bất kể số lượng tiêu chí. Chuyển ngay đến cuối bài viết để tìm hiểu về nó.

    Google Trang tính QUERY – Nhóm theo

    Lệnh Google Sheet QUERY group by được sử dụng để nối các hàng. Tuy nhiên, bạn nên sử dụng một số hàm tổng hợp để tóm tắt chúng.

    Lưu ý. Nhóm theo phải luôn tuân theo mệnh đề select .

    Thật không may, không có gì để nhóm trong bảng của tôi vì không có giá trị lặp lại. Vì vậy, hãy để tôi điều chỉnh nó một chút.

    Giả sử, tất cả các giấy tờ chỉ được chuẩn bị bởi 3 sinh viên. Tôi có thể tìm thấy điểm cao nhất mà mỗi học sinh đạt được. Nhưng vì chúng là các chữ cái nên tôi nên áp dụng hàm MIN cho cột G:

    =QUERY(Papers!A1:G11,"select A,min(G) group by A")

    Lưu ý. Nếu bạn không sử dụng hàm tổng hợp với bất kỳ cột nào trong mệnh đề select (cột A trong ví dụ của tôi), bạn phải sao chép tất cả chúng trong nhóm bởi mệnh đề.

    Mệnh đề Google Trang tính QUERY – Pivot

    Mệnh đề Google Trang tính QUERY pivot hoạt động theo cách khác, nếu tôi có thể nói như vậy. Tính năng này chuyển dữ liệu từ một cột sang một hàng có các cột mới, nhóm các giá trị khác cho phù hợp.

    Đối với những bạn đang xử lý ngày tháng, tính năng này có thể là một khám phá thực sự. Bạn sẽ có thể xem nhanh tất cả các năm riêng biệt từ cột nguồn đó.

    Lưu ý. Khi nói đến pivot , mỗi cột được sử dụng trong mệnh đề select phải được bao phủ bởi một hàm tổng hợp. Nếu không, nó phải được đề cập trong nhóm bằng lệnh sau pivot của bạn.

    Hãy nhớ rằng, bảng của tôi bây giờ chỉ đề cập đến 3 sinh viên. Tôi sẽ tạo hàm cho tôi biết mỗi sinh viên đã tạo bao nhiêu báo cáo:

    =QUERY(Papers!A1:G11,"select count(G) pivot A")

    Google Trang tính QUERY – Sắp xếp theo

    Cái này khá dễ :) Nó được sử dụng đểsắp xếp kết quả theo các giá trị trong các cột nhất định.

    Mẹo. Tất cả các mệnh đề trước là tùy chọn khi sử dụng order by . Tôi sử dụng select để trả về ít cột hơn cho mục đích trình diễn.

    Hãy quay lại bảng ban đầu của tôi và sắp xếp các báo cáo theo ngày phát biểu.

    Công thức QUERY tiếp theo của Google Trang tính này sẽ giúp tôi có các cột A, B và C, nhưng đồng thời sẽ sắp xếp chúng theo ngày trong cột B:

    =QUERY(Papers!A1:G11,"select A,B,C order by B")

    Giới hạn

    Điều gì sẽ xảy ra nếu tôi nói với bạn rằng bạn không cần phải đưa từng hàng vào kết quả? Điều gì sẽ xảy ra nếu tôi nói với bạn rằng Google Trang tính QUERY chỉ có thể lấy một lượng nhất định kết quả khớp đầu tiên mà nó tìm thấy?

    Chà, mệnh đề giới hạn được thiết kế để giúp bạn làm điều đó. Nó giới hạn số hàng trả về bằng số đã cho.

    Mẹo. Vui lòng sử dụng limit mà không cần các mệnh đề khác trước đó.

    Công thức này sẽ hiển thị 5 hàng đầu tiên trong đó cột có điểm chứa dấu (không trống):

    =QUERY(Papers!A1:G11,"select A,B,C,G where G is not null limit 5")

    Độ lệch

    Mệnh đề này hơi đối lập với điều khoản trước. Trong khi limit cung cấp cho bạn số hàng bạn chỉ định, offset bỏ qua chúng, truy xuất phần còn lại.

    Mẹo. Offset cũng không yêu cầu bất kỳ mệnh đề nào khác.

    =QUERY(Papers!A1:G11,"select A,B,C,G where G is not null offset 5")

    Nếu bạn thử và sử dụng cả limit offset , điều sau đây sẽ xảy ra:

    1. Offset sẽ bỏ qua các hàng ngay từ đầu.
    2. Limit sẽ trả về một sốcác hàng tiếp theo.

    =QUERY(Papers!A1:G11,"select A,B,C,G where G is not null limit 3 offset 3")

    Trong số 11 hàng dữ liệu (hàng đầu tiên là tiêu đề và chức năng QUERY trong Google Trang tính thực hiện rất tốt việc hiểu điều đó), offset sẽ bỏ qua hàng đầu tiên 3 hàng. Giới hạn trả về 3 hàng tiếp theo (bắt đầu từ hàng thứ 4):

    Google Trang tính QUERY – Nhãn

    Google Trang tính QUERY nhãn lệnh cho phép bạn thay đổi tên tiêu đề của cột.

    Mẹo. Các mệnh đề khác cũng là tùy chọn cho nhãn .

    Đặt nhãn trước, sau đó là ID cột và tên mới. Nếu bạn đổi tên một vài cột, hãy phân tách từng cặp nhãn cột mới bằng dấu phẩy:

    =QUERY(Papers!A1:G11,"select A,B,C label A 'Name', B 'Date'")

    Định dạng

    The format cho phép thay đổi định dạng của tất cả các giá trị trong một cột. Để làm được điều đó, bạn sẽ cần một mẫu đứng sau định dạng mong muốn.

    Mẹo. Mệnh đề định dạng cũng có thể phát một mình trong Google Sheets QUERY.

    =QUERY(Papers!A1:G11,"select A,B,C limit 3 format B 'mm-dd, yyyy, ddd'")

    Mẹo. Tôi đã đề cập đến một số định dạng ngày cho Google Sheets QUERY trong bài đăng trên blog này. Các định dạng khác có thể được lấy trực tiếp từ bảng tính: Định dạng > Số > Các định dạng khác > Định dạng số tùy chỉnh .

    Tùy chọn

    Tùy chọn này được sử dụng để đặt một số cài đặt bổ sung cho dữ liệu kết quả.

    Ví dụ: lệnh như no_values sẽ chỉ trả về các ô được định dạng.

    Cách nhanh nhất để xây dựng công thức QUERY – Nhiều kết quả Vlookup phù hợp

    Cho dù chức năng QUERY trong Google Trang tính mạnh mẽ đến đâu,nó có thể yêu cầu một đường cong học tập để đạt được. Minh họa từng mệnh đề riêng biệt trên một bảng nhỏ là một chuyện, còn cố gắng xây dựng mọi thứ một cách chính xác với một vài mệnh đề và một bảng lớn hơn nhiều lại là một chuyện hoàn toàn khác.

    Đó là lý do tại sao chúng tôi quyết định biến Google Trang tính QUERY thành một bảng giao diện thân thiện với người dùng và biến tiện ích này thành tiện ích bổ sung.

    Tại sao Nhiều kết quả trùng khớp VLOOKUP lại tốt hơn công thức?

    Chà, với tiện ích bổ sung, bạn hoàn toàn không cần :

    • tìm hiểu bất cứ điều gì về mệnh đề đó. Thật dễ dàng để tạo ra nhiều điều kiện phức tạp trong tiện ích bổ sung: bao nhiêu tùy ý bạn cần bất chấp yêu cầu của họ để tìm nạp bao nhiêu kết quả phù hợp với nhu cầu của bạn.

      Lưu ý. Hiện tại, các mệnh đề sau đã được tích hợp vào công cụ: select, where, limit, and offset . Nếu nhiệm vụ của bạn cũng yêu cầu các mệnh đề khác, vui lòng nhận xét bên dưới – có lẽ, bạn sẽ giúp chúng tôi cải thiện;)

    • biết cách nhập toán tử : chỉ cần chọn một từ danh sách thả xuống.
    • giải đố về cách chính xác để nhập ngày và giờ . Tiện ích bổ sung cho phép bạn nhập chúng như trước đây dựa trên ngôn ngữ bảng tính của bạn.

      Mẹo. Luôn có một gợi ý trong công cụ với các ví dụ về các loại dữ liệu khác nhau.

    Với phần thưởng , bạn sẽ có thể:

    • xem trước cả kết quả và công thức
    • thực hiện điều chỉnh nhanh cho

    Michael Brown là một người đam mê công nghệ chuyên dụng với niềm đam mê đơn giản hóa các quy trình phức tạp bằng các công cụ phần mềm. Với hơn một thập kỷ kinh nghiệm trong ngành công nghệ, anh ấy đã trau dồi kỹ năng của mình trong Microsoft Excel và Outlook, cũng như Google Trang tính và Tài liệu. Blog của Michael dành để chia sẻ kiến ​​thức và chuyên môn của anh ấy với những người khác, cung cấp các mẹo và hướng dẫn dễ thực hiện để cải thiện năng suất và hiệu quả. Cho dù bạn là một chuyên gia dày dạn kinh nghiệm hay người mới bắt đầu, blog của Michael đều cung cấp những hiểu biết có giá trị và lời khuyên thiết thực để tận dụng tối đa những công cụ phần mềm thiết yếu này.