
การแปลสูตรให้เข้าใจได้ง่ายวิธีหนึ่งคือแปลจากนอกเข้าไปด้านใน ส่วนการแทนค่าให้แทนค่าจากในออกด้านนอกครับ
จากสูตร
=IFERROR(INDEX(Sheet1!$C$2:$C$8,SMALL(IF(Sheet1!$A$2:$A$8=1,ROW(Sheet1!$A$2:$A$8)-ROW(Sheet1!$A$2)+1),$A2)),"")
หมายถึงหาก INDEX(Sheet1!$C$2:$C$8,SMALL(IF(Sheet1!$A$2:$A$8=1,ROW(Sheet1!$A$2:$A$8)-ROW(Sheet1!$A$2)+1),$A2)) เป็นค่าผิดพลาดให้แสดงค่าว่าง
จากสูตร
INDEX(Sheet1!$C$2:$C$8,SMALL(IF(Sheet1!$A$2:$A$8=1,ROW(Sheet1!$A$2:$A$8)-ROW(Sheet1!$A$2)+1),$A2))
หมายถึง จากช่วง Sheet1!$C$2:$C$8 ให้แสดงข้อมูลในลำดับที่ได้จากผลลัพธ์ของ SMALL(IF(Sheet1!$A$2:$A$8=1,ROW(Sheet1!$A$2:$A$8)-ROW(Sheet1!$A$2)+1),$A2)
ซึ่งหาก SMALL(IF(Sheet1!$A$2:$A$8=1,ROW(Sheet1!$A$2:$A$8)-ROW(Sheet1!$A$2)+1),$A2) ได้คำตอบเป็น 10 หมายถึงให้นำลำดับที่ 10 มาแสดง
จากสูตร
SMALL(IF(Sheet1!$A$2:$A$8=1,ROW(Sheet1!$A$2:$A$8)-ROW(Sheet1!$A$2)+1),$A2)
หมายถึงจากผลลัพธ์ของ IF(Sheet1!$A$2:$A$8=1,ROW(Sheet1!$A$2:$A$8)-ROW(Sheet1!$A$2)+1) ให้นำค่าที่น้อยที่สุดในลำดับที่เป็นค่าใน A2 มาแสดง หาก A2 เป็น 2 หมายถึง ให้นำค่าที่น้อยที่สุดในลำดับที่ 2 มาแสดง
จากสูตร
IF(Sheet1!$A$2:$A$8=1,ROW(Sheet1!$A$2:$A$8)-ROW(Sheet1!$A$2)+1)
หมายถึง หาก Sheet1!$A$2:$A$8=1 ให้แสดงค่าลำดับโดยเริ่มจากเลข 1 จะได้เป็น {1,2,3...} เป็นต้น
การแกะสูตรให้ลากเมาส์คลุมแต่ละส่วนประกอบแล้วกดแป้น F9 จะได้เห็นผลลัพธ์ซึ่งน่าจะช่วยให้ทำความเข้าใจได้ง่ายขึ้นครับ