
สูตรนี้เป็นสูตรที่ซับซ้อนเนื่องจากเป็นสูตร Array ครับ ผมจะอธิบายสูตรหลัก ๆ ตามด้านล่างครับ
จากสูตร =IF(ROWS(J$5:J5)>$D$2,"",SMALL(IF(DATA!$E$2:$E$51=$C$2,ROW(DATA!$E$2:$E$51)-ROW(DATA!$E$2)+1),ROWS(J$4:J4)))
ความหมายคือ
- ถ้า ROWS(J$5:J5)>$D$2 เป็นจริงแล้วให้แสดงค่า "" ซึ่งก็คือค่าว่าง
- ถ้า ROWS(J$5:J5)>$D$2 ไม่เป็นจริงให้แสดงผลลัพธ์ของสูตร SMALL(IF(DATA!$E$2:$E$51=$C$2,ROW(DATA!$E$2:$E$51)-ROW(DATA!$E$2)+1),ROWS(J$4:J4))
จากสูตร SMALL(IF(DATA!$E$2:$E$51=$C$2,ROW(DATA!$E$2:$E$51)-ROW(DATA!$E$2)+1),ROWS(J$4:J4))
ความหมายคือ
- ให้หาค่าที่้น้อยที่สุดเป็นลำดับที่ได้จากค่าของ ROWS(J$4:J4)
- จากช่วงข้อมูลที่ได้จากผลลัพธ์ของ IF(DATA!$E$2:$E$51=$C$2,ROW(DATA!$E$2:$E$51)-ROW(DATA!$E$2)+1)
จากสูตร IF(DATA!$E$2:$E$51=$C$2,ROW(DATA!$E$2:$E$51)-ROW(DATA!$E$2)+1)
ความหมายคือ
- ถ้า DATA!$E$2:$E$51=$C$2 เป็นจริงให้แสดงค่าลำดับโดยเริ่มจาก 1 เสมอ ซึ่งจะได้จากผลลัพธ์ของ ROW(DATA!$E$2:$E$51)-ROW(DATA!$E$2)+1 และค่าสุดท้ายจะเป็นเท่าใดก็แล้วแต่ช่วงข้อมูลนั้นครอบคลุมปริมาณข้อมูลจำนวนกี่บรรทัด
- ถ้าไม่เป็นจริงก็แสดงค่า False ซึ่งไม่ได้ระบุไว้ในสูตร แต่สูตรจะให้ผลลัพธ์เป็นค่า False อัตโนมัติ