SORT เป็น Dynamic Array Function ที่เรียงลำดับข้อมูลจาก Array แล้ว return เป็น Spill Range ใหม่โดยไม่แก้ไขข้อมูลต้นฉบับ รองรับการเรียงตามคอลัมน์ที่ต้องการ (sort_index) ทั้งจากน้อยไปมาก (1) และมากไปน้อย (-1) รวมถึงเรียงแนวนอน (by_col=TRUE) ต่างจาก SORTBY ที่ใช้คอลัมน์ภายนอกเป็นเกณฑ์
=SORT(array, [sort_index], [sort_order], [by_col])
=SORT(array, [sort_index], [sort_order], [by_col])
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| array | Range/Array | Yes | ช่วงข้อมูลหรือ Array ที่ต้องการเรียงลำดับ | |
| sort_index | Number/Array | Optional | 1 | เลขคอลัมน์ที่ใช้เรียง (1=คอลัมน์แรก) หรือ Array สำหรับ multi-level sort |
| sort_order | Number/Array | Optional | 1 | 1 = น้อยไปมาก (A-Z), -1 = มากไปน้อย (Z-A) หรือ Array สำหรับ multi-level |
| by_col | Boolean | Optional | FALSE | FALSE = เรียงตามแถว (แนวตั้ง ค่าเริ่มต้น), TRUE = เรียงตามคอลัมน์ (แนวนอน) |
เรียงยอดขายจากมากไปน้อยเพื่อหาท็อปเซลล์
เรียงข้อมูลก่อนส่งให้ UNIQUE เพื่อให้ผลลัพธ์ดูเป็นระเบียบ
ใช้ SORT คร่อม FILTER เพื่อเรียงผลลัพธ์ที่กรองแล้ว
SORT(Products[Name])=SORT(Products[Name])
{"Apple"; "Banana"; "Cherry"; "Date"}
SORT(Sales[Amount], 1, -1)=SORT(Sales[Amount], 1, -1)
{5000; 3500; 2800; 1200; 500}
SORT(Employees, 3, -1)=SORT(Employees, 3, -1)
ตารางเรียงตามเงินเดือน (คอลัมน์ 3) มากไปน้อย
SORT(Sales, {1,3}, {1,-1})=SORT(Sales, {1,3}, {1,-1})
เรียง Region A-Z แล้ว Amount มาก→น้อย
SORT(FILTER(Orders, Orders[Status]="Pending"), 2, -1)=SORT(FILTER(Orders, Orders[Status]="Pending"), 2, -1)
Orders ที่ Pending เรียงตามคอลัมน์ 2
INDEX(SORT(Products, 2, -1), SEQUENCE(5), {1,2})=INDEX(SORT(Products, 2, -1), SEQUENCE(5), {1,2})
Top 5 สินค้าขายดี (2 คอลัมน์)
SORT เป็นสูตรที่ return Spill Range ใหม่ ไม่แก้ไขข้อมูลต้นฉบับ และอัปเดตอัตโนมัติ ส่วนการ Sort ในเมนูจัดเรียงข้อมูลจริงในตาราง
SORT เรียงตามคอลัมน์ภายใน array (ระบุเป็นเลขคอลัมน์ 1,2,3) ส่วน SORTBY เรียงตาม Array ภายนอกได้ และทำ custom sort order ด้วย XMATCH
ได้ ใช้ Array สำหรับ sort_index และ sort_order เช่น =SORT(Data, {1,3}, {1,-1}) เรียงคอลัมน์ 1 ก่อน (A-Z) แล้วคอลัมน์ 3 (มากไปน้อย)
เกิดเมื่อเซลล์ด้านล่างไม่ว่าง ทำให้ผลลัพธ์ Spill ไม่ได้ ลบข้อมูลที่ขวางหรือย้ายสูตรไปที่ว่าง
Microsoft 365, Excel 2021, Excel 2024, และ Excel for Web เป็น Dynamic Array Function ไม่รองรับ Excel 2019 หรือเก่ากว่า
SORT เป็น Dynamic Array Function ที่เรียงลำดับข้อมูลจาก Array แล้ว return เป็น Spill Range ใหม่โดยไม่แก้ไขข้อมูลต้นฉบับ รองรับการเรียงตามคอลัมน์ที่กำหนด (sort_index) ทั้งจากน้อยไปมาก (1) และมากไปน้อย (-1) รวมถึงเรียงแนวนอน (by_col=TRUE) ใช้ร่วมกับ FILTER UNIQUE เพื่อสร้างรายงานไดนามิก