---
title: GROUPBY – สรุปข้อมูลแบบ Pivot Table ด้วยสูตร
url: https://www.thepexcel.com/functions/excel/statistical/groupby/
type: function-explainer
program: Excel
syntax: "=GROUPBY(row_fields, values, function, [field_headers], [total_depth], [sort_order], [filter_array], [field_relationship])"
date: 2025-11-30
updated: 2025-12-24
scores:
  popularity: 5
  difficulty: 4
  usefulness: 6
---

# GROUPBY – สรุปข้อมูลแบบ Pivot Table ด้วยสูตร

> GROUPBY เป็นฟังก์ชันใหม่ใน Excel 365 ที่ใช้จัดกลุ่มข้อมูลและคำนวณผลสรุป (เช่น SUM, COUNT, AVERAGE) ต

## คำอธิบาย

GROUPBY เป็นฟังก์ชันใหม่ใน Excel 365 ที่ใช้จัดกลุ่มข้อมูลและคำนวณผลสรุป (เช่น SUM, COUNT, AVERAGE) ตามกลุ่มนั้นๆ คล้ายกับการทำงานของ Pivot Table แต่ยืดหยุ่นกว่าเพราะเป็นสูตร สามารถกำหนดหัวตาราง ผลรวมย่อย และการเรียงลำดับได้ในตัว

## Syntax

```excel
=GROUPBY(row_fields, values, function, [field_headers], [total_depth], [sort_order], [filter_array], [field_relationship])
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| row_fields | Yes | Range/Array |  | คอลัมน์ที่ต้องการใช้จัดกลุ่ม (Group By) - สามารถเป็นคอลัมน์เดียวหรือหลายคอลัมน์สำหรับการจัดกลุ่มแบบชั้นลำดับได้ |
| values | Yes | Range/Array |  | คอลัมน์ตัวเลขที่ต้องการนำมาคำนวณ หรือ array ของค่าที่ต้องการรวม |
| function | Yes | Function/Number |  | ฟังก์ชันที่ใช้สรุปผล เช่น SUM (1), AVERAGE (2), COUNT (3), MAX (4), MIN (5) หรือสามารถใช้ HSTACK เพื่อรวมหลายฟังก์ชันในครั้งเดียว |
| field_headers | No | Number | 0 | การแสดงหัวตาราง (0=ไม่แสดง, 3=แสดงหัวตารางเต็ม) |
| total_depth | No | Number | 0 | การแสดงผลรวม (0=ไม่มี, 1=Grand Total, 2=Grand Total & Subtotal) |
| sort_order | No | Number | 1 | ลำดับการจัดเรียง (-1=ลดลง, 1=เพิ่มขึ้น, 0=ไม่เรียง) |
| filter_array | No | Range/Array | (ไม่มี) | Array ของค่า TRUE/FALSE ที่ระบุว่าแต่ละแถวของข้อมูลควรนำมาพิจารณาหรือไม่ |
| field_relationship | No | Number | 0 | ความสัมพันธ์ของฟิลด์ (0=Hierarchy ค่าเริ่มต้น, 1=Table) |

## เคสการใช้งาน

### สรุปยอดขายรายสินค้า

รวมยอดขายของสินค้าแต่ละชนิดโดยอัตโนมัติ ไม่ต้องสร้าง Pivot Table

### สรุปรายรับรายจ่ายรายเดือน

จัดกลุ่มรายการตามเดือนและประเภท เพื่อดูภาพรวมการเงิน

### นับจำนวนพนักงานตามแผนก

นับว่าแต่ละแผนกมีพนักงานกี่คน และเงินเดือนเฉลี่ยเท่าไหร่

## ตัวอย่าง

### 1. สรุปยอดขายรายสินค้า

```excel
=GROUPBY(A2:A20, B2:B20, 1)
```

**ผลลัพธ์:** `ตารางสรุปยอดขายแยกตามสินค้า`

จัดกลุ่มข้อมูล A2:A20 (ชื่อสินค้า) และหาผลรวม (1 = SUM) ของ B2:B20 (ยอดขาย) ของแต่ละกลุ่ม

### 2. แสดงหัวตารางและเรียงลำดับ

```excel
=GROUPBY(A2:A20, B2:B20, 1, 3, 0, -1)
```

**ผลลัพธ์:** `ตารางสรุปพร้อมหัวข้อ เรียงยอดขายจากมากไปน้อย`

ใช้พารามิเตอร์ field_headers=3 เพื่อแสดงหัวตาราง, total_depth=0 (ไม่แสดง Grand Total), sort_order=-1 (ลดลง)

### 3. นับจำนวนและหาค่าเฉลี่ยพร้อมกัน

```excel
=GROUPBY(C2:C30, HSTACK(D2:D30, E2:E30), HSTACK(3, 2))
```

**ผลลัพธ์:** `ตารางแสดงจำนวนออเดอร์และยอดขายเฉลี่ยรายภูมิภาค`

ใช้ HSTACK เพื่อรวมสองคอลัมน์ (ออเดอร์ ID และจำนวนเงิน) และหาผลลัพธ์ COUNT (3) กับ AVERAGE (2) ของแต่ละกลุ่ม

### 4. จัดกลุ่มแบบหลายระดับพร้อม Subtotals

```excel
=GROUPBY(A2:A20, B2:B20, C2:C20, 1, 3, 1, 2)
```

**ผลลัพธ์:** `ตารางสรุปหลายระดับพร้อมผลรวมย่อยและผลรวมทั้งสิ้น`

จัดกลุ่มตาม Region (A), แล้วจัดกลุ่มย่อยตาม Category (B), รวมยอดขาย (C), แสดงหัวตาราง, แสดง Subtotal และ Grand Total

## หมายเหตุเพิ่มเติม

- ใช้ HSTACK เพื่อสรุปหลายคอลัมน์พร้อมกัน เช่น =GROUPBY(A2:A20, HSTACK(B2:B20, C2:C20), HSTACK(1, 2)) จะได้ทั้ง SUM และ AVERAGE

- ถ้าต้องการกรองข้อมูลก่อนจัดกลุ่ม ให้ใช้ filter_array และวางสูตร boolean ใน parameter นั้น เช่น =GROUPBY(A2:A20, B2:B20, 1,,,, D2:D20>100)

- ปรับเปลี่ยน sort_order เป็น -1 เพื่อจัดเรียงผลลัพธ์จากมากไปน้อย ช่วยให้หาค่าสูงสุดง่ายขึ้น

- ถ้า total_depth=2 ให้ Subtotal และ Grand Total พร้อมกัน ใช้ได้เวลาจัดกลุ่มแบบหลายระดับ

- อย่าลืมว่า row_fields สามารถเป็นหลายคอลัมน์ได้ - เพียงแค่เสียบเข้าไป GROUPBY จะเข้าใจเอง

## คำถามที่พบบ่อย

**Q: ต่างจาก Pivot Table อย่างไร?**

GROUPBY เป็นสูตร อัปเดตทันทีเมื่อข้อมูลเปลี่ยน (ไม่ต้องกด Refresh) และผลลัพธ์อยู่ในเซลล์เดียว ส่วน Pivot Table เป็นเครื่องมือสำคัญที่มีลูกเล่นการจัดรูปแบบและวิเคราะห์ที่หลากหลายกว่า คุณเลือกตามความต้องการ

**Q: ใช้ใน Excel เวอร์ชันไหนได้บ้าง?**

ใช้ได้เฉพาะ Excel 365 (Subscription) และ Excel for the web เท่านั้น ไม่สามารถใช้ใน Excel 2019 หรือรุ่นเก่ากว่า

**Q: สามารถจัดกลุ่มตามหลายคอลัมน์ได้ไหม?**

ได้ครับ เพียงแค่ป้อนหลายคอลัมน์เป็น row_fields เช่น =GROUPBY(A2:B20, C2:C20, 1) จะจัดกลุ่มตาม A แล้วค่อยแยกตาม B

**Q: ต่างจาก SUMIF อย่างไร?**

SUMIF ใช้ได้เฉพาะการหาผลรวมตามเงื่อนไขเดียว แต่ GROUPBY ทำได้หมด - รวม นับ หาค่าเฉลี่ย และเก็บผลลัพธ์ในตารางครบถ้วน

## แหล่งข้อมูลเพิ่มเติม

- [Microsoft Support: GROUPBY function](https://support.microsoft.com/en-us/office/groupby-function-5f5df79d-2254-4b31-961f-506e67c52539) _(official)_
- [Microsoft Learn: GROUPBY](https://learn.microsoft.com/en-us/office/client-developer/excel/groupby) _(official)_
- [ExcelJet: GROUPBY Examples](https://exceljet.net/excel-functions/excel-groupby-function) _(guide)_

---

_Source: [https://www.thepexcel.com/functions/excel/statistical/groupby/](https://www.thepexcel.com/functions/excel/statistical/groupby/)_
