ฟังก์ชั่นที่มาคู่กับ Small คือ Large ทำหน้าที่ตรงกันข้ามกัน สามารถประยุกต์ใช้หาคำตอบที่ซับซ้อนได้เทียบเท่ากับ Small โดยความหมายอย่างกระชับของ Large คือ หาค่าที่มากที่สุดในลำดับที่กำหนด
เช่นหาค่าที่มากที่สุดในลำดับที่ 4 หาค่าที่มากที่สุดในลำดับที่ 10 เป็นต้น
ยกตัวอย่างเช่น
=Large(A1:A10,4)
หมายถึงหาค่าที่มากที่สุดเป็นลำดับที่ 4 จากช่วงข้อมูล A1:A10
หาก A1:A10 มีค่าเป็น
{1;3;8;6;5;5;5;8;2;2}
คำตอบจะได้ 5 โดยหากเรียงค่าที่มากที่สุดในลำดับ 1 ถึง 4 จะได้ดังนี้
- ค่าที่น้อยที่สุดในลำดับที่ 1 คือ 8
- ค่าที่น้อยที่สุดในลำดับที่ 2 คือ 8 (เลข 8 มี 2 ตัว)
- ค่าที่น้อยที่สุดในลำดับที่ 3 คือ 6
- ค่าที่น้อยที่สุดในลำดับที่ 4 คือ 5
ขอยกตัวอย่างจากสูตรที่ซับซ้อนขึ้นซึ่งเป็นการหาค่าที่มากที่สุดแบบมีเงื่อนไขคือ
=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 โดยมีลำดับการคำนวณดังนี้
- 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}
ภาพรวมสูตรจะได้เป็น
=LARGE(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}
ภาพรวมของสูตรจะได้เป็น
=LARGE(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 ด้านหลังที่ตรงกันมาแสดง
ภาพรวมของสูตรจะได้เป็น
=LARGE({FALSE;FALSE;FALSE;4;FALSE;6;FALSE;FALSE;FALSE;10;FALSE;12},ROWS(E$1:E4))
จาก ROWS(E$1:E4) เป็นการหาจำนวนบรรทัดตั้งแต่ E1:E4 คำตอบคือ 4
ค่าที่มากที่สุดในสูตรด้านบนในลำดับที่ 4 คือ 4 โดยหากเรียงค่าที่มากที่สุดในลำดับ 1 ถึง 4 จะได้ดังนี้
- ค่าที่มากที่สุดในลำดับที่ 1 คือ 12
- ค่าที่มากที่สุดในลำดับที่ 2 คือ 10
- ค่าที่มากที่สุดในลำดับที่ 3 คือ 6
- ค่าที่มากที่สุดในลำดับที่ 4 คือ 4
กรณีมีปัญหาการใช้งาน Excel and VBA สามารถสอบถามได้ที่ snasui.com