จัดเรียงและจัดกลุ่มใน QUERY
จัดเรียงผลลัพธ์และรวมค่าโดยใช้ ORDER BY และ GROUP BY
จัดเรียงและจัดกลุ่มใน QUERY เป็นบทเรียน Excel Formulas Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Excel Formulas Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Excel Formulas Academy มีบทเรียนทั้งหมด 4 บทเรียน
นอกเหนือจากการกรอง
การกรองช่วยแสดงแถวที่ถูกต้อง แต่รายงานจริงยังต้องมีทั้งลำดับและยอดรวม QUERY รองรับทั้งสองอย่างด้วยส่วนคำสั่งรูปแบบ SQL อีกสองส่วน ได้แก่ ORDER BY และ GROUP BY
ด้วยส่วนคำสั่งเหล่านี้ คุณสามารถตอบคำถามอย่างเช่น ภูมิภาคใดมียอดขายมากที่สุด หรือ แสดงรายการขายจากมูลค่าสูงสุดไปต่ำสุด ได้ในสูตรเดียว
การเรียงลำดับด้วย ORDER BY
ส่วนคำสั่ง ORDER BY ใช้เรียงลำดับผลลัพธ์ตามคอลัมน์หนึ่งคอลัมน์หรือหลายคอลัมน์ โดยจะวางไว้หลัง WHERE (หากมี)
โดยค่าเริ่มต้น ระบบจะเรียงแบบจากน้อยไปมาก (น้อยที่สุดก่อน หรือ A ถึง Z) สูตรนี้จะแสดงทุกแถวโดยเรียงยอดขายจากน้อยไปมาก
=QUERY(A1:D7, "SELECT A, B, D ORDER BY D", 1)การเรียงจากมากไปน้อย
เพิ่ม DESC หลังคอลัมน์เพื่อเรียงจากค่าสูงสุดไปต่ำสุด ใช้ ASC หากต้องการระบุอย่างชัดเจนว่าให้เรียงจากน้อยไปมาก
วิธีนี้จะแสดงยอดขายสูงสุดก่อน เหมาะสำหรับสร้างรายชื่อผู้ทำผลงานสูงสุด ใช้ร่วมกับ LIMIT เพื่อสร้างรายการ 3 อันดับแรกที่กระชับได้
=QUERY(A1:D7, "SELECT B, D ORDER BY D DESC LIMIT 3", 1)การเรียงลำดับตามหลายคอลัมน์
ระบุหลายคอลัมน์ใน ORDER BY โดยคั่นด้วยจุลภาค เพื่อใช้จัดลำดับเมื่อค่าตรงกัน ชีตจะเรียงตามคอลัมน์แรก จากนั้นใช้คอลัมน์ถัดไปจัดลำดับแถวที่มีค่าในคอลัมน์แรกตรงกัน
ในที่นี้ผลลัพธ์จะจัดกลุ่มตามภูมิภาคโดยเรียงตามตัวอักษร และภายในแต่ละภูมิภาคจะแสดงยอดขายสูงสุดก่อน
=QUERY(A1:D7, "SELECT A, B, D ORDER BY A ASC, D DESC", 1)ทำความรู้จักกับ GROUP BY
GROUP BY จะรวมแถวที่มีค่าเดียวกันให้กลายเป็นแถวสรุปเพียงแถวเดียว วิธีนี้ใช้สร้างยอดรวมแยกตามหมวดหมู่
หากต้องการใช้ส่วนคำสั่งนี้ SELECT ของคุณต้องรวมคอลัมน์ที่ใช้จัดกลุ่มเข้ากับฟังก์ชันรวมค่า เช่น SUM, COUNT หรือ AVG ซึ่งนำไปใช้กับอีกคอลัมน์หนึ่ง
การหาผลรวมแยกตามกลุ่ม
สูตรนี้จะรวมยอดขายของแต่ละภูมิภาค SUM(D) จะบวกค่าจากคอลัมน์ยอดขาย ส่วน GROUP BY A จะสร้างหนึ่งแถวต่อหนึ่งภูมิภาค
ผลลัพธ์คือตารางสรุปขนาดย่อมที่คล้ายตารางสรุปข้อมูล: ภูมิภาคตะวันออกพร้อมยอดรวม และภูมิภาคตะวันตกพร้อมยอดรวม ทั้งหมดได้จากฟังก์ชันเดียว
=QUERY(A1:D7, "SELECT A, SUM(D) GROUP BY A", 1)การนับแยกตามกลุ่ม
เปลี่ยนมาใช้ COUNT เพื่อนับแถวแทนการหาผลรวม วิธีนี้จะบอกว่าภูมิภาคแต่ละแห่งปิดการขายได้กี่รายการ
คุณสามารถใช้ COUNT(D) เพื่อนับเซลล์ยอดขายที่ไม่ว่าง ซึ่งช่วยนับจำนวนแถวของแต่ละกลุ่มได้อย่างรวดเร็ว
=QUERY(A1:D7, "SELECT A, COUNT(D) GROUP BY A", 1)การหาค่าเฉลี่ยแยกตามกลุ่ม
ใช้ AVG เพื่อหาค่าเฉลี่ยของแต่ละกลุ่ม ในที่นี้เราจะได้ขนาดรายการขายโดยเฉลี่ยของแต่ละภูมิภาค
คุณยังสามารถใช้ฟังก์ชันรวมค่าหลายแบบร่วมกันได้ โดยเลือกทั้ง SUM(D) และ AVG(D) ในคำสั่งเดียว เพื่อแสดงยอดรวมและค่าเฉลี่ยไว้เคียงข้างกัน
=QUERY(A1:D7, "SELECT A, SUM(D), AVG(D) GROUP BY A", 1)ทุกคอลัมน์ที่ไม่ใช่การรวมค่าต้องอยู่ในกลุ่ม
ข้อผิดพลาดที่พบบ่อยคือ คอลัมน์แต่ละคอลัมน์ใน SELECT ที่ไม่ได้ครอบด้วยฟังก์ชันรวมค่าจะต้องปรากฏอยู่ใน GROUP BY
SELECT A, B, SUM(D) GROUP BY A ใช้งานไม่ได้ เพราะ B ไม่ได้ผ่านการรวมค่าและไม่ได้อยู่ในกลุ่มด้วย ให้จัดกลุ่มตามทั้งสองคอลัมน์ หรือนำ B ออกจากรายการที่เลือก
=QUERY(A1:D7, "SELECT A, B, SUM(D) GROUP BY A, B", 1)การเรียงลำดับผลลัพธ์ที่จัดกลุ่มแล้ว
รวมส่วนคำสั่งเหล่านี้เพื่อจัดอันดับสรุปของคุณ หลังจากจัดกลุ่มแล้ว ให้เรียงตามค่าที่รวมเพื่อให้กลุ่มที่มีค่ามากที่สุดอยู่ด้านบน
สูตรนี้จะแสดงแต่ละภูมิภาคพร้อมยอดขายรวม โดยเรียงจากยอดรวมสูงสุดไปต่ำสุด เป็นตารางจัดอันดับที่พร้อมใช้งาน
=QUERY(A1:D7, "SELECT A, SUM(D) GROUP BY A ORDER BY SUM(D) DESC", 1)การตั้งชื่อคอลัมน์ที่รวมค่า
คอลัมน์ที่จัดกลุ่มแล้วมักมีส่วนหัวที่ดูไม่สวย เช่น sum Sales ให้เพิ่มส่วนคำสั่ง LABEL เพื่อเปลี่ยนชื่อให้เหมาะกับรายงานที่ดูเรียบร้อย
สูตรนี้จะเปลี่ยนชื่อคอลัมน์ยอดรวมเป็น Total Sales ข้อความป้ายกำกับใช้อัญประกาศเดี่ยว เช่นเดียวกับค่าที่ใช้กรอง
=QUERY(A1:D7, "SELECT A, SUM(D) GROUP BY A LABEL SUM(D) 'Total Sales'", 1)ตรวจสอบความเข้าใจ
ตรวจสอบความเข้าใจของคุณเกี่ยวกับการเรียงลำดับและการจัดกลุ่ม
สรุป
ตอนนี้คุณสามารถจัดรูปแบบผลลัพธ์ของ QUERY ได้แล้ว:
ORDER BY col [ASC|DESC]ใช้เรียงลำดับ และสามารถเพิ่มคอลัมน์เพื่อจัดลำดับเมื่อค่าตรงกันได้GROUP BYร่วมกับSUM,COUNTหรือAVGใช้สร้างสรุปแยกตามหมวดหมู่- คอลัมน์ที่เลือกและไม่ได้ผ่านการรวมค่าต้องอยู่ใน
GROUP BY LABELใช้เปลี่ยนชื่อส่วนหัวของค่าที่รวม
ตอนนี้สูตรเดียวสามารถสร้างรายงานที่เรียงลำดับ จัดกลุ่ม และตั้งชื่อส่วนหัวได้แล้ว
=QUERY(A1:D7, "SELECT A, SUM(D) GROUP BY A ORDER BY SUM(D) DESC LABEL SUM(D) 'Total Sales'", 1)คำถามที่พบบ่อย
บทเรียน “จัดเรียงและจัดกลุ่มใน QUERY” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “จัดเรียงและจัดกลุ่มใน QUERY” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Excel Formulas Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Excel Formulas Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “จัดเรียงและจัดกลุ่มใน QUERY”
จัดเรียงผลลัพธ์และรวมค่าโดยใช้ ORDER BY และ GROUP BY คุณปฏิบัติ Excel Formulas Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Excel Formulas Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Excel Formulas Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “จัดเรียงและจัดกลุ่มใน QUERY” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Excel Formulas Academy นี้ได้ไหม
ได้ บทเรียน Excel Formulas Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- สืบค้นข้อมูลด้วย QUERY
- จัดเรียงและจัดกลุ่มใน QUERY
- ใช้สูตรกับคอลัมน์ด้วย ARRAYFORMULA
- ดึงข้อมูลด้วย IMPORTRANGE