คลังสูตรExcel 80 · DAX 95 · M 15
ในหน้านี้

SMALL

นับและสถิติระดับกลางทุกเวอร์ชัน

อัปเดต 24 ก.ย. 2569 · ตรวจ syntax และเวอร์ชันกับเอกสารของ Microsoft · ผลในตัวอย่างตรวจด้วยเครื่องมือคำนวณ 2 ชุด บางช่องใช้ผลจาก LibreOffice และตรงกับตัวคำนวณของหน้าเว็บ

SMALL คืออะไร

หาค่าที่น้อยเป็นอันดับที่ k ในช่วงข้อมูล ใช้กับวันที่ได้ เช่น ล็อตที่หมดอายุก่อน

ใช้เมื่อไหร่

  • หาวันหมดอายุหรือวันครบกำหนดที่มาถึงก่อน 3 รายการแรก
  • หาราคาหรือยอดที่ต่ำที่สุดเป็นอันดับ 2 หรือ 3
  • เรียงข้อมูลจากน้อยไปมากด้วยสูตรใน Excel ทุกเวอร์ชัน

รูปแบบสูตร

=SMALL(array, k)

Argument แต่ละตัว

ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น

Argumentจำเป็นไหมความหมาย
arrayจำเป็นช่วงหรือ array ของตัวเลขหรือวันที่ที่ต้องการหาค่าน้อยเป็นอันดับที่ k
kจำเป็นอันดับที่ต้องการ นับจากค่าน้อยที่สุด 1 = น้อยที่สุด

ลองเลย: ตัวอย่างที่เปลี่ยนค่าได้

ข้อมูลชุดเดียวกับไฟล์ฝึก เปลี่ยนค่าในช่องกรอก หรือคลิกตัวเลขในตารางเพื่อแก้ แล้วดูผลลัพธ์เปลี่ยนทันที กดถัดไปเพื่อดูว่า Excel คิดทีละขั้นอย่างไร สีของช่วงในตารางตรงกับสีในสูตร

วันที่ใน Excel คือตัวเลข SMALL จึงหาวันหมดอายุที่เร็วที่สุดได้ แล้ว INDEX + MATCH ดึงเลขล็อตและสินค้า

I5
=SMALL(C5:C12,I4)
ข้อมูลที่นำมาเรียง (array) C5:C12 มีตัวเลข 8 ค่า
แถวABCDEF
4เลขล็อตสินค้าวันหมดอายุจำนวนคงเหลือ
5LT-4127นม UHT รสจืด 180 มล. (ลัง 48)20/1/2026180
6LT-4133น้ำส้มคั้น 100% 350 มล. (แพ็ค 12)18/12/202536
7LT-4098นม UHT รสจืด 180 มล. (ลัง 48)26/12/202542
8LT-4162กาแฟพร้อมดื่ม เอสเปรสโซ 240 มล. (แพ็ค 24)5/3/202695
9LT-4155น้ำส้มคั้น 100% 350 มล. (แพ็ค 12)9/1/2026120
10LT-4141นม UHT รสจืด 180 มล. (ลัง 48)14/2/2026240
11LT-4109กาแฟพร้อมดื่ม เอสเปรสโซ 240 มล. (แพ็ค 24)2/1/202660
12LT-4150ข้าวเกรียบกุ้ง 60 ก. (กล่อง 36)31/1/202675
13
14
15
16
17
18
19
C5:C12
ช่องกรอกและผลลัพธ์
วันหมดอายุ I5
เลขล็อต I6
สินค้า I7
เหลืออีก (วัน) นับจาก 1 ธ.ค. 2025 I8
ขั้นตอนการคำนวณ (4)
คลิกตัวเลขหรือข้อความในตารางเพื่อแก้ค่า แล้วดูผลเปลี่ยนทันที · แก้สูตรได้ที่แถบสูตร หรือพิมพ์ = ในช่องว่าง
100%
ข้อมูลสมมติของสยามเฟรช ชุดเดียวกับชีต “1 หมดอายุก่อน” ในไฟล์ฝึก (ปี ค.ศ.)
ใช้ปุ่มลูกศรเลือกช่อง กด Enter หรือ F2 เพื่อแก้ พิมพ์ = เพื่อเขียนสูตร
  • อ่านสูตร: SMALL(C5:C12,I4) เมื่อ I4 = 1 ได้วันหมดอายุที่เร็วที่สุด คือ 18 ธ.ค. 2025 ของล็อต LT-4133 เหลืออีก 17 วัน
  • ลองเลือก I4 เป็น 2 และ 3 เพื่อดูล็อตที่ต้องระบายเป็นลำดับถัดไป
  • ถ้าผลแสดงเป็นตัวเลข เช่น 46009 ให้เปลี่ยน Number Format ของช่องเป็น Date

ตัวอย่างทั้งหมด 4 แบบ

  1. 1ล็อตที่หมดอายุเร็วเป็นอันดับที่ k · วันที่ใน Excel คือตัวเลข SMALL จึงหาวันหมดอายุที่เร็วที่สุดได้ แล้ว INDEX + MATCH ดึงเลขล็อตและสินค้า
  2. 2ยอดน้อยสุด 3 อันดับในสูตรเดียว · k เป็น {1;2;3} SMALL จึงคืน 3 ค่าพร้อมกัน ผลลัพธ์ spill ลงมาที่ F17:F19
  3. 3เรียงล็อตตามวันหมดอายุด้วยสูตรที่ลากลง · หลัก FEFO (First Expired, First Out) หยิบล็อตที่หมดอายุก่อนออกก่อน: SMALL คู่กับ ROWS ให้ k = 1, 2, 3… ทีละแถว ใช้ได้ทุกเวอร์ชัน
  4. 4ล็อตที่หมดอายุก่อน เฉพาะสินค้าที่เลือก · IF คัดเฉพาะวันหมดอายุของสินค้าใน I4 แล้ว SMALL หาอันดับที่ k จากค่าที่เหลือ

ข้อผิดพลาดที่พบบ่อย

#NUM!สาเหตุ: k น้อยกว่า 1 หรือมากกว่าจำนวนตัวเลขในช่วง หรือช่วงไม่มีตัวเลขเลยแก้: ตรวจ k และนับตัวเลขในช่วงด้วย COUNT
ผลเป็นตัวเลขแปลก ๆ เช่น 46009สาเหตุ: หาวันที่ แต่ช่องผลไม่ได้จัดรูปแบบวันที่แก้: เปลี่ยน Number Format เป็น Date
ได้รายการเดิมซ้ำสาเหตุ: ค่าเท่ากันหลายแถว MATCH เจอแค่แถวแรกแก้: ตรวจด้วย COUNTIF แล้วใช้ FILTER หรือคอลัมน์ลำดับไม่ซ้ำ
SMALL + IF ไม่ได้ผลตามคาดใน Excel 2016–2019สาเหตุ: สูตรที่ใช้เงื่อนไขกับทั้งช่วงต้องใส่เป็น array formulaแก้: ยืนยันสูตรด้วย Ctrl + Shift + Enter แทน Enter

เคล็ดลับจากห้องเรียน

SMALL(ช่วง,1) เท่ากับ MIN และ SMALL(ช่วง,n) เท่ากับ MAX เมื่อ n คือจำนวนตัวเลขในช่วง
วันที่คือตัวเลข SMALL จึงใช้หาวันครบกำหนดหรือวันหมดอายุที่มาถึงก่อนได้ทันที
ค่าน้อยสุดที่ไม่นับ 0 (ข้อมูลไม่มีค่าติดลบ) ใช้ได้ทุกเวอร์ชัน: =SMALL(C5:C12,COUNTIF(C5:C12,0)+1)

ใช้กับ Excel ของคุณได้ไหม

เวอร์ชันExcel 2016Excel 2019Excel 2021Excel 2024Microsoft 365
SMALL

SMALL ใช้ได้ทุกเวอร์ชันที่ยังใช้กันอยู่ จึงไม่ต้องมีสูตรทางเลือก

เลือกฟังก์ชันให้ถูกงาน

ฟังก์ชันใช้เมื่อตัวอย่าง
MINค่าน้อยที่สุดค่าเดียว=MIN(C5:C12)
SMALLค่าน้อยเป็นอันดับที่ k=SMALL(C5:C12,2)
MINIFSค่าน้อยที่สุดตามเงื่อนไข (Excel 2019 ขึ้นไป)=MINIFS(C5:C12,B5:B12,I4)
SMALL + IFค่าน้อยอันดับที่ k ตามเงื่อนไข (Excel 2016–2019 กด Ctrl + Shift + Enter)=SMALL(IF(B5:B12=I4,C5:C12),2)
LARGEค่ามากเป็นอันดับที่ k=LARGE(C5:C12,2)

ใน Power BI ใช้อะไร

TOPN ใส่ ASC เพื่อเอาค่าน้อยที่สุด

ไฟล์ฝึก SMALL

9Expert-SMALL-Practice-v1.2.xlsx

รุ่น 1.2 · 24/9/2026 · 28 KB · ไม่มี Macro · ข้อมูลชุดเดียวกับตัวอย่างบนเว็บ · มีเฉลยและตรวจคำตอบอัตโนมัติ
เริ่มต้นที่นี่1 หมดอายุก่อน2 น้อยสุด 3 อันดับ3 ลำดับหยิบสินค้า4 SMALL กับ IFแบบฝึกหัดเฉลยสรุปย่อ

โจทย์ในชีตแบบฝึกหัด

  1. ข้อ 1วันหมดอายุที่เร็วที่สุด
  2. ข้อ 2วันหมดอายุที่เร็วเป็นอันดับตามเลขในช่อง C8
  3. ข้อ 3จำนวนคงเหลือที่น้อยเป็นอันดับ 2
  4. ข้อ 4เลขล็อตที่หมดอายุเร็วที่สุด
  5. ข้อ 5วันหมดอายุที่ช้าที่สุด โดยใช้ SMALL (มีทั้งหมด 8 ล็อต)

วิดีโอประกอบ

คลิปเรื่อง SMALL จากช่อง YouTube @9expert

ในเว็บจริงจะฝังคลิปพร้อมตั้งเวลาเริ่มตรงหัวข้อนี้ ในต้นแบบเปิดผลค้นหาในช่องแทน

เปิดใน YouTube

แบบทดสอบ 3 ข้อ

1. =SMALL(C5:C12,1) ให้ผลเหมือนสูตรใด

2. ทำไม SMALL จึงใช้หาวันที่ที่มาถึงก่อนได้

3. ต้องการ 3 ค่าน้อยสุดในสูตรเดียวให้ผล spill ลงล่าง ใส่ k แบบใด

ไปต่อ

อยากใช้สูตรเหล่านี้กับงานจริงทั้งระบบ

ต่อยอดใน Microsoft Excel Advanced: สูตรสรุปผลแบบมีเงื่อนไข สูตรสืบค้นข้อมูล สูตรใหม่ใน Microsoft 365 และการจัดการ Error (2 วัน)

ดูหลักสูตร
หน้านี้ช่วยได้ไหม