
ตัวอย่างการแปลสูตรครับ
จากสูตร IFERROR(INDEX($Z$4:$Z$23,SMALL(IF(ISNUMBER(MATCH($X$4:$X$23,$T$3:T6,0)),ROW($X$4:$X$23)-ROW($X$4)+1),ROWS(T$4:T7))),"") แปลว่า
หาก INDEX($Z$4:$Z$23,SMALL(IF(ISNUMBER(MATCH($X$4:$X$23,$T$3:T6,0)),ROW($X$4:$X$23)-ROW($X$4)+1),ROWS(T$4:T7))) ได้ผลลัพธ์เป็นค่าผิดพลาดให้แสดงค่าว่าง
จากสูตร INDEX($Z$4:$Z$23,SMALL(IF(ISNUMBER(MATCH($X$4:$X$23,$T$3:T6,0)),ROW($X$4:$X$23)-ROW($X$4)+1),ROWS(T$4:T7))) แปลว่า จากช่วงเซลล์ $Z$4:$Z$23 ให้นำลำดับที่เป็นผลลัพธ์ของ SMALL(IF(ISNUMBER(MATCH($X$4:$X$23,$T$3:T6,0)),ROW($X$4:$X$23)-ROW($X$4)+1),ROWS(T$4:T7)) มาแสดง
จากสูตร SMALL(IF(ISNUMBER(MATCH($X$4:$X$23,$T$3:T6,0)),ROW($X$4:$X$23)-ROW($X$4)+1),ROWS(T$4:T7)) แปลว่า ให้หาค่าที่น้อยที่สุดในช่วง IF(ISNUMBER(MATCH($X$4:$X$23,$T$3:T6,0)),ROW($X$4:$X$23)-ROW($X$4)+1) เป็นลำดับที่ ROWS(T$4:T7) ขยายวามได้ว่า หาก ROWS(T$4:T7) มีค่าเป็น 1 ก็หาค่าที่น้อยที่สุดเป็นลำดับที่ 1 ถ้าเป็น 10 ก็หมายถึงให้หาค่าที่น้อยที่สุดเป็นลำดับที่ 10 เป็นต้น
จาก IF(ISNUMBER(MATCH($X$4:$X$23,$T$3:T6,0)),ROW($X$4:$X$23)-ROW($X$4)+1) แปลว่า ถ้า ISNUMBER(MATCH($X$4:$X$23,$T$3:T6,0)) เป็นจริงให้แสดงผลลัพธ์ของ ROW($X$4:$X$23)-ROW($X$4)+1
จาก ISNUMBER(MATCH($X$4:$X$23,$T$3:T6,0)) แปลว่า MATCH($X$4:$X$23,$T$3:T6,0) เป็นตัวเลขใช่หรือไม่ หากใช่แสดงค่า True หากไม่ใช่แสดงค่า False
จากสูตร MATCH($X$4:$X$23,$T$3:T6,0) แปลว่า ให้หา $X$4:$X$23 ว่าอยู่ในำลำดับที่เท่าไรของ $T$3:T6 ลักษณะการค้นจะเป็นแบบด้านล่าง
X4 อยู่ในลำดับที่เท่าไรของ T3:T6
X5 อยู่ในลำดับที่เท่าไรของ T3:T6
...
X23 อยู่ในลำดับที่เท่าไรของ T3:T6
หากพบจะแสดงค่าลำดับที่พบ หากไม่พบจะแสดง #N/A
จากสูตร ROW($X$4:$X$23)-ROW($X$4)+1 หมายถึงให้แสดงค่าลำดับเริ่มจากเลข 1 เป็นต้นไป โดยค่าลำดับสิ้นสุดจะมีขนาดเท่ากับจำนวนบรรทัดในช่วง ROW($X$4:$X$23) ขยายความได้ว่า ถ้า ROW($X$4:$X$23) มี 20 บรรทัดก็จะแสดงค่าลำดับจาก 1-20
การแปลสูตรจะแปลจากสูตรนอกสุดไปสูตรที่อยู่ด้านในสุด การแทนค่าจะแทนค่าจากสูตรในสุดออกไปสูตรที่อยู่ด้านนอกสุด สูตรที่อยู่ด้านในจะส่งค่าไปคำนวณต่อที่สูตรที่อยู่ด้านนอก
ค่อย ๆ ทำความเข้าใจครับ