
สูตรนั้นซับซ้อนและเข้าใจค่อนข้างยาก สืบเนืองมาจากโจทย์ยาก
การที่จะเข้าใจได้จะต้องเข้าใจแต่ละฟังก์ชั่นทั้งหมด ลำพังอธิบายแค่ที่ระบายสีมานั้นคงไม่สามารถเข้าใจได้เพราะไม่ครบองค์ประกอบของสูตร
จาก =CHOOSE(LOOKUP(2,1/($E3:$G3<>0),{1,2,3}),IF($E3=0,0,IF(COUNTIF(Sheet2!$B$3:$N$3,H$2),IF(SUMPRODUCT(--ISNUMBER(MATCH(Sheet2!$B$3:$N$3,$H$2:H$2,0)))=MOD((COUNTIF($E$3:$E3,"<>0")-1),5)+1,1,0),0)),IF($F3=0,0,IF(COUNTIF(Sheet2!$B$4:$N$4,H$2),IF(SUMPRODUCT(--ISNUMBER(MATCH(Sheet2!$B$4:$N$4,$H$2:H$2,0)))=MOD((COUNTIF($F$3:$F3,"<>0")-1),3)+1,1,0),0)),IF($G3=0,0,IF(COUNTIF(Sheet2!$B$5:$N$5,H$2),IF(SUMPRODUCT(--ISNUMBER(MATCH(Sheet2!$B$5:$N$5,$H$2:H$2,0)))=MOD((COUNTIF($G$3:$G3,"<>0")-1),9)+1,1,0),0)))
Choose ที่ครอบอยู่นอกสุดหมายถึงเลือกการแสดงผลลัพธ์จากส่วนประกอบของ Choose อีกที ซึ่งส่วนประกอบของ Choose อาจะเป็นค่าคงที่หรือเป็นสูตรอีกต่อหนึ่งก็ได้ ตามด้านบนนี้ Choose มีส่วนประกอบเป็นสูตร และเป็นสูตรที่ค่อนข้างซับซ้อน
ซึ่งหมายถึง ให้ดูว่า LOOKUP(2,1/($E3:$G3<>0),{1,2,3}) ได้ค่าใด ซึ่งจะมีได้ 3 ค่าเท่านั้นคือ 1 หรือ 2 หรือ 3
หากได้ค่า 1 ให้คำนวณตามสูตร IF($E3=0,0,IF(COUNTIF(Sheet2!$B$3:$N$3,H$2),IF(SUMPRODUCT(--ISNUMBER(MATCH(Sheet2!$B$3:$N$3,$H$2:H$2,0)))=MOD((COUNTIF($E$3:$E3,"<>0")-1),5)+1,1,0),0))
หากได้ค่า 2 ให้คำนวณตามสูตร ,IF($F3=0,0,IF(COUNTIF(Sheet2!$B$4:$N$4,H$2),IF(SUMPRODUCT(--ISNUMBER(MATCH(Sheet2!$B$4:$N$4,$H$2:H$2,0)))=MOD((COUNTIF($F$3:$F3,"<>0")-1),3)+1,1,0),0))
หากได้ค่า 3 ให้คำนวณตามสูตร IF($G3=0,0,IF(COUNTIF(Sheet2!$B$5:$N$5,H$2),IF(SUMPRODUCT(--ISNUMBER(MATCH(Sheet2!$B$5:$N$5,$H$2:H$2,0)))=MOD((COUNTIF($G$3:$G3,"<>0")-1),9)+1,1,0),0))
จาก LOOKUP(2,1/($E3:$G3<>0),{1,2,3}) หมายถึง ให้หาค่า 2 จาก 1/($E3:$G3<>0) แล้วนำค่าที่ตรงกันใน Array {1,2,3} มาแสดง ศึกษาและทำความเข้าใจเพิ่มจากที่นี่
wordpress/last-cell/
จากตัวอย่างสูตรที่เป็นส่วนประกอบของ Choose ที่เป็น If เช่น IF($E3=0,0,IF(COUNTIF(Sheet2!$B$3:$N$3,H$2),IF(SUMPRODUCT(--ISNUMBER(MATCH(Sheet2!$B$3:$N$3,$H$2:H$2,0)))=MOD((COUNTIF($E$3:$E3,"<>0")-1),5)+1,1,0),0))
หมายถึง หาก $E3=0 เป็นจริง ให้แสดงค่า 0 หากไม่เป็นจริงให้แสดงผลลัพธ์ของ IF(COUNTIF(Sheet2!$B$3:$N$3,H$2),IF(SUMPRODUCT(--ISNUMBER(MATCH(Sheet2!$B$3:$N$3,$H$2:H$2,0)))=MOD((COUNTIF($E$3:$E3,"<>0")-1),5)+1,1,0),0)
จากสูตร IF(COUNTIF(Sheet2!$B$3:$N$3,H$2),IF(SUMPRODUCT(--ISNUMBER(MATCH(Sheet2!$B$3:$N$3,$H$2:H$2,0)))=MOD((COUNTIF($E$3:$E3,"<>0")-1),5)+1,1,0),0) หมายถึง หาก COUNTIF(Sheet2!$B$3:$N$3,H$2) เป็นจริงให้แสดงผลลัพธ์ของ IF(SUMPRODUCT(--ISNUMBER(MATCH(Sheet2!$B$3:$N$3,$H$2:H$2,0)))=MOD((COUNTIF($E$3:$E3,"<>0")-1),5)+1,1,0) หากไม่เป็นจริงให้แสดงค่า 0
จากสูตร IF(SUMPRODUCT(--ISNUMBER(MATCH(Sheet2!$B$3:$N$3,$H$2:H$2,0)))=MOD((COUNTIF($E$3:$E3,"<>0")-1),5)+1,1,0) หมายถึง หาก SUMPRODUCT(--ISNUMBER(MATCH(Sheet2!$B$3:$N$3,$H$2:H$2,0)))=MOD((COUNTIF($E$3:$E3,"<>0")-1),5)+1 เป็นจริง ให้แสดงค่า 1 หากไม่จริงให้แสดงค่า 0
จากสูตร SUMPRODUCT(--ISNUMBER(MATCH(Sheet2!$B$3:$N$3,$H$2:H$2,0))) หมายถึง ให้หาผลรวมของ --ISNUMBER(MATCH(Sheet2!$B$3:$N$3,$H$2:H$2,0)))
จากสูตร MOD((COUNTIF($E$3:$E3,"<>0")-1),5)+1 หมายถึง ให้หาเศษจากการหาร (COUNTIF($E$3:$E3,"<>0")-1) ด้วย 5 ได้ผลลัพธ์เท่าไรแล้วค่อยบวกด้วย 1
จากสูตร COUNTIF($E$3:$E3,"<>0")-1 หมายถึงให้นับว่า $E$3:$E3 มีค่าไม่เท่ากับ 0 กี่จำนวน ได้ผลลัพธ์เท่าใดให้หักออกด้วย 1
ลองค่อย ๆ ทำความเข้าใจ การอ่านสูตรให้อ่านจากด้านนอกเข้าด้านใน แต่การแทนค่าให้แทนค่าจากด้านในออกด้านนอกครับ