ตัวอย่างที่ 1: เลือกและกรองข้อมูลเบื้องต้น
=QUERY(A2:D100, "SELECT A, B, D WHERE D > 1000")
ตารางแสดงคอลัมน์ A, B, D เฉพาะแถวที่ D > 1000
ดึง กรอง และสรุปผลข้อมูลด้วยคำสั่งคล้าย SQL
QUERY ช่วยให้คุณจัดการข้อมูลใน Google Sheets ได้เหมือนระบบฐานข้อมูล สามารถเลือกคอลัมน์ที่ต้องการ กรองแถวตามเงื่อนไข เรียงลำดับ และสรุปผลรวม/นับจำนวน ได้ในสูตรเดียว เหมาะสำหรับทำ Dashboard และรายงานสรุปข้อมูล
=QUERY(data, query, [headers])
=QUERY(data, query, [headers])
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| data | Range | Yes | ช่วงข้อมูลที่ต้องการประมวลผล | |
| query | Text | Yes | คำสั่ง Query (ต้องอยู่ในเครื่องหมายคำพูด “”) ประกอบด้วยคำสั่งเช่น SELECT, WHERE, ORDER BY, LIMIT, LABEL | |
| headers | Number | Optional | Auto | จำนวนแถวที่เป็นหัวตาราง (ถ้าไม่ระบุ Google Sheets จะเดาเอง) |
รวมยอดขายรายเดือนหรือรายหมวดหมู่สินค้า (Group By)
ดึงข้อมูลเฉพาะสินค้าที่สนใจหรือช่วงเวลาที่กำหนดมาแสดง (Select/Where)
แสดงรายการ Top 10 สินค้าขายดี (Order By/Limit)
=QUERY(A2:D100, "SELECT A, B, D WHERE D > 1000")
ตารางแสดงคอลัมน์ A, B, D เฉพาะแถวที่ D > 1000
=QUERY(A2:D100, "SELECT * ORDER BY D DESC LIMIT 5")
5 รายการที่มีค่า D สูงที่สุด
=QUERY(A2:D100, "SELECT B, SUM(D) GROUP BY B")
ตารางสรุปยอดรวม D แยกตามกลุ่ม B
=QUERY(A2:D100, "SELECT B, SUM(D) GROUP BY B LABEL SUM(D) 'Total Sales'", 1)
เหมือนตัวอย่างที่ 3 แต่หัวตารางจะชื่อ Total Sales
ถ้าข้อมูลเป็น Range ปกติ (เช่น A1:D5) ต้องใช้ตัวอักษร A, B, C แต่ถ้าข้อมูลเป็น Array หรือดึงข้ามไฟล์ (IMPORTRANGE) ต้องใช้ Col1, Col2, Col3 แทน
รองรับ แต่ต้องระบุวันที่ในรูปแบบพิเศษคือ date ‘yyyy-mm-dd’ เช่น WHERE A > date ‘2023-12-31’
ถ้าไม่ได้ระบุ parameter ตัวที่ 3 (headers) ระบบจะเดาเอง ถ้าเดาผิดอาจเอา Header ไปรวมเป็นข้อมูล หรือเอาข้อมูลมาเป็น Header แนะนำให้ระบุเลข 1 (หรือจำนวนแถวหัวตาราง) เสมอ
ฟังก์ชัน QUERY เป็นหนึ่งในฟังก์ชันที่ทรงพลังที่สุดใน Google Sheets ช่วยให้คุณสามารถดึงข้อมูล (Filter) เรียงลำดับ (Sort) และสรุปผล (Aggregate) ข้อมูลจำนวนมากได้ด้วยการเขียนคำสั่งเพียงบรรทัดเดียว โดยใช้ภาษาที่คล้ายกับ SQL (Structured Query Language)