---
title: SORTBY – เรียงลำดับข้อมูลตามคอลัมน์อื่น
url: https://www.thepexcel.com/functions/excel/lookup-and-reference/sortby/
type: function-explainer
program: Excel
syntax: "=SORTBY(array, by_array1, [sort_order1], [by_array2, sort_order2], ...)"
date: 2025-12-01
updated: 2025-12-17
scores:
  popularity: 8
  difficulty: 5
  usefulness: 9
---

# SORTBY – เรียงลำดับข้อมูลตามคอลัมน์อื่น

> เรียงลำดับข้อมูลตาม Array อื่นที่กำหนด

## คำอธิบาย

SORTBY เรียงลำดับข้อมูลตาม Array อื่นที่กำหนด รองรับหลายระดับการเรียง (multi-level) และสามารถกำหนดลำดับเอง (custom sort order) ด้วย XMATCH ต่างจาก SORT ที่เรียงตามคอลัมน์ภายในตัวเอง SORTBY ใช้คอลัมน์ภายนอกเป็นเกณฑ์ได้

## Syntax

```excel
=SORTBY(array, by_array1, [sort_order1], [by_array2, sort_order2], ...)
```

**excel**

```excel
=SORTBY(Table1, Table1[Amount], -1)
```

เรียงตามยอดขายจากมากไปน้อย

**excel**

```excel
=SORTBY(Table1, Table1[Region], 1, Table1[Amount], -1)
```

Multi-level: Region A-Z แล้ว Amount มาก→น้อย

**excel**

```excel
=SORTBY(Data, XMATCH(Data[Status], {"Urgent";"High";"Normal";"Low"}))
```

Custom sort order ด้วย XMATCH

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| array | Yes | Range/Array |  | ช่วงข้อมูลที่ต้องการเรียงลำดับ (return ทั้ง array นี้) |
| by_array1 | Yes | Range/Array |  | คอลัมน์หรือ Array ที่ใช้เป็นเกณฑ์เรียงลำดับ (ต้องมีจำนวนแถวเท่ากับ array) |
| sort_order1 | No | Number | 1 | ลำดับการเรียง: 1 = น้อยไปมาก (A-Z), -1 = มากไปน้อย (Z-A) |
| by_array2 | No | Range/Array | - | คอลัมน์ที่ 2 สำหรับ multi-level sort (เรียงหลังจาก by_array1) |
| sort_order2 | No | Number | 1 | ลำดับการเรียงสำหรับคอลัมน์ที่ 2 |

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

### Multi-Level Sort

เรียงข้อมูลหลายระดับ เช่น เรียงตามแผนก A-Z แล้วเรียงตามเงินเดือนจากมากไปน้อยภายในแผนกเดียวกัน

_เหมาะกับ:_ data-organization

### Custom Sort Order

เรียงตามลำดับที่กำหนดเอง เช่น Priority (Urgent, High, Normal, Low) โดยใช้ XMATCH

_เหมาะกับ:_ custom-sorting

### Dynamic Ranking

สร้างตารางอันดับที่อัปเดตอัตโนมัติเมื่อข้อมูลเปลี่ยน

_เหมาะกับ:_ ranking

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: เรียงจากมากไปน้อย

```excel
=SORTBY(Sales, Sales[Amount], -1)
```

**ผลลัพธ์:** `ตารางเรียงตามยอดขายสูงสุด`

เรียง Sales ตามคอลัมน์ Amount จากมากไปน้อย (-1) ได้ Spill Range

### 2. ตัวอย่างที่ 2: Multi-Level Sort (2 ระดับ)

```excel
=SORTBY(Employees, Employees[Department], 1, Employees[Salary], -1)
```

**ผลลัพธ์:** `เรียงตามแผนกแล้วเงินเดือน`

เรียงตาม Department A-Z ก่อน แล้วเรียงตาม Salary มากไปน้อยภายในแผนกเดียวกัน

### 3. ตัวอย่างที่ 3: Custom Sort Order ด้วย XMATCH

```excel
=SORTBY(Tasks, XMATCH(Tasks[Priority], {"Urgent";"High";"Normal";"Low"}))
```

**ผลลัพธ์:** `เรียงตาม Priority ที่กำหนดเอง`

XMATCH คืนตำแหน่ง (1,2,3,4) ตามลำดับที่กำหนด SORTBY ใช้ตำแหน่งนี้เรียง

### 4. ตัวอย่างที่ 4: เรียงตามวันที่ล่าสุด

```excel
=SORTBY(Orders, Orders[OrderDate], -1)
```

**ผลลัพธ์:** `คำสั่งซื้อล่าสุดอยู่บนสุด`

เรียงตาม OrderDate จากมากไปน้อย (-1) ทำให้วันที่ล่าสุดอยู่บนสุด

### 5. ตัวอย่างที่ 5: FILTER + SORTBY

```excel
=SORTBY(FILTER(Sales, Sales[Region]="North"), FILTER(Sales[Amount], Sales[Region]="North"), -1)
```

**ผลลัพธ์:** `กรอง North แล้วเรียง`

กรอง Region=North ก่อน แล้ว SORTBY เรียงตาม Amount (ต้อง FILTER ทั้ง array และ by_array)

### 6. ตัวอย่างที่ 6: เรียงตาม Random (สุ่มลำดับ)

```excel
=SORTBY(Names, RANDARRAY(ROWS(Names)))
```

**ผลลัพธ์:** `รายชื่อสุ่มลำดับใหม่`

ใช้ RANDARRAY สร้างเลขสุ่ม เรียงตามเลขสุ่มนี้ทำให้ได้ลำดับสุ่ม (กด F9 สุ่มใหม่)

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

**เปรียบเทียบ SORT vs SORTBY:**\n\n| | SORT | SORTBY |\n|---|------|--------|\n| เกณฑ์เรียง | คอลัมน์ภายใน array | Array ภายนอกได้ |\n| ระบุคอลัมน์ | เลขคอลัมน์ (1,2,3) | Range/Array |\n| Custom order | ทำยาก | ง่าย (XMATCH) |\n| หลายระดับ | ได้ | ได้ |\n\n**Pattern การใช้งาน:**\n```\n=SORTBY(Data, Data[Col], 1)          → A-Z\n=SORTBY(Data, Data[Col], -1)         → Z-A\n=SORTBY(Data, Col1, 1, Col2, -1)     → Multi-level\n=SORTBY(Data, XMATCH(...))           → Custom order\n=SORTBY(Data, RANDARRAY(n))          → Random shuffle\n```\n\n**Tips:**\n- by_array ต้องมีจำนวนแถวเท่ากับ array\n- ใช้กับ FILTER ต้อง FILTER ทั้ง array และ by_array\n- XMATCH + SORTBY ทำ custom order ได้ง่าย

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

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

SORT เรียงตามคอลัมน์ภายใน array (ระบุเป็นเลขคอลัมน์) ส่วน SORTBY เรียงตาม Array อื่นภายนอกได้ และรองรับ custom sort order ด้วย XMATCH

**Q: ทำ Custom Sort Order อย่างไร?**

ใช้ XMATCH กับ Array ที่กำหนดลำดับเอง เช่น =SORTBY(Data, XMATCH(Data[Status], {"High";"Medium";"Low"})) จะเรียง High ก่อน แล้ว Medium แล้ว Low

**Q: เรียงหลายระดับได้สูงสุดกี่ระดับ?**

รองรับได้สูงสุด 126 คู่ (by_array, sort_order) แต่ในทางปฏิบัติ 2-3 ระดับก็เพียงพอ

**Q: #VALUE! error เกิดจากอะไร?**

เกิดเมื่อ by_array มีจำนวนแถวไม่เท่ากับ array หลัก ต้องตรวจสอบให้ขนาดเท่ากัน

**Q: SORTBY รองรับ Excel เวอร์ชันไหน?**

Microsoft 365, Excel 2021, Excel 2024, และ Excel for Web เป็น Dynamic Array Function

## ฟังก์ชันที่เกี่ยวข้อง

- [SORT – ฟังก์ชันเรียงลำดับแบบสไปล์](https://www.thepexcel.com/functions/excel/lookup-and-reference/sort/)
- [FILTER – ฟังก์ชันกรองข้อมูลแบบไดนามิก](https://www.thepexcel.com/functions/excel/lookup-and-reference/filter/)
- [UNIQUE – ฟังก์ชันดึงค่าที่ไม่ซ้ำ](https://www.thepexcel.com/functions/excel/lookup-and-reference/unique/)
- [XMATCH – ฟังก์ชันค้นหาตำแหน่งข้อมูลขั้นสูง](https://www.thepexcel.com/functions/excel/lookup-and-reference/xmatch/)
- [RANDARRAY – สร้างตัวเลขสุ่มหลายตัวเป็นตาราง](https://www.thepexcel.com/functions/excel/math-and-trigonometry/randarray/)
- [TAKE – ดึงข้อมูลบางส่วนจากหัวหรือท้ายตาราง](https://www.thepexcel.com/functions/excel/lookup-and-reference/take/)
- [DROP – ตัดข้อมูลบางส่วนทิ้ง (หัวหรือท้าย)](https://www.thepexcel.com/functions/excel/lookup-and-reference/drop/)

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

- [Microsoft Support: SORTBY function](https://support.microsoft.com/en-us/office/sortby-function-cd2d7a62-1b93-435c-b561-d6a35134f28f) _(official)_
- [ExcelJet: How to use SORTBY](https://exceljet.net/excel-functions/excel-sortby-function) _(guide)_

---

_Source: [https://www.thepexcel.com/functions/excel/lookup-and-reference/sortby/](https://www.thepexcel.com/functions/excel/lookup-and-reference/sortby/)_
