สารบัญ
หากคุณติดตามบล็อกนี้มาระยะหนึ่ง คุณอาจจำฟังก์ชัน QUERY สำหรับ Google ชีตได้ ฉันพูดถึงมันเป็นทางออกที่เป็นไปได้สำหรับสองสามกรณี แต่สิ่งเหล่านี้ยังห่างไกลจากพอที่จะเปิดเผยศักยภาพสูงสุด วันนี้ ถึงเวลาแล้วที่เราจะมาทำความรู้จักกับสเปรดชีตซูเปอร์ฮีโร่คนนี้กันอย่างถูกต้อง และลองเดาดูสิว่าจะมีเครื่องมือหนึ่งที่น่าสนใจพอๆ กัน :)
คุณทราบหรือไม่ว่าฟังก์ชัน QUERY ของ Google ชีตถือเป็นฟังก์ชันที่มีประสิทธิภาพมากที่สุดในสเปรดชีต ไวยากรณ์เฉพาะของมันรองรับการทำงานที่แตกต่างกันหลายสิบแบบ มาลองแยกย่อยส่วนต่างๆ เพื่อเรียนรู้กันสักครั้ง
ไวยากรณ์ของฟังก์ชัน QUERY ของ Google ชีต
เมื่อมองแวบแรก QUERY ของ Google ชีตคือ เป็นเพียงฟังก์ชันอื่นที่มีอาร์กิวเมนต์ที่ไม่บังคับ 1 รายการและอาร์กิวเมนต์ที่ต้องการ 2 รายการ:
=QUERY(data, query, [ส่วนหัว])- ข้อมูล คือช่วงที่ต้องดำเนินการ ที่จำเป็น. ทุกอย่างชัดเจนที่นี่
หมายเหตุ มีเพียงการช่วยเตือนเล็กๆ น้อยๆ ที่ Google สร้างขึ้นที่นี่: แต่ละคอลัมน์ควรมีข้อมูลประเภทเดียว: ข้อความ ตัวเลข หรือบูลีน หากมีหลายประเภท QUERY จะทำงานกับประเภทที่เกิดขึ้นมากที่สุด ประเภทอื่นจะถือเป็นเซลล์ว่าง แปลกแต่จำไว้
- แบบสอบถาม เป็นวิธีการประมวลผล ข้อมูล ที่จำเป็น. นี่คือจุดเริ่มต้นของความสนุก ฟังก์ชัน QUERY ของ Google ชีตใช้ภาษาพิเศษสำหรับอาร์กิวเมนต์นี้: Google Visualization APIเกณฑ์
- เลือก ตำแหน่งสำหรับผลลัพธ์
- แทรก ผลลัพธ์เป็นทั้ง สูตร QUERY หรือ เป็น ค่า
ฉันไม่ได้ล้อเล่น ดูด้วยตัวคุณเอง แม้ว่า GIF นี้จะถูกเร่ง แต่ฉันใช้เวลาน้อยกว่าหนึ่งนาทีในการปรับเกณฑ์ทั้งหมดอย่างละเอียดและได้ผลลัพธ์:
หากคุณสงสัยมากพอ นี่คือรายละเอียด วิดีโอแสดงวิธีการทำงานของส่วนเสริม:
ฉันหวังว่าคุณจะให้โอกาสส่วนเสริมและรับส่วนเสริมจาก Google Workspace Marketplace อย่าอายและแบ่งปันความคิดเห็นของคุณ โดยเฉพาะอย่างยิ่งหากมีบางอย่างที่คุณไม่ชอบ
นอกจากนี้ อย่าลังเลที่จะตรวจสอบหน้าบทช่วยสอนหรือหน้าแรก
ภาษาแบบสอบถาม. มันเขียนด้วยวิธีที่คล้ายกับ SQL โดยพื้นฐานแล้ว มันคือชุดคำสั่งพิเศษ (คำสั่ง) ที่ใช้บอกฟังก์ชันว่าต้องทำอะไร: เลือก จัดกลุ่มตาม จำกัด ฯลฯหมายเหตุ อาร์กิวเมนต์ทั้งหมดต้องอยู่ในเครื่องหมายคำพูดคู่ ในทางกลับกัน ค่าควรอยู่ในเครื่องหมายอัญประกาศ
ตอนนี้ เรามาเจาะลึกลงไปในอนุประโยคและสิ่งที่พวกเขาทำกัน
ส่วนคำสั่งที่ใช้ในสูตร QUERY ของ Google ชีต
ภาษาของข้อความค้นหาประกอบด้วย 10 ส่วนย่อย พวกเขาอาจตกใจเมื่อมองแวบแรก โดยเฉพาะอย่างยิ่งหากคุณไม่คุ้นเคยกับ SQL แต่ฉันสัญญาว่าเมื่อคุณรู้จักพวกเขาแล้ว คุณจะได้รับอาวุธสเปรดชีตอันทรงพลังไว้ใช้งาน
ฉันจะครอบคลุมแต่ละอนุประโยคและให้ตัวอย่างสูตรโดยใช้รายชื่อนักเรียนในจินตนาการและหัวเรื่องเอกสารของพวกเขา :
ใช่ ฉันเป็นคนประหลาดคนหนึ่งที่คิดว่าดาวพลูโตควรเป็นดาวเคราะห์ :)
เคล็ดลับ สามารถใช้อนุประโยคหลายรายการในฟังก์ชัน QUERY ของ Google ชีตหนึ่งฟังก์ชัน หากคุณซ้อนพวกมันทั้งหมด อย่าลืมทำตามลำดับการปรากฏของพวกมันในบทความนี้
เลือก (ทั้งหมดหรือเฉพาะคอลัมน์)
ส่วนคำสั่งแรก – เลือก – ใช้เพื่อบอกว่าคุณต้องส่งคืนคอลัมน์ใดด้วย Google ชีต QUERYจากชีตหรือตารางอื่น
ตัวอย่าง 1. เลือกคอลัมน์ทั้งหมด
ในการดึงข้อมูลแต่ละคอลัมน์ ให้ใช้ เลือก โดยมีเครื่องหมายดอกจัน – เลือก *<2
=QUERY(Papers!A1:G11,"select *")
เคล็ดลับ หากคุณละเว้น เลือก พารามิเตอร์ Google ชีต QUERY จะส่งคืนคอลัมน์ทั้งหมดตามค่าเริ่มต้น:
=QUERY(Papers!A1:G11)
ตัวอย่างที่ 2 เลือกคอลัมน์ที่ต้องการ
หากต้องการดึงเฉพาะบางคอลัมน์ ให้เขียนรายการหลัง select clause:
=QUERY(Papers!A1:G11, "select A,B,C")
เคล็ดลับ คอลัมน์ที่สนใจจะถูกคัดลอกตามลำดับเดียวกับที่คุณกล่าวถึงในสูตร:
=QUERY(Papers!A1:G11, "select C,B,A")
Google ชีต QUERY – Where clause
Google QUERY ของชีต โดยที่ ใช้เพื่อกำหนดเงื่อนไขต่อข้อมูลที่คุณต้องการรับ กล่าวอีกนัยหนึ่ง จะทำหน้าที่เป็นตัวกรอง
หากคุณใช้ส่วนนี้ ฟังก์ชัน QUERY สำหรับ Google ชีตจะค้นหาคอลัมน์เพื่อหาค่าที่ตรงกับเงื่อนไขของคุณ และดึงข้อมูลที่ตรงกันทั้งหมดกลับมาให้คุณ
เคล็ดลับ. โดยที่ สามารถทำงานได้โดยไม่ต้องใช้คำสั่ง select
ตามปกติ ในการระบุเงื่อนไข มีชุดของ ตัวดำเนินการ พิเศษสำหรับคุณ:
- ตัวดำเนินการเปรียบเทียบอย่างง่าย ( สำหรับค่าตัวเลข ): =, , >, >=, <, <=
- ตัวดำเนินการเปรียบเทียบที่ซับซ้อน ( สำหรับสตริง ): ประกอบด้วย เริ่มต้นด้วย สิ้นสุด กับ, ตรงกัน, != (ไม่ตรงกัน / ไม่เท่ากับ), เช่น .
- ตัวดำเนินการเชิงตรรกะเพื่อ รวมหลายเงื่อนไข : และ หรือ ไม่ใช่ .
- ตัวดำเนินการสำหรับ ว่าง/ ไม่ว่าง : เป็นโมฆะ ไม่เป็นโมฆะ .
เคล็ดลับ หากคุณอารมณ์เสียหรือกังวลเกี่ยวกับการที่ต้องรับมือกับผู้ให้บริการจำนวนมากเช่นนี้อีกครั้ง เรารู้สึกว่าคุณ การจับคู่ Vlookup หลายรายการของเราจะค้นหารายการที่ตรงกันทั้งหมดและสร้างสูตร QUERY ใน Google ชีตให้คุณหากจำเป็น
มาดูกันว่าตัวดำเนินการเหล่านี้ทำงานอย่างไรในสูตร
ตัวอย่างที่ 1 ที่ พร้อมตัวเลข
ฉันจะเพิ่ม ที่ ลงใน Google ชีตของฉัน QUERY จากด้านบนเพื่อรับข้อมูลเกี่ยวกับดาวเคราะห์ที่มีดวงจันทร์มากกว่า 10 ดวง:
=QUERY(Papers!A1:G11,"select A,B,C,F where F>=10")
เคล็ดลับ ฉันยังกล่าวถึงคอลัมน์ F เพื่อดึงข้อมูลเพื่อให้แน่ใจว่าตรงตามเกณฑ์ แต่มันเป็นตัวเลือกที่สมบูรณ์ คุณไม่จำเป็นต้องรวมคอลัมน์ที่มีเงื่อนไขลงในผลลัพธ์:
=QUERY(Papers!A1:G11,"select A,B,C where F>=10")
ตัวอย่างที่ 2 ที่ ด้วยสตริงข้อความ
- ฉันต้องการดู ทุกแถวที่มีเกรดเป็น F หรือ F+ ฉันจะใช้ตัวดำเนินการ contains สำหรับสิ่งนั้น:
=QUERY(Papers!A1:G11,"select A,B,C,G where G contains 'F'")
หมายเหตุ อย่าลืมล้อมรอบข้อความของคุณด้วยเครื่องหมายคำพูด
- หากต้องการรับแถวทั้งหมดที่มี F เท่านั้น ให้แทนที่ contains ด้วยเครื่องหมายเท่ากับ (=):
=QUERY(Papers!A1:G11,"select A,B,C,G where G="F"")
- หากต้องการตรวจสอบกระดาษที่ยังไม่จัดส่ง (หากเกรดขาดหายไป) ให้ตรวจสอบคอลัมน์ G เพื่อหาช่องว่าง:
=QUERY(Papers!A1:G11,"select A,B,C,G where G is null'")
ตัวอย่าง 3. ที่ไหน มีวันที่
คาดเดาอะไร: Google ชีต QUERY สามารถจัดการวันที่ให้เชื่องได้!
เนื่องจากสเปรดชีตจัดเก็บวันที่เป็นหมายเลขซีเรียล โดยปกติแล้ว คุณต้องหันไปใช้ความช่วยเหลือของฟังก์ชันพิเศษ เช่น DATE หรือ DATEVALUE, YEAR, MONTH, TIME เป็นต้น
แต่ QUERY ได้หาทางแก้ไขวันที่ หากต้องการป้อนให้ถูกต้อง เพียงพิมพ์คำว่า วันที่ แล้วเพิ่มวันที่ในรูปแบบ ปปปป-ดด-วว: วันที่ '2020-01-01'
สูตรของฉันในการรับแถวทั้งหมดที่มีวันที่ Speech ก่อนวันที่ 1 มกราคม 2020:
=QUERY(Papers!A1:G11,"select A,B,C where B
ตัวอย่างที่ 4 รวมเงื่อนไขหลายๆ ข้อเข้าด้วยกัน
หากต้องการใช้ระยะเวลาหนึ่งเป็นเกณฑ์ คุณจะต้องรวมเงื่อนไขสองข้อเข้าด้วยกัน
ลองดึงเอกสารที่จัดส่งในฤดูใบไม้ร่วงปี 2019 เกณฑ์แรกควรเป็นวันที่ วันที่ หรือหลังวันที่ 1 กันยายน 2019 ครั้งที่สอง — ก่อนวันที่ 30 พฤศจิกายน 2019 :
=QUERY(Papers!A1:G11,"select A,B,C where B>=date '2019-09-01' and B<=date '2019-11-30'")
หรือ ฉัน สามารถเลือกเอกสารตามพารามิเตอร์เหล่านี้:
- ก่อนวันที่ 31 ธันวาคม 2019 ( B
) - มีเกรด A หรือ A+ ( G มี 'A' )
- หรือ B/B+ ( G มี 'B' )
=QUERY(Papers!A1:G11,"select A,B,C,G where B
เคล็ดลับ ถ้าหัวของคุณกำลังจะระเบิดอยู่แล้ว อย่าเพิ่งยอมแพ้ มีเครื่องมือที่สามารถสร้างสูตรเหล่านี้ให้คุณได้อย่างสมบูรณ์แบบ ไม่ว่าจะมีเกณฑ์กี่ข้อก็ตาม ข้ามไปที่ท้ายบทความเพื่อทำความรู้จัก
Google ชีต QUERY – จัดกลุ่มตาม
คำสั่ง Google ชีต QUERY จัดกลุ่มตาม ใช้เพื่อเชื่อมแถวเข้าด้วยกัน อย่างไรก็ตาม คุณควรใช้ฟังก์ชันรวมเพื่อสรุป
หมายเหตุ จัดกลุ่มตาม ต้องตามด้วยคำสั่ง เลือก เสมอ
ขออภัย ไม่มีอะไรให้จัดกลุ่มในตารางของฉัน เนื่องจากไม่มีค่าที่เกิดซ้ำ ขอผมปรับนิดนึง
สมมุติว่ากระดาษทั้งหมดต้องเตรียมโดยนักเรียน 3 คนเท่านั้น ฉันสามารถหาคะแนนสูงสุดที่นักเรียนแต่ละคนได้ แต่เนื่องจากเป็นตัวอักษร ฉันควรใช้ฟังก์ชัน MIN กับคอลัมน์ G:
=QUERY(Papers!A1:G11,"select A,min(G) group by A")
หมายเหตุ หากคุณไม่ได้ใช้ฟังก์ชันการรวมกับคอลัมน์ใด ๆ ในส่วนคำสั่ง select (คอลัมน์ A ในตัวอย่างของฉัน) คุณต้องทำซ้ำทั้งหมดในกลุ่ม ตาม ข้อ
Google ชีต QUERY – Pivot
Google ชีต QUERY pivot ส่วนคำสั่งทำงานตรงกันข้าม ถ้าฉันอาจพูดเช่นนั้น โดยจะย้ายข้อมูลจากคอลัมน์หนึ่งไปยังแถวด้วยคอลัมน์ใหม่ จัดกลุ่มค่าอื่นๆ ตามนั้น
สำหรับผู้ที่ต้องจัดการกับวันที่ อาจเป็นการค้นพบที่แท้จริง คุณจะสามารถดูปีต่างๆ ทั้งหมดได้อย่างรวดเร็วจากคอลัมน์แหล่งที่มานั้น
หมายเหตุ เมื่อพูดถึง pivot ทุกคอลัมน์ที่ใช้ในคำสั่งย่อย select ควรครอบคลุมด้วยฟังก์ชันการรวม มิฉะนั้น ควรกล่าวถึงในกลุ่ม โดย คำสั่งตามหลัง pivot ของคุณ
โปรดจำไว้ว่า ตารางของฉันกล่าวถึงนักเรียนเพียง 3 คนเท่านั้น ฉันจะทำให้ฟังก์ชันบอกจำนวนรายงานที่นักเรียนแต่ละคนทำ:
=QUERY(Papers!A1:G11,"select count(G) pivot A")
Google ชีต QUERY – สั่งซื้อภายใน
อันนี้ค่อนข้างง่าย :) มันเคยชินจัดเรียงผลลัพธ์ตามค่าในบางคอลัมน์
เคล็ดลับ อนุประโยคก่อนหน้านี้ทั้งหมดเป็นตัวเลือกเมื่อใช้ ลำดับโดย ฉันใช้ select เพื่อส่งคืนคอลัมน์น้อยลงเพื่อจุดประสงค์ในการสาธิต
กลับไปที่ตารางเดิมของฉันและจัดเรียงรายงานตามวันที่พูด
สูตร QUERY ถัดไปของ Google ชีตนี้จะทำให้ฉันได้คอลัมน์ A, B และ C แต่ในขณะเดียวกันก็จะจัดเรียงตามวันที่ใน คอลัมน์ B:
=QUERY(Papers!A1:G11,"select A,B,C order by B")
จำกัด
ถ้าฉันบอกคุณว่า คุณไม่จำเป็นต้องนำแต่ละแถวมาใส่ใน ผลลัพธ์? จะเกิดอะไรขึ้นถ้าฉันบอกคุณว่า Google ชีต QUERY สามารถดึงข้อมูลที่ตรงกันครั้งแรกที่พบได้เพียงจำนวนหนึ่งเท่านั้น
ส่วนคำสั่ง จำกัด ได้รับการออกแบบมาเพื่อช่วยเหลือคุณในเรื่องนี้ โดยจะจำกัดจำนวนแถวที่จะส่งคืนตามจำนวนที่กำหนด
เคล็ดลับ อย่าลังเลที่จะใช้ จำกัด โดยไม่ต้องมีคำสั่งก่อนหน้าอื่นๆ
สูตรนี้จะแสดง 5 แถวแรกที่คอลัมน์ที่มีเกรดมีเครื่องหมาย (ไม่ว่าง):
=QUERY(Papers!A1:G11,"select A,B,C,G where G is not null limit 5")
ออฟเซ็ต
ข้อนี้ตรงข้ามกับข้อก่อนหน้า ในขณะที่ จำกัด ทำให้คุณได้รับจำนวนแถวตามที่คุณระบุ ออฟเซ็ต จะข้ามไป และเรียกข้อมูลที่เหลือ
เคล็ดลับ Offset ไม่ต้องการส่วนคำสั่งอื่นใด
=QUERY(Papers!A1:G11,"select A,B,C,G where G is not null offset 5")
หากคุณลองใช้ทั้ง จำกัด และ ชดเชย สิ่งต่อไปนี้จะเกิดขึ้น:
- Offset จะข้ามแถวที่จุดเริ่มต้น
- Limit จะส่งกลับจำนวนของแถวต่อไปนี้
=QUERY(Papers!A1:G11,"select A,B,C,G where G is not null limit 3 offset 3")
จากข้อมูล 11 แถว (แถวแรกเป็นส่วนหัวและฟังก์ชัน QUERY ใน Google ชีตก็เข้าใจได้ดี) ออฟเซ็ตข้ามแถวแรก 3 แถว Limit ส่งคืน 3 แถวถัดไป (เริ่มจากแถวที่ 4):
Google Sheets QUERY – Label
Google Sheets QUERY label command ให้คุณเปลี่ยนชื่อส่วนหัวของคอลัมน์
เคล็ดลับ ส่วนคำสั่งอื่นๆ เป็นตัวเลือกสำหรับ label เช่นกัน
ใส่ ป้ายกำกับ ก่อน ตามด้วยรหัสคอลัมน์และชื่อใหม่ หากคุณเปลี่ยนชื่อคอลัมน์ไม่กี่คอลัมน์ ให้แยกป้ายกำกับคอลัมน์คู่ใหม่แต่ละคู่ด้วยเครื่องหมายจุลภาค:
=QUERY(Papers!A1:G11,"select A,B,C label A 'Name', B 'Date'")
รูปแบบ
รูปแบบ format clause ทำให้สามารถเปลี่ยนรูปแบบของค่าทั้งหมดในคอลัมน์ได้ สำหรับสิ่งนั้น คุณจะต้องมีรูปแบบที่อยู่ด้านหลังรูปแบบที่ต้องการ
เคล็ดลับ ส่วนคำสั่งรูปแบบยังสามารถเล่นเดี่ยวใน QUERY ของ Google ชีต
=QUERY(Papers!A1:G11,"select A,B,C limit 3 format B 'mm-dd, yyyy, ddd'")
เคล็ดลับ ฉันได้กล่าวถึงรูปแบบวันที่สำหรับ Google ชีต QUERY ในบล็อกโพสต์นี้ รูปแบบอื่นๆ สามารถนำมาจากสเปรดชีตได้โดยตรง: รูปแบบ > หมายเลข > รูปแบบเพิ่มเติม > รูปแบบตัวเลขที่กำหนดเอง .
ตัวเลือก
ตัวเลือกนี้ใช้เพื่อตั้งค่าเพิ่มเติมบางอย่างสำหรับข้อมูลผลลัพธ์
ตัวอย่างเช่น คำสั่งเช่น no_values จะส่งคืนเซลล์ที่จัดรูปแบบเท่านั้น
วิธีที่เร็วที่สุดในการสร้างสูตร QUERY – การจับคู่ Vlookup หลายรายการ
ไม่ว่าฟังก์ชัน QUERY ใน Google ชีตจะมีประสิทธิภาพเพียงใดอาจต้องใช้ช่วงการเรียนรู้จึงจะเข้าใจ การแสดงแต่ละอนุประโยคแยกจากกันบนโต๊ะเล็กๆ เป็นเรื่องหนึ่ง และอีกเรื่องคือการพยายามสร้างทุกอย่างถูกต้องด้วยอนุประโยคน้อยและตารางที่ใหญ่กว่ามาก
นั่นคือเหตุผลที่เราตัดสินใจเปลี่ยน Google ชีต QUERY ใน อินเทอร์เฟซที่ใช้งานง่ายและทำให้เป็นส่วนเสริม
เหตุใดการจับคู่ VLOOKUP หลายรายการจึงดีกว่าสูตร
ด้วยส่วนเสริม ไม่จำเป็นต้อง :
- คิดออก อะไรก็ได้เกี่ยวกับ ข้อ เหล่านั้น มันง่ายมากที่จะสร้างเงื่อนไขที่ซับซ้อนมากมายในส่วนเสริม: สร้างได้มากเท่าที่คุณต้องการแม้ว่าเงื่อนไขเหล่านั้นจะสั่งให้ดึงข้อมูลที่ตรงกันได้มากเท่าที่คุณต้องการก็ตาม
หมายเหตุ ในขณะนี้ คำสั่งต่อไปนี้รวมอยู่ในเครื่องมือ: select, where, limit, and offset หากงานของคุณต้องการคำสั่งอื่นๆ ด้วย โปรดแสดงความคิดเห็นด้านล่าง บางทีคุณอาจช่วยเราปรับปรุง ;)
- รู้วิธี ป้อนตัวดำเนินการ : เพียงเลือกจาก รายการแบบเลื่อนลง
- ไขปริศนา วิธีที่ถูกต้องในการป้อนวันที่และเวลา ส่วนเสริมจะให้คุณป้อนตามที่คุณเคยใช้ตามภาษาสเปรดชีตของคุณ
เคล็ดลับ เครื่องมือนี้มีคำใบ้พร้อมตัวอย่างข้อมูลประเภทต่างๆ อยู่เสมอ
ในฐานะ โบนัส คุณจะสามารถ:
- ดูตัวอย่าง ทั้ง ผลลัพธ์และสูตร
- ทำ การปรับเปลี่ยนอย่างรวดเร็ว ให้กับคุณ