สูตรพวกนี้เข้าใจยากมากเนื่องจากเป็นสูตร Array ซึ่งไม่ได้แสดงผลลัพธ์อย่างฟังก์ชันธรรมดา ยกตัวอย่างเช่น แทนที่จะแสดงเป็นค่าเดี่ยว ๆ จะแสดงผลลัพธ์เป็นค่าออกมาเป็นชุด ๆ ครับ ผมจะอธิบายตามหลักการของสูตรนะครับ
จากสูตร =
MATCH(
COUNTIF($J$3:$J$13,J3),LARGE(IF(FREQUENCY(
MATCH(COUNTIF($J$3:$J$13,$J$3:$J$13),COUNTIF($J$3:$J$13,$J$3:$J$13),0),ROW($J$3:$J$13)-ROW($J$3)+1),COUNTIF($J$3:$J$13,$J$3:$J$13)),ROW(INDIRECT("1:"&SUM(1/COUNTIF($J$3:$J$13,$J$3:$J$13))))),0)
เป็นการหาว่าผลลัพธ์จากสูตร
COUNTIF($J$3:$J$13,J3) อยู่ในลำดับที่เท่าไรของผลลัพธ์จากสูตร LARGE(IF(FREQUENCY(
MATCH(COUNTIF($J$3:$J$13,$J$3:$J$13),COUNTIF($J$3:$J$13,$J$3:$J$13),0),ROW($J$3:$J$13)-ROW($J$3)+1),COUNTIF($J$3:$J$13,$J$3:$J$13)),ROW(INDIRECT("1:"&SUM(1/COUNTIF($J$3:$J$13,$J$3:$J$13)))))
ซึ่งสูตรด้านบนใช้หาค่าที่ใหญ่ที่สุดที่ได้จากผลลัพธ์ของสูตร ROW(INDIRECT("1:"&SUM(1/COUNTIF($J$3:$J$13,$J$3:$J$13))) ในช่วงที่เป็นผลลัพธ์จากสูตร IF(FREQUENCY(
MATCH(COUNTIF($J$3:$J$13,$J$3:$J$13),COUNTIF($J$3:$J$13,$J$3:$J$13),0),ROW($J$3:$J$13)-ROW($J$3)+1),COUNTIF($J$3:$J$13,$J$3:$J$13))
เนื่องจากเป็นสูตร Array ผลลัพธ์ที่ได้จากสูตร ROW(INDIRECT("1:"&SUM(1/COUNTIF($J$3:$J$13,$J$3:$J$13))) จะแจกแจงออกมาเป็น
เช่น {1,2,3,4,5} จึงหมายความว่า ให้หา
ค่าที่ใหญ่ที่สุดในลำดับที่ 1, 2, 3, 4, 5 จากผลลัพธ์ของ IF(FREQUENCY(
MATCH(COUNTIF($J$3:$J$13,$J$3:$J$13),COUNTIF($J$3:$J$13,$J$3:$J$13),0),ROW($J$3:$J$13)-ROW($J$3)+1),COUNTIF($J$3:$J$13,$J$3:$J$13))
จากสูตร IF(FREQUENCY(
MATCH(COUNTIF($J$3:$J$13,$J$3:$J$13),COUNTIF($J$3:$J$13,$J$3:$J$13),0),ROW($J$3:$J$13)-ROW($J$3)+1),COUNTIF($J$3:$J$13,$J$3:$J$13)) หมายความว่า หาก FREQUENCY(
MATCH(COUNTIF($J$3:$J$13,$J$3:$J$13),COUNTIF($J$3:$J$13,$J$3:$J$13),0),ROW($J$3:$J$13)-ROW($J$3)+1) เป็นจริงคือไม่เท่ากับ 0 แล้ว ให้แสดงผลลัพธ์จากสูตร COUNTIF($J$3:$J$13,$J$3:$J$13) และถ้าไม่เป็นจริงจะแสดงค่า False
จากสูตร FREQUENCY(
MATCH(COUNTIF($J$3:$J$13,$J$3:$J$13),COUNTIF($J$3:$J$13,$J$3:$J$13),0),ROW($J$3:$J$13)-ROW($J$3)+1) หมายความถึงให้หาค่าที่ได้จากสูตร
MATCH(COUNTIF($J$3:$J$13,$J$3:$J$13),COUNTIF($J$3:$J$13,$J$3:$J$13),0) มีอยู่ในช่วงของค่าที่ได้จากสูตร ROW($J$3:$J$13)-ROW($J$3)+1) เป็นจำนวนกี่ครั้งบ้าง ซึ่งสูตร ROW($J$3:$J$13)-ROW($J$3)+1) จะให้ผลลัพธ์เป็นค่าลำดับ เช่น 1, 2, 3, 4, 5....
จากสูตร
MATCH(
COUNTIF($J$3:$J$13,$J$3:$J$13),COUNTIF($J$3:$J$13,$J$3:$J$13),0) หมายถึงให้หาว่าค่าที่ได้จากสูตร
COUNTIF($J$3:$J$13,$J$3:$J$13) อยู่ในลำดับที่ใดบ้างในช่วง COUNTIF($J$3:$J$13,$J$3:$J$13) สังเกตว่าเป็นการนำค่าเดียวกันมา
Match กัน
จากสูตร COUNTIF($J$3:$J$13,$J$3:$J$13) เป็นการหาว่ามีค่า $J$3:$J$13 อยู่ในช่วง $J$3:$J$13 จำนวนกี่ครั้ง สังเกตว่าเป็นการนับจากช่วงเดียวกัน