
การอ่านหรือทำความเข้าใจฟังก์ชั่นจะต้องอ่านจากสูตรนอกสุดเข้าไปยังฟังก์ชั่นด้านใน แต่การแทนค่าจะต้องแทนค่าจากฟังก์ชั่นด้านในออกด้านนอกเนื่องจากสูตรจะนำเอาผลลัพธ์ของสูตรด้านในมาใช้ประมวลต่อด้วยสูตรที่ครอบอยู่ด้านนอก การจะทำความเข้าใจสูตรซับซ้อนใด ๆ จะต้องทำทั้งสองอย่างที่กล่าวมาครับ
คำอธิบาย
จากสูตร
=IFERROR(INDEX($C$4:$C$21,SMALL(IF(FREQUENCY(MATCH("~"&$C$4:$C$21,$C$5:$C$21&"",0),ROW($C$4:$C$21)-ROW($C$4)+1),ROW($C$4:$C$21)-ROW($C$4)+1),ROWS(D$4:D4))),"")
หมายถึง
ถ้า INDEX($C$4:$C$21,SMALL(IF(FREQUENCY(MATCH("~"&$C$4:$C$21,$C$5:$C$21&"",0),ROW($C$4:$C$21)-ROW($C$4)+1),ROW($C$4:$C$21)-ROW($C$4)+1),ROWS(D$4:D4))) ได้ผลลัพธ์เป็น Error ให้แสดงค่าว่าง
หากไม่เกิด Error ให้แสดงผลลัพธ์ที่ได้
จากสูตร
INDEX($C$4:$C$21,SMALL(IF(FREQUENCY(MATCH("~"&$C$4:$C$21,$C$5:$C$21&"",0),ROW($C$4:$C$21)-ROW($C$4)+1),ROW($C$4:$C$21)-ROW($C$4)+1),ROWS(D$4:D4)))
หมายถึง
จากช่วง $C$4:$C$21 ให้นำผลลัพธ์ในลำดับที่ SMALL(IF(FREQUENCY(MATCH("~"&$C$4:$C$21,$C$5:$C$21&"",0),ROW($C$4:$C$21)-ROW($C$4)+1),ROW($C$4:$C$21)-ROW($C$4)+1),ROWS(D$4:D4)) มาแสดง ถ้าคำตอบส่วนนี้มีค่าเป็น 10 ภาพรวมสูตรจะได้เป็น INDEX($C$4:$C$21,10) แปลว่าจากช่วง $C$4:$C$21 ให้นำค่าในลำดับที่ 10 มาแสดง
จากสูตร
SMALL(IF(FREQUENCY(MATCH("~"&$C$4:$C$21,$C$5:$C$21&"",0),ROW($C$4:$C$21)-ROW($C$4)+1),ROW($C$4:$C$21)-ROW($C$4)+1),ROWS(D$4:D4))
Small หมายถึงให้ค่าค่าที่น้อยที่สุดในลำดับที่กำหนด
ค่าที่ต้องการหาคือ IF(FREQUENCY(MATCH("~"&$C$4:$C$21,$C$5:$C$21&"",0),ROW($C$4:$C$21)-ROW($C$4)+1),ROW($C$4:$C$21)-ROW($C$4)+1) ซึ่งได้มาหลายค่า
ลำดับที่น้อยที่สุดที่กำหนดคือ ROWS(D$4:D4) ถ้าส่วนนี้เป็น 1 แปลว่าให้หาค่าในช่วง IF(FREQUENCY(MATCH("~"&$C$4:$C$21,$C$5:$C$21&"",0),ROW($C$4:$C$21)-ROW($C$4)+1),ROW($C$4:$C$21)-ROW($C$4)+1) โดยนำค่าที่น้อยที่สุดในลำดับที่ 1 มาแสดง
จากสูตร
IF(FREQUENCY(MATCH("~"&$C$4:$C$21,$C$5:$C$21&"",0),ROW($C$4:$C$21)-ROW($C$4)+1),ROW($C$4:$C$21)-ROW($C$4)+1)
หมายถึง หาก FREQUENCY(MATCH("~"&$C$4:$C$21,$C$5:$C$21&"",0),ROW($C$4:$C$21)-ROW($C$4)+1) มีค่าเป็นจริง (ค่าเป็นจริงของสูตรนี้คือไม่เท่ากับ 0 ถ้าเป็น 0 ถือว่าเป็นเท็จ) ให้แสดงคำตอบเป็น ROW($C$4:$C$21)-ROW($C$4)+1 คือให้แสดงค่าลำดับเริ่มจาก 1 (อ่านเพิ่มเติมที่นี่่ครับ
wordpress/large/) หากไม่เป็นจริงให้แสดงค่า False
จากสูตร
FREQUENCY(MATCH("~"&$C$4:$C$21,$C$5:$C$21&"",0),ROW($C$4:$C$21)-ROW($C$4)+1)
หมายถึงให้ค่าค่าความถี่ของ MATCH("~"&$C$4:$C$21,$C$5:$C$21&"",0) จาก ROW($C$4:$C$21)-ROW($C$4)+1 อ่านเพิ่มเติมที่นี่ครับ
http://snasui.com/viewtopic.php?f=3&t=2221
จากสูตร
MATCH("~"&$C$4:$C$21,$C$5:$C$21&"",0)
หมายถึงให้หาว่า "~"&$C$4:$C$21 อยู่ในลำดับที่เท่าไรของ $C$5:$C$21&""
การแกะสูตรให้คลุมช่วงเซลล์ในสูตรที่เราสนใจแล้วกดแป้น F9 จะเป็นประเมินสูตรออกมาเป็นผลลัพธ์ให้เห็น หากต้องการยกเลิกให้กดแป้น Ctrl+Z หากต้องการยกเลิกทั้งหมดให้กดแป้น ESC ครับ