QUERY là 1 hàm rất hay của googlesheet thông qua lệnh SQL để lấy ra mảng dữ liệu. Cấu trúc lệnh SQL trong hàm QUERY được tối giản nên nhìn hơi khác so với lệnh SQL chuẩn nhưng về bản chất là tương đương
Để thuận tiện cho việc hướng dẫn dùng hàm QUERY thì các ví dụ thực hành dưới dây sẽ theo tình huống giả lập như sau:
- Bảng số liệu (như hình ảnh): Đặt từ cột A đến cột E. Vùng có số liệu là A1:E21
- Tên sheet được đặt là DATA
Cấu trúc hàm QUERY:
=QUERY(range,"sql_statement")
- Range là vùng dữ liệu tham chiếu tới
- "sql_statement" là chuỗi lệnh SQL để ra báo cáo truy vấn
CÁC VÍ DỤ THỰC HÀNH
Ví dụ 1: Lấy tất cả từ bảng dữ liệu thỏa mãn 1 điều kiện là Mã hàng là HH4
Công thức: =QUERY(DATA!A1:E21,"Select * Where B='HH4'")
Trong đó:
- DATA!A1:E21 là vùng dữ liệu nguồn
- "Select * Where B='HH4'" là chuỗi text lệnh SQL nên phải đặt trong dấu nháy kép "..."
- Select và Where là 2 từ khóa bắt buộc: SELECT lấy ra gì (* tức là lấy ra tất cả), WHERE điều kiện là gì (cột B là HH4. Nhưng HH4 lại là text thì trong SQL chuỗi HH4 phải đặt trong dấu nháy đơn '...')
Ví dụ 2: Lấy cột A, B, C, D thỏa mãn 2 điều kiện: Khách hàng là KH1 và Số lượng >10
Công thức: =QUERY(DATA!A1:E21;"SELECT A, B, C, D WHERE E='KH1' and C>10")
Trong đó:
- SELCT A, B, C, D lấy ra những cột cụ thể
- "and" là từ khóa để yêu cầu thực hiện lọc đồng thời các điều kiện của WHERE.
Ví dụ 3: Lấy tất cả các cột A, B, C, D thỏa mãn các điều kiện: Khách hàng là KH1, từ ngày 01/01/2021 đến 31/01/2021
Công thức: =QUERY(DATA!A1:E21;"SELECT A, B, C, D WHERE E='KH1' and A >= date '2021-01-01' and A <= date '2021-01-31'")
Trong đó: Ngày tháng trong lệnh SQL của googlesheet sẽ viết là "date 'yyyy-mm-dd'"
Ví dụ 4: Tính tổng số lượng của từng mã hàng của KH1
Công thức: =QUERY(DATA!A1:E21;"SELECT B,Sum(C) WHERE E='KH1' GROUP BY B")
Trong đó: GROUP BY là từ khóa bắt buộc để tổng hợp các cột không sử dụng hàm thống kê
Ví dụ 5: Tính tổng số lượng từng mã hàng và sắp xếp số lượng giảm dần
Công thức: =QUERY(DATA!A1:E21;"SELECT B,Sum(C) GROUP BY B ORDER BY SUM(C) DESC")
Trong đó:
- ORDER BY là từ khóa dùng để sắp xếp
- DESC là từ khóa để yêu cầu sắp xếp giảm dần, nếu dùng ASC thì sẽ là sắp xếp tăng dần
Liên hệ tư vấn khóa học Excel cho người đi làm hoặc đặt hàng đào tạo tại doanh nghiệp
{Đt+Zalo} - 038 696 1334
0 Comment:
Đăng nhận xét