
ต้องเข้าใจฟังก์ชั่น Mmult เป็นอย่างดีจึงจะเข้าใจสูตรนี้ได้ ขออธิบายเพื่อความเข้าใจการแปลสูตรเบื้องต้นเพื่อเป็น
แนวทางในการแปลสูตรครับ

จากสูตร
=IFERROR(INDEX($A$2:$A$15,MATCH(SMALL(IF(TRANSPOSE($A$2:$A$15)<>"",MMULT(--TRANSPOSE($A$2:$A$15<>""),--(TRANSPOSE($A$2:$A$15)>$A$2:$A$15))),ROWS(D$2:D2)),IF(TRANSPOSE($A$2:$A$15)<>"",MMULT(--TRANSPOSE($A$2:$A$15<>""),--(TRANSPOSE($A$2:$A$15)>$A$2:$A$15))),0)),"")
หมายถึง หากผลลัพธ์ของสูตร INDEX($A$2:$A$15,MATCH(SMALL(IF(TRANSPOSE($A$2:$A$15)<>"",MMULT(--TRANSPOSE($A$2:$A$15<>""),--(TRANSPOSE($A$2:$A$15)>$A$2:$A$15))),ROWS(D$2:D2)),IF(TRANSPOSE($A$2:$A$15)<>"",MMULT(--TRANSPOSE($A$2:$A$15<>""),--(TRANSPOSE($A$2:$A$15)>$A$2:$A$15))),0)) เป็นค่าผิดพลาดให้แสดงค่าว่าง

จากสูตร
INDEX($A$2:$A$15,MATCH(SMALL(IF(TRANSPOSE($A$2:$A$15)<>"",MMULT(--TRANSPOSE($A$2:$A$15<>""),--(TRANSPOSE($A$2:$A$15)>$A$2:$A$15))),ROWS(D$2:D2)),IF(TRANSPOSE($A$2:$A$15)<>"",MMULT(--TRANSPOSE($A$2:$A$15<>""),--(TRANSPOSE($A$2:$A$15)>$A$2:$A$15))),0))
หมายถึง จากช่วงข้อมูล $A$2:$A$15 ให้นำค่าลำดับที่เป็นผลลัพธ์ของสูตร MATCH(SMALL(IF(TRANSPOSE($A$2:$A$15)<>"",MMULT(--TRANSPOSE($A$2:$A$15<>""),--(TRANSPOSE($A$2:$A$15)>$A$2:$A$15))),ROWS(D$2:D2)),IF(TRANSPOSE($A$2:$A$15)<>"",MMULT(--TRANSPOSE($A$2:$A$15<>""),--(TRANSPOSE($A$2:$A$15)>$A$2:$A$15))),0) มาแสดง

จากสูตร
MATCH(SMALL(IF(TRANSPOSE($A$2:$A$15)<>"",MMULT(--TRANSPOSE($A$2:$A$15<>""),--(TRANSPOSE($A$2:$A$15)>$A$2:$A$15))),ROWS(D$2:D2)),IF(TRANSPOSE($A$2:$A$15)<>"",MMULT(--TRANSPOSE($A$2:$A$15<>""),--(TRANSPOSE($A$2:$A$15)>$A$2:$A$15))),0)
หมายถึง ให้หาว่าค่าที่เป็นผลลัพธ์ของสูตร SMALL(IF(TRANSPOSE($A$2:$A$15)<>"",MMULT(--TRANSPOSE($A$2:$A$15<>""),--(TRANSPOSE($A$2:$A$15)>$A$2:$A$15))),ROWS(D$2:D2)) อยู่ในลำดับที่เท่าไรในค่าที่เป็นผลลัพธ์ของสูตร IF(TRANSPOSE($A$2:$A$15)<>"",MMULT(--TRANSPOSE($A$2:$A$15<>""),--(TRANSPOSE($A$2:$A$15)>$A$2:$A$15)))

จากสูตร
SMALL(IF(TRANSPOSE($A$2:$A$15)<>"",MMULT(--TRANSPOSE($A$2:$A$15<>""),--(TRANSPOSE($A$2:$A$15)>$A$2:$A$15))),ROWS(D$2:D2))
หมายถึงให้หาค่าที่น้อยที่สุดในลำดับที่เป็นผลลัพธ์ของสูตร ROWS(D$2:D2) จากชุดข้อมูลที่เป็นผลลัพธ์ของสูตร IF(TRANSPOSE($A$2:$A$15)<>"",MMULT(--TRANSPOSE($A$2:$A$15<>""),--(TRANSPOSE($A$2:$A$15)>$A$2:$A$15)))

จากสูตร
IF(TRANSPOSE($A$2:$A$15)<>"",MMULT(--TRANSPOSE($A$2:$A$15<>""),--(TRANSPOSE($A$2:$A$15)>$A$2:$A$15)))
หมายถึง หาก TRANSPOSE($A$2:$A$15)<>"" เป็นจริง ให้แสดงผลลัพธ์ของสูตร MMULT(--TRANSPOSE($A$2:$A$15<>""),--(TRANSPOSE($A$2:$A$15)>$A$2:$A$15))

จากสูตร
MMULT(--TRANSPOSE($A$2:$A$15<>""),--(TRANSPOSE($A$2:$A$15)>$A$2:$A$15))
หมายถึง ผลคูณแบบแมทริกซ์ของ --TRANSPOSE($A$2:$A$15<>"") กับ --(TRANSPOSE($A$2:$A$15)>$A$2:$A$15)
ศึกษา Mmult ได้ที่
Mmult