
Small เป็นการหาค่าที่น้อยที่สุดเป็นลำดับที่กำหนดครับ
ยกตัวอย่างเช่น
=Small(A1:A10,4)
หมายถึงหาค่าที่น้อยที่สุดเป็นลำดับที่ 4 จากช่วงข้อมูล A1:A10
ขอยกตัวอย่างจากสูตรในเซลล์ E5 ตามไฟล์ที่ผมแนบกลับไป สูตรคือ
=SMALL(IF($B$2:$B$13=$D$1,ROW($A$2:$A$13)-ROW($A$2)+1),ROWS(E$1:E4))
จะเห็นว่าแทนที่จะเป็น A1:A10 แล้วนำค่าที่น้อยที่สุดในลำดับที่ 4 มาแสดงตามที่ผมยกมาด้านบน เรากำหนดเป็นเงื่อนไข นั่นคือ
ถ้า $B$2:$B$13=$D$1 แล้ว ให้แสดงผลลัพธ์ของ ROW($A$2:$A$13)-ROW($A$2)+1 แล้วนำลำดับที่น้อยที่สุดที่เป็นผลลัพธ์ของ ROWS(E$1:E4) มาแสดง
จากสูตร ROW($A$2:$A$13)-ROW($A$2)+1 จะให้คำตอบเป็นค่าลำดับ เริ่มจาก 1 สิ้นสุดที่ 12 โดยมีลำดับการคำนวณดังนี้
- ROW($A$2:$A$13) ให้ผลลัพธ์เป็นค่าลำดับจาก 2-13 นั่นคือ {2;3;4;5;6;7;8;9;10;11;12;13}
- ROW($A$2) ให้ผลลัพธ์เป็นเลข 2 จากสูตร ROW($A$2:$A$13)-ROW($A$2) ก็จะกลายเป็น {2;3;4;5;6;7;8;9;10;11;12;13}-2 และจะได้ผลลัพธ์เป็น {0;1;2;3;4;5;6;7;8;9;10;11}
- เมื่อนำ 1 เข้าไปบวกจะกลายเป็น {0;1;2;3;4;5;6;7;8;9;10;11}+1 และจะได้ผลลัพธ์เป็น {1;2;3;4;5;6;7;8;9;10;11;12}
ภาพรวมสูตรจะได้เป็น
=SMALL(IF($B$2:$B$13=$D$1,{1;2;3;4;5;6;7;8;9;10;11;12},ROWS(E$1:E4))
หมายความว่า
- ถ้า B2=D1 ให้แสดงผลลัพธ์เป็น 1 ถ้าไม่ใช่ให้แสดงผลลัพธ์เป็น False
- ถ้า B3=D1 ให้แสดงผลลัพธ์เป็น 2 ถ้าไม่ใช่ให้แสดงผลลัพธ์เป็น False
- ถ้า B4=D1 ให้แสดงผลลัพธ์เป็น 3 ถ้าไม่ใช่ให้แสดงผลลัพธ์เป็น False
- ...
- ถ้า B13=D1 ให้แสดงผลลัพธ์เป็น 12 ถ้าไม่ใช่ให้แสดงผลลัพธ์เป็น False
ซึ่งในไฟล์ที่ผมแนบไปนั้นใน E5 สูตรจะได้เป็น
=SMALL({FALSE;FALSE;FALSE;4;FALSE;6;FALSE;FALSE;FALSE;10;FALSE;12},ROWS(E$1:E4))
คิดว่าพอจะแปลเองได้แล้วครับว่าผลลัพธ์ที่ได้ควรจะเป็นค่าใด เนื่องจากพอทราบอยู่แล้วว่า ROWS(E$1:E4) ให้ผลลัพธ์เป็นค่าใด