Thep Excel

QUERY – ฟังก์ชันดึงและจัดการข้อมูลด้วยภาษา SQL

ดึง กรอง และสรุปผลข้อมูลด้วยคำสั่งคล้าย SQL

QUERY ช่วยให้คุณจัดการข้อมูลใน Google Sheets ได้เหมือนระบบฐานข้อมูล สามารถเลือกคอลัมน์ที่ต้องการ กรองแถวตามเงื่อนไข เรียงลำดับ และสรุปผลรวม/นับจำนวน ได้ในสูตรเดียว เหมาะสำหรับทำ Dashboard และรายงานสรุปข้อมูล

=QUERY(data, query, [headers])

By ThepExcel AI Agent
30 November 2025

Syntax & Arguments

=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 จะเดาเอง)

How it works

สร้างรายงานสรุปยอดขาย

รวมยอดขายรายเดือนหรือรายหมวดหมู่สินค้า (Group By)

Dashboard กรองข้อมูล

ดึงข้อมูลเฉพาะสินค้าที่สนใจหรือช่วงเวลาที่กำหนดมาแสดง (Select/Where)

เรียงลำดับข้อมูลแบบไดนามิก

แสดงรายการ Top 10 สินค้าขายดี (Order By/Limit)

Examples

ตัวอย่างที่ 1: เลือกและกรองข้อมูลเบื้องต้น

คำสั่ง SELECT A, B, D จะเลือกมาเฉพาะ 3 คอลัมน์นี้ ส่วน WHERE D > 1000 จะกรองเอาเฉพาะรายการที่มีค่าในคอลัมน์ D มากกว่า 1,000
Google Sheets Formula:

=QUERY(A2:D100, "SELECT A, B, D WHERE D > 1000")

Result:

ตารางแสดงคอลัมน์ A, B, D เฉพาะแถวที่ D > 1000

ตัวอย่างที่ 2: เรียงลำดับและจำกัดจำนวน (Top 5)

SELECT * คือเลือกทุกคอลัมน์
ORDER BY D DESC คือเรียงตาม D จากมากไปน้อย
LIMIT 5 คือตัดมาแสดงแค่ 5 แถวแรก
Google Sheets Formula:

=QUERY(A2:D100, "SELECT * ORDER BY D DESC LIMIT 5")

Result:

5 รายการที่มีค่า D สูงที่สุด

ตัวอย่างที่ 3: สรุปผลรวมตามกลุ่ม (Pivot Table แบบสูตร)

GROUP BY B จะรวมกลุ่มข้อมูลตามคอลัมน์ B และ SUM(D) จะหาผลรวมของ D ในแต่ละกลุ่ม
Google Sheets Formula:

=QUERY(A2:D100, "SELECT B, SUM(D) GROUP BY B")

Result:

ตารางสรุปยอดรวม D แยกตามกลุ่ม B

ตัวอย่างที่ 4: เปลี่ยนชื่อหัวตาราง (Label)

ใช้คำสั่ง LABEL เพื่อเปลี่ยนชื่อหัวคอลัมน์ที่แสดงผล (จากเดิมอาจขึ้นว่า sum D)
Google Sheets Formula:

=QUERY(A2:D100, "SELECT B, SUM(D) GROUP BY B LABEL SUM(D) 'Total Sales'", 1)

Result:

เหมือนตัวอย่างที่ 3 แต่หัวตารางจะชื่อ Total Sales

FAQs

อ้างอิงคอลัมน์ด้วยชื่ออื่นนอกจาก A, B, C ได้ไหม?

ถ้าข้อมูลเป็น Range ปกติ (เช่น A1:D5) ต้องใช้ตัวอักษร A, B, C แต่ถ้าข้อมูลเป็น Array หรือดึงข้ามไฟล์ (IMPORTRANGE) ต้องใช้ Col1, Col2, Col3 แทน

QUERY รองรับวันที่ไหม?

รองรับ แต่ต้องระบุวันที่ในรูปแบบพิเศษคือ date ‘yyyy-mm-dd’ เช่น WHERE A > date ‘2023-12-31’

ทำไมบางครั้ง QUERY ไม่คืนค่า Header?

ถ้าไม่ได้ระบุ parameter ตัวที่ 3 (headers) ระบบจะเดาเอง ถ้าเดาผิดอาจเอา Header ไปรวมเป็นข้อมูล หรือเอาข้อมูลมาเป็น Header แนะนำให้ระบุเลข 1 (หรือจำนวนแถวหัวตาราง) เสมอ

Resources & Related

Additional Notes

ฟังก์ชัน QUERY เป็นหนึ่งในฟังก์ชันที่ทรงพลังที่สุดใน Google Sheets ช่วยให้คุณสามารถดึงข้อมูล (Filter) เรียงลำดับ (Sort) และสรุปผล (Aggregate) ข้อมูลจำนวนมากได้ด้วยการเขียนคำสั่งเพียงบรรทัดเดียว โดยใช้ภาษาที่คล้ายกับ SQL (Structured Query Language)

Leave a Reply

Your email address will not be published. Required fields are marked *