หน้าแรก บทความ Microsoft
Microsoft

สูตรอาเรย์ไดนามิกใน Excel FILTER, SORT, UNIQUE

เผยแพร่ 03 ก.ย. 69

อยากดึงเฉพาะแถวที่ตรงเงื่อนไข หรือเรียงข้อมูลใหม่ โดยไม่แตะตารางต้นทาง — Excel ใน Microsoft 365 มี สูตรอาเรย์ไดนามิก อย่าง FILTER, SORT, UNIQUE ที่พิมพ์สูตรเดียวแล้วผลลัพธ์ “หก (spill)” ลงมาเองทั้งชุด บทความนี้ทำบน Excel ใน Microsoft 365 (Windows)

3 สูตรหลัก

สูตร ทำอะไร
=FILTER(ช่วง, เงื่อนไข) คืนเฉพาะแถวที่เงื่อนไขเป็นจริง เช่น =FILTER(A2:C7, C2:C7="กทม")
=SORT(ช่วง, [คอลัมน์], [ทิศ]) เรียงข้อมูล ทิศ 1 = น้อยไปมาก, -1 = มากไปน้อย
=UNIQUE(ช่วง) คืนรายการที่ไม่ซ้ำ เอาไว้ทำ “รายชื่อลูกค้าไม่ซ้ำ”
=SORT(FILTER(...)) ซ้อนกันได้ กรองก่อนแล้วเรียง

Excel แสดงตารางชื่อ-ยอด-จังหวัด และสูตร =FILTER(A2:C7, C2:C7=กทม) ในเซลล์ F2 ที่ผลลัพธ์หกลงมาเป็นช่วง spill สีฟ้า

ภาพจำลอง: สูตร FILTER เดียวใน F2 ผลลัพธ์หก (spill) ลงมาเอง

เรื่อง Spill ที่ต้องเข้าใจ

Spill range พื้นที่ผลลัพธ์ที่หกออกมา คลิกเซลล์บนสุดจะเห็นกรอบสีฟ้าล้อมทั้งชุด
ตัวดำเนินการ # อ้างถึงทั้ง spill ด้วย F2# เช่น =COUNTA(F2#) นับจำนวนผลลัพธ์
#SPILL! error มีข้อมูลอื่นขวางพื้นที่ที่จะหก — ลบสิ่งที่ขวางออก
แก้เฉพาะเซลล์บนสุด เซลล์อื่นในชุดแก้ไม่ได้ (จะขึ้นเทาจาง) ต้องแก้ที่สูตรต้นทาง

ตัวอย่างใช้งานจริง: สรุปยอดขายรายจังหวัดแบบสด

ไฟล์บันทึกยอดขายรวมทุกจังหวัดในชีตเดียว อยากมีหน้าสรุปเฉพาะ “กทม” ที่อัปเดตเองเมื่อเพิ่มข้อมูล — เขียน =SORT(FILTER(A2:C100, C2:C100="กทม"), 2, -1) ได้ตารางเฉพาะ กทม เรียงยอดมากไปน้อย พอบันทึกออเดอร์ใหม่ในตารางหลัก หน้าสรุปขยับตามทันทีโดยไม่ต้องกดอะไร

ข้อควรรู้

สูตรกลุ่มนี้มีเฉพาะ Microsoft 365 และ Excel 2021 ขึ้นไป เปิดไฟล์ใน Excel 2019/2016 ผลจะกลายเป็น @FILTER หรือ #NAME? เว้นพื้นที่ด้านล่าง/ขวาของสูตรให้ว่างพอสำหรับผลลัพธ์ อยากได้เฉพาะบางคอลัมน์ ใช้ FILTER ครอบ CHOOSECOLS หรือระบุช่วงต้นทางแค่คอลัมน์ที่ต้องการ

สรุป

FILTER กรอง, SORT เรียง, UNIQUE เอาค่าไม่ซ้ำ — พิมพ์สูตรเดียว ผลลัพธ์หก (spill) เองทั้งชุด อ้างทั้งชุดด้วย # เช่น F2# ระวังพื้นที่ถูกขวางจะขึ้น #SPILL! ใช้ได้เฉพาะ Microsoft 365 / Excel 2021+

หมายเหตุ: บทความนี้เขียนและเรียบเรียงโดย AI

← กลับหน้าบทความ
Line