GROUPBY เป็นฟังก์ชันใหม่ใน Excel 365 ที่ใช้จัดกลุ่มข้อมูลและคำนวณผลสรุป (เช่น SUM, COUNT, AVERAGE) ตามกลุ่มนั้นๆ คล้ายกับการทำงานของ Pivot Table แต่ยืดหยุ่นกว่าเพราะเป็นสูตร สามารถกำหนดหัวตาราง ผลรวมย่อย และการเรียงลำดับได้ในตัว
=GROUPBY(row_fields, values, function, [field_headers], [total_depth], [sort_order], [filter_array], [field_relationship])
=GROUPBY(row_fields, values, function, [field_headers], [total_depth], [sort_order], [filter_array], [field_relationship])
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| row_fields | Range/Array | Yes | คอลัมน์ที่ต้องการใช้จัดกลุ่ม (Group By) – สามารถเป็นคอลัมน์เดียวหรือหลายคอลัมน์สำหรับการจัดกลุ่มแบบชั้นลำดับได้ | |
| values | Range/Array | Yes | คอลัมน์ตัวเลขที่ต้องการนำมาคำนวณ หรือ array ของค่าที่ต้องการรวม | |
| function | Function/Number | Yes | ฟังก์ชันที่ใช้สรุปผล เช่น SUM (1), AVERAGE (2), COUNT (3), MAX (4), MIN (5) หรือสามารถใช้ HSTACK เพื่อรวมหลายฟังก์ชันในครั้งเดียว | |
| field_headers | Number | Optional | 0 | การแสดงหัวตาราง (0=ไม่แสดง, 3=แสดงหัวตารางเต็ม) |
| total_depth | Number | Optional | 0 | การแสดงผลรวม (0=ไม่มี, 1=Grand Total, 2=Grand Total & Subtotal) |
| sort_order | Number | Optional | 1 | ลำดับการจัดเรียง (-1=ลดลง, 1=เพิ่มขึ้น, 0=ไม่เรียง) |
| filter_array | Range/Array | Optional | (ไม่มี) | Array ของค่า TRUE/FALSE ที่ระบุว่าแต่ละแถวของข้อมูลควรนำมาพิจารณาหรือไม่ |
| field_relationship | Number | Optional | 0 | ความสัมพันธ์ของฟิลด์ (0=Hierarchy ค่าเริ่มต้น, 1=Table) |
รวมยอดขายของสินค้าแต่ละชนิดโดยอัตโนมัติ ไม่ต้องสร้าง Pivot Table
จัดกลุ่มรายการตามเดือนและประเภท เพื่อดูภาพรวมการเงิน
นับว่าแต่ละแผนกมีพนักงานกี่คน และเงินเดือนเฉลี่ยเท่าไหร่
GROUPBY(A2:A20, B2:B20, 1)=GROUPBY(A2:A20, B2:B20, 1)
ตารางสรุปยอดขายแยกตามสินค้า
GROUPBY(A2:A20, B2:B20, 1, 3, 0, -1)=GROUPBY(A2:A20, B2:B20, 1, 3, 0, -1)
ตารางสรุปพร้อมหัวข้อ เรียงยอดขายจากมากไปน้อย
GROUPBY(C2:C30, HSTACK(D2:D30, E2:E30), HSTACK(3, 2))=GROUPBY(C2:C30, HSTACK(D2:D30, E2:E30), HSTACK(3, 2))
ตารางแสดงจำนวนออเดอร์และยอดขายเฉลี่ยรายภูมิภาค
GROUPBY(A2:A20, B2:B20, C2:C20, 1, 3, 1, 2)=GROUPBY(A2:A20, B2:B20, C2:C20, 1, 3, 1, 2)
ตารางสรุปหลายระดับพร้อมผลรวมย่อยและผลรวมทั้งสิ้น
GROUPBY เป็นสูตร อัปเดตทันทีเมื่อข้อมูลเปลี่ยน (ไม่ต้องกด Refresh) และผลลัพธ์อยู่ในเซลล์เดียว ส่วน Pivot Table เป็นเครื่องมือสำคัญที่มีลูกเล่นการจัดรูปแบบและวิเคราะห์ที่หลากหลายกว่า คุณเลือกตามความต้องการ
ใช้ได้เฉพาะ Excel 365 (Subscription) และ Excel for the web เท่านั้น ไม่สามารถใช้ใน Excel 2019 หรือรุ่นเก่ากว่า
ได้ครับ เพียงแค่ป้อนหลายคอลัมน์เป็น row_fields เช่น =GROUPBY(A2:B20, C2:C20, 1) จะจัดกลุ่มตาม A แล้วค่อยแยกตาม B
SUMIF ใช้ได้เฉพาะการหาผลรวมตามเงื่อนไขเดียว แต่ GROUPBY ทำได้หมด – รวม นับ หาค่าเฉลี่ย และเก็บผลลัพธ์ในตารางครบถ้วน
ฟังก์ชัน GROUPBY ช่วยให้คุณสรุปข้อมูล (Group & Aggregate) ได้เหมือนกับการทำ Pivot Table แต่มาในรูปแบบของสูตร Dynamic Array ที่อัปเดตอัตโนมัติเมื่อข้อมูลต้นทางเปลี่ยน สามารถหายอดรวม นับจำนวน หรือหาค่าเฉลี่ยรายกลุ่มได้อย่างง่ายดาย
ที่เจ๋งของ GROUPBY คือเธอทำได้หมดทั้งหมด – จัดกลุ่ม, สรุปผล, เรียงลำดับ, แสดงผลรวม – ในสูตรเดียว ไม่ต้องสร้าง Pivot Table หรือเขียน SUMIF ซ้ำๆ ข้อมูลปรับปรุงทันทีที่เปลี่ยนแปลง
ส่วนตัวผมชอบใจเลยตรงที่มันพลิกโฉมวิธีคิดเรื่องการสรุปข้อมูล – ไม่ใช่ “สร้างตารางอยู่ที่นี่” แต่เป็น “เอาผลลัพธ์มาใส่ในเซลล์นี้” โดยมันจัดการทั้งหมดให้เรียบร้อย 😎