Hàm Query trong Google Sheet

Hàm QUERY trong Google Sheets là một trong những công cụ mạnh mẽ nhất, cho phép người dùng phân tích dữ liệu một cách linh hoạt tương tự như SQL (Structured Query Language). Hàm này không chỉ lọc dữ liệu mà còn hỗ trợ sắp xếp, tính toán và nhóm dữ liệu.

Cú pháp hàm QUERY

=QUERY(data, query, [headers])
Thông tin các đối số:
  • data: Phạm vi dữ liệu bạn muốn phân tích, ví dụ: A1:D234.
  • query: Câu truy vấn, được đặt trong dấu ngoặc kép, ví dụ: "SELECT A, B WHERE C > 50".
  • headers (tùy chọn): Số hàng tiêu đề trong dữ liệu của bạn. Nếu bỏ qua, Google Sheets sẽ tự động xác định.
Ví dụ:
=QUERY(A1:D234, "SELECT B, D", 1)
  • Phạm vi dữ liệu: A1:D234
  • Câu truy vấn: Chọn các cột B và D
  • Tiêu đề: 1, chỉ rõ rằng hàng đầu là tiêu đề.

Hướng dẫn cơ bản với hàm QUERY

CHỌN tất cả các cột

Câu lệnh SELECT * dùng để chọn tất cả các cột trong bảng dữ liệu.

Ví dụ:

=QUERY(countries, "SELECT *", 1)

Phạm vi countries đã được đặt tên.

CHỌN các cột cụ thể

Chọn các cột cụ thể bằng câu truy vấn:

=QUERY(countries, "SELECT B, D", 1)

Kết quả chỉ hiển thị các cột B và D.


Từ khóa quan trọng

WHERE

Từ khóa WHERE dùng để lọc dữ liệu theo điều kiện.

Ví dụ 1: Chọn quốc gia có dân số lớn hơn 100 triệu:

=QUERY(countries, "SELECT B, D WHERE D > 100000000", 1)

Ví dụ 2: Chọn các quốc gia ở Châu Âu:

=QUERY(countries, "SELECT B, C, D WHERE C = 'Europe'", 1)

Lưu ý: Chuỗi ký tự cần đặt trong dấu nháy đơn (').

ORDER BY

Dùng để sắp xếp dữ liệu theo thứ tự tăng dần hoặc giảm dần.

Ví dụ: Sắp xếp dữ liệu theo dân số tăng dần:

=QUERY(countries, "SELECT B, C, D ORDER BY D ASC", 1)

Sắp xếp quốc gia theo thứ tự giảm dần:

=QUERY(countries, "SELECT B, C, D ORDER BY B DESC", 1)

LIMIT

Giới hạn số kết quả trả về.

Ví dụ: Chỉ trả về 10 kết quả:

=QUERY(countries, "SELECT B, C, D ORDER BY D ASC LIMIT 10", 1)

Kỹ thuật nâng cao với hàm QUERY

Các phép toán số học

Tính phần trăm dân số so với tổng thế giới:

=QUERY(countries, "SELECT B, C, (D / 7162119434) * 100", 1)

Dùng từ khóa LABEL để đặt tên cột:

=QUERY(countries, "SELECT B, C, (D / 7162119434) * 100 LABEL (D / 7162119434) * 100 'Percentage'", 1)

Hàm tổng hợp

Tính giá trị lớn nhất, nhỏ nhất, trung bình:

=QUERY(countries, "SELECT max(D), min(D), avg(D)", 1)

GROUP BY

Nhóm dữ liệu theo nhóm tự định nghĩa.

Ví dụ: Nhóm theo lục địa và đếm số quốc gia:

=QUERY(countries, "SELECT C, count(B) GROUP BY C", 1)

Tóm tắt dữ liệu, sắp xếp và giới hạn kết quả:

=QUERY(countries, 
"SELECT C, count(B), min(D), max(D), avg(D) 
GROUP BY C 
ORDER BY avg(D) DESC 
LIMIT 3", 1)

Tài nguyên tham khảo