สุดยอดฟังก์ชั่น QUERY ใน Google Sheets

ทำไมฟังก์ชั่น QUERY ของ Google Sheets ถึงเป็นฟังก์ชั่นที่สุดยอด และสาระพัดประโยชน์มาก เพราะคำสั่งเดียวสามารถแสดงข้อมูลที่ต้องการได้หมด ต่อไปนี้จะเป็นการสาธิตการใช้ฟังก์ชั่น QUERY ที่คุณต้องรู้

รูปแบบคำสั่ง

QUERY(data, query, [headers])

  • data - ช่วงของเซลล์ที่จะดำเนินการค้นหา

    • แต่ละคอลัมน์ของ data จะมีค่าบูลีน ตัวเลข (ซึ่งรวมถึงประเภทวัน/เวลา) หรือสตริงได้เท่านั้น

    • ในกรณีที่มีข้อมูลหลายประเภทในคอลัมน์เดียวกัน ประเภทของข้อมูลส่วนใหญ่จะกำหนดประเภทของข้อมูลในคอลัมน์เพื่อวัตถุประสงค์ในการค้นหา ประเภทของข้อมูลส่วนน้อยจะถือเป็นค่าว่าง

  • query - การค้นหาที่จะดำเนินการซึ่งเขียนในภาษาการค้นหาของ Google Visualization API

    • ค่าของ query ต้องอยู่ในเครื่องหมายคำพูดหรือเป็นการอ้างอิงเซลล์ที่มีข้อความที่เหมาะสม

    • ดูรายละเอียดเพิ่มเติมเกี่ยวกับภาษาการค้นหาที่ https://developers.google.com/chart/interactive/docs/querylanguage

  • headers - [ ไม่บังคับ ] - จำนวนแถวส่วนหัวที่ด้านบนของ data หากละเว้นหรือตั้งค่าเป็น -1 ระบบจะคาดคะเนค่าตามเนื้อหาของ data

การสาธิต

สมมติว่ามีข้อมูลการค่าใช้จ่ายการซื้ออุปกรณ์ไอทีดังนี้

ผมแชร์ Sheets ไว้ให้แล้วนะครับ สามารถ copy และทำตามได้เลย ชื่อไฟล์ว่า การใช้ Query

เมื่อได้ตัวอย่างข้อมูลแล้ว เรามาทำการตั้ง ชื่อช่วง กันก่อน เพื่อให้ง่ายในการเขียนฟังก์ชั่นและสั้นขึ้น โดยไปที่เมนู ข้อมูล เลือก ช่วงที่ตั้งชื่อแล้ว

ตั้งชื่อช่วงว่า data และกำหนดช่วงข้อมูลเป็น 'ข้อมูล'!A1:H127 เสร็จแล้วให้กดปุ่ม เสร็จสิ้น

อ้อ ลืมไป ให้ตั้งชื่อ Sheet ปัจจุบันว่า ข้อมูล ด้วยครับ

ตัวอย่างที่ 1

ให้เลื่อนมุมมอง Sheet ชื่อว่า ข้อมูล ไปทางด้านขวาเล็กน้อย เพื่อมีพื้นที่ เลือกเซล J1 ให้พิมพ์ฟังชั่นว่า

=QUERY(data,"select *",1)

แล้วกด Enter ดูครับ จะเห็นว่าคำสั่งเดียวสามารถแสดงข้อมูลทั้งตารางออกมาได้ทันที

ตัวอย่างที่ 2

สมมุติ ต้องการทราบว่ามีรายการ ซื้อ อะไรบ้าง ในเดือน มิถุนายน

ในเซล J1 ให้พิมพ์คำสั่งว่า

=QUERY(data,"select * where D = 'ซื้อ' and month(B)+1 = 6",1)

หมายเหตุ ฟังค์ชั่น month() จะแสดงค่าเดือน มกราคม คือ 0 ในตัวอย่างนี้เราต้องการเดือน มิถุนายน คือ 5 ดังนั้นจึงต้อง + 1 ไปด้วยดังตัวอย่าง

ตัวอย่างที่ 3

สมมุติ ต้องการทราบ จำนวนเงินทั้งหมด ที่ทำการ ซื้อ ในเดือน มิถุนายน

ในเซล J1 ให้พิมพ์คำสั่งว่า

=QUERY(data,"select sum(H) where D = 'ซื้อ' and month(B)+1 = 6 LABEL sum(H) 'เป็นเงินทั้งสิ้น'",1)

ตัวอย่างที่ 4

สมมุติ ต้องการทราบมีรายการ ซ่อม Printer ทั้งหมด โดยเรียง ค่าใช้จ่าย จาก มาก ไป น้อย

ในเซล J1 ให้พิมพ์คำสั่งว่า

=QUERY(data,"select * where E contains 'Printer' and D = 'ซ่อม' order by H desc",1)

วีดีโอสาธิต

สุดยอดฟังก์ชั้น Query ใน Google Sheets

อ้างอิง