Small

ฟังก์ชั่น Small ถูกใช้งานบ่อยมากฟังก์ชั่นหนึ่งเนื่องจากสามารถประยุกต์ใช้หาคำตอบที่ซับซ้อนได้ โดยความหมายอย่างกระชับของ Small คือ หาค่าที่น้อยที่สุดในลำดับที่กำหนด 

เช่นหาค่าที่น้อยที่สุดในลำดับที่ 4 หาค่าที่น้อยที่สุดในลำดับที่ 10 เป็นต้น

ยกตัวอย่างเช่น

=Small(A1:A10,4)

หมายถึงหาค่าที่น้อยที่สุดเป็นลำดับที่ 4 จากช่วงข้อมูล A1:A10

หาก A1:A10 มีค่าเป็น

{1;3;8;6;5;5;5;8;2;2}

คำตอบจะได้ 3 โดยหากเรียงค่าที่น้อยที่สุดในลำดับ 1 ถึง 4 จะได้ดังนี้

  • ค่าที่น้อยที่สุดในลำดับที่ 1 คือ 1
  • ค่าที่น้อยที่สุดในลำดับที่ 2 คือ 2
  • ค่าที่น้อยที่สุดในลำดับที่ 3 คือ 2 (เลข 2 มี 2 ตัว)
  • ค่าที่น้อยที่สุดในลำดับที่ 4 คือ 3

ขอยกตัวอย่างจากสูตรที่ซับซ้อนขึ้นซึ่งเป็นการหาค่าที่น้อยที่สุดแบบมีเงื่อนไขคือ

=SMALL(IF($B$2:$B$13=$D$1,ROW($A$2:$A$13)-ROW($A$2)+1),ROWS(E$1:E4))

จากสูตรข้างต้นเราต้องการหาค่าที่น้อยที่สุดในลำดับที่กำหนดแบบมีเงื่อนไข นั่นคือ

ถ้า $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 โดยมีลำดับการคำนวณดังนี้

  1. ROW($A$2:$A$13) ให้ผลลัพธ์เป็นค่าลำดับจาก 2-13 นั่นคือ {2;3;4;5;6;7;8;9;10;11;12;13}
  2. 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}
  3. เมื่อนำ 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
  • ถ้า B5=D1 ให้แสดงผลลัพธ์เป็น 4 ถ้าไม่ใช่ให้แสดงผลลัพธ์เป็น False
  • ถ้า B6=D1 ให้แสดงผลลัพธ์เป็น 5 ถ้าไม่ใช่ให้แสดงผลลัพธ์เป็น False
  • ถ้า B7=D1 ให้แสดงผลลัพธ์เป็น 6 ถ้าไม่ใช่ให้แสดงผลลัพธ์เป็น False
  • ถ้า B8=D1 ให้แสดงผลลัพธ์เป็น 7 ถ้าไม่ใช่ให้แสดงผลลัพธ์เป็น False
  • ถ้า B9=D1 ให้แสดงผลลัพธ์เป็น 8 ถ้าไม่ใช่ให้แสดงผลลัพธ์เป็น False
  • ถ้า B10=D1 ให้แสดงผลลัพธ์เป็น 9 ถ้าไม่ใช่ให้แสดงผลลัพธ์เป็น False
  • ถ้า B11=D1 ให้แสดงผลลัพธ์เป็น 10 ถ้าไม่ใช่ให้แสดงผลลัพธ์เป็น False
  • ถ้า B12=D1 ให้แสดงผลลัพธ์เป็น 11 ถ้าไม่ใช่ให้แสดงผลลัพธ์เป็น False
  • ถ้า B13=D1 ให้แสดงผลลัพธ์เป็น 12 ถ้าไม่ใช่ให้แสดงผลลัพธ์เป็น False

สมมุติคำตอบ $B$2:$B$13=$D$1 ได้เป็น

{FALSE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;TRUE}

ภาพรวมของสูตรจะได้เป็น

=SMALL(IF({FALSE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;TRUE},{1,2,3,4,5,6,7,8,9,10,11,12}),ROWS(E$1:E4))

สมาชิกตัวใดใน Array ด้านหน้าเป็น TRUE จะนำสมาชิกใน Array ด้านหลังที่ตรงกันมาแสดง

ภาพรวมของสูตรจะได้เป็น

=SMALL({FALSE;FALSE;FALSE;4;FALSE;6;FALSE;FALSE;FALSE;10;FALSE;12},ROWS(E$1:E4))

จาก ROWS(E$1:E4) เป็นการหาจำนวนบรรทัดตั้งแต่ E1:E4 คำตอบคือ 4

ค่าที่น้อยที่สุดในสูตรด้านบนในลำดับที่ 4 คือ 12 โดยหากเรียงค่าที่น้อยที่สุดในลำดับ 1 ถึง 4 จะได้ดังนี้

  • ค่าที่น้อยที่สุดในลำดับที่ 1 คือ 4
  • ค่าที่น้อยที่สุดในลำดับที่ 2 คือ 6
  • ค่าที่น้อยที่สุดในลำดับที่ 3 คือ 10
  • ค่าที่น้อยที่สุดในลำดับที่ 4 คือ 12

 

กรณีมีปัญหาการใช้งาน Excel and VBA สามารถสอบถามได้ที่ snasui.com

Scroll to Top