6 พ.ย. 2019 เวลา 07:59 • วิทยาศาสตร์ & เทคโนโลยี
สุดยอดฟังก์ชั่น 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" ตามลิงค์ https://docs.google.com/spreadsheets/d/1Rkc-Jb8hNnjCTcwzcpOzHfdKZPkPZZoVUF2iEeh42Bo/edit?usp=sharing
เมื่อได้ตัวอย่างข้อมูลแล้ว เรามาทำการตั้ง ชื่อช่วง กันก่อน เพื่อให้ง่ายในการเขียนฟังก์ชั่นและสั้นขึ้น โดยไปที่เมนู ข้อมูล เลือก ช่วงที่ตั้งชื่อแล้ว
ตั้งชื่อช่วงว่า 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)
วีดีโอสาธิต
อ้างอิง

ดูเพิ่มเติมในซีรีส์

โฆษณา