
แถมให้อีกวิธีครับ ลดดีกรีความยากของสูตรลงมาอีกหน่อย แต่เพิ่มขั้นตอนการทำให้ง่ายต่อการเข้าใจ
โดยการปรับตารางข้อมูลดิบให้อยู่ในสถานะใช้งานง่าย ขั้นตอนแรกคือยกเลิกการประสานเซลล์ โดยเฉพาะหัวข้อวิชาต่าง
ให้ตรงกับคอลัมน์ที่ทำสีเหลืองไว้
จากนั้นขยับมาคอลัมน์สุดท้าย ใช้ทดสอบเงื่อนไขและรับข้อมูลจากชีท "ผลการประเมิน" ครับ
ขั้นตอนการทำดังนี้
ที่ BI5 คีย์ =$BL5>=3 คัดลอกลงมา
ที่ BJ5 คีย์ =IF($BL5=0,FALSE,$BL5<=2.5) คัดลอกลงมา
ที่ BK5 คีย์ =$BL5=0 คัดลอกลงมา
ขั้นตอนดังกล่าวทำเพื่อทดสอบเงื่อนไขว่าเป็น True,False
จากนั้น ทำการนับเงื่อนไขที่เป็น True เพื่อใช้เป็นคีย์หลักในการดึงข้อมูลต่อไป
โดยที่ BI4,BJ4,BK4 คีย์ =COUNTIF(BI$5:BI$38,TRUE) =COUNTIF(BJ$5:BJ$38,TRUE) =COUNTIF(BK$5:BK$38,TRUE) ตามลำดับ
รับข้อมูล จากชีท "ผลการประเมิน" เซลล์ F1 โดยคีย์สูตร =ผลการประเมิน!F1 ที่ BL4
แสดงข้อมูลเกรดที่ตรงกับเงื่อนไขชื่อวิชา ที่ BL5 คีย์ =HLOOKUP($BL$4,$D$3:$Y$38,ROW(E5)-2,0) คัดลอกลงมา
เสร็จขั้นตอนนี้ ข้อมูลก็พร้อมนำไปแสดงแล้วครับ
ที่ชีท "ผลการประเมิน"
ที่ F1 ทำ Dropdown List ชื่อวิชา (เหมือนกับไฟล์แนบของอาจารย์คนควน")
ที่ A4 คีย์ =IF(ROWS(A$4:$A4)>'Fสรุปผลคะแนน '!$BI$4,"",INDEX('Fสรุปผลคะแนน '!A$5:A$38,SMALL(IF('Fสรุปผลคะแนน '!$BI$5:$BI$38=TRUE,ROW('Fสรุปผลคะแนน '!$B$5:$B$38)-ROW('Fสรุปผลคะแนน '!$B$5)+1),ROWS(A$4:$A4)))) กด Ctrl+Shift+Enter คัดลอกไปทางขวา 2 คอลัมน์
ที่ D4 คีย์ =IF(ROWS(D$4:$D4)>'Fสรุปผลคะแนน '!$BJ$4,"",INDEX('Fสรุปผลคะแนน '!A$5:A$38,SMALL(IF('Fสรุปผลคะแนน '!$BJ$5:$BJ$38=TRUE,ROW('Fสรุปผลคะแนน '!$B$5:$B$38)-ROW('Fสรุปผลคะแนน '!$B$5)+1),ROWS(D$4:$D4)))) กด Ctrl+Shift+Enter คัดลอกไปทางขวา 2 คอลัมน์
ที่ G4 คีย์ =IF(ROWS(G$4:$G4)>'Fสรุปผลคะแนน '!$BK$4,"",INDEX('Fสรุปผลคะแนน '!A$5:A$38,SMALL(IF('Fสรุปผลคะแนน '!$BK$5:$BK$38=TRUE,ROW('Fสรุปผลคะแนน '!$B$5:$B$38)-ROW('Fสรุปผลคะแนน '!$B$5)+1),ROWS(G$4:$G4)))) กด Ctrl+Shift+Enter คัดลอกไปทางขวา 2 คอลัมน์
เป็นอันเสร็จสิ้น ทดสอบเลือกชื่อวิชาในเซลล์ F1 ชื่อนักเรียนจะเปลี่ยนไปตามเงื่อนไขที่วางไว้