Page 1 of 1

ขอความอนุเคราะห์สูตรดึงข้อมูลที่ต้องการโดยมีเงื่อนไข 2เงื่อนไข

Posted: Sun Aug 14, 2022 11:24 pm
by tigerwit
จากไฟล์ที่แนบมาครับ
ต้องการดึงข้อมูลจากชีท indexAll มาแสดงในชีท Index1
โดยมีเงื่อนไขที่ตรงกับ เซล L1 และ L2 ที่เลือกจากชีท Index1
ตัวอย่าง ถ้าเลือก L1 เป็น "ม.1" L2 เป็น "ภาษาไทย"
ให้คลอลัมน์ E ตั้งแต่ E6 ดึงข้อมูลจากชีท indexAll เฉพาะชั้น "ม.1" และ วิชา "ภาษาไทย" มาแสดง

Re: ขอความอนุเคราะห์สูตรดึงข้อมูลที่ต้องการโดยมีเงื่อนไข 2เงื่อนไข

Posted: Mon Aug 15, 2022 12:58 am
by Bo_ry
E6

=IFERROR(INDEX(indexAll!$E$3:$E$201&" (มาตรฐาน "&indexAll!$D$3:$D$201&")",AGGREGATE(15,6,ROW(indexAll!$E$3:$E$201)/(indexAll!$F$3:$F$201=$L$2)/(indexAll!$B$3:$B$201=$L$1),ROWS(E$6:E6))-ROW(indexAll!$E$2)),"")

Re: ขอความอนุเคราะห์สูตรดึงข้อมูลที่ต้องการโดยมีเงื่อนไข 2เงื่อนไข

Posted: Wed Aug 17, 2022 11:15 pm
by tigerwit
ขอบคุณมากครับ

Re: ขอความอนุเคราะห์สูตรดึงข้อมูลที่ต้องการโดยมีเงื่อนไข 2เงื่อนไข

Posted: Tue Sep 20, 2022 2:11 pm
by tigerwit
สวัสดีครับ กรณีมีเงื่อนไขเพิ่มเติมต้องการให้แสดงทั้งหมดทุกชั้น ทุกวิชา
ต้องปรับสูตรอย่างไรครับ

Re: ขอความอนุเคราะห์สูตรดึงข้อมูลที่ต้องการโดยมีเงื่อนไข 2เงื่อนไข

Posted: Tue Sep 20, 2022 6:01 pm
by snasui
:D ตัวอย่างการปรับสูตรครับ

เซลล์ E6 คีย์

=IFERROR(INDEX(indexAll!E:E,AGGREGATE(15,6,ROW(indexAll!$E$3:$E$201)/IF($L$2="ทั้งหมด",1,indexAll!$F$3:$F$201=$L$2)/IF($L$1="ทั้งหมด",1,indexAll!$B$3:$B$201=$L$1),ROWS(E$6:E6)))&"","")

Enter > Copy ลงด้านล่าง

Re: ขอความอนุเคราะห์สูตรดึงข้อมูลที่ต้องการโดยมีเงื่อนไข 2เงื่อนไข

Posted: Tue Sep 20, 2022 7:05 pm
by tigerwit
ขอบคุณครับ
ยังมีปัญหาดังนี้ครับ ถ้าใช้สูตรที่แนะนำมา
กรณีเลือกทั้งหมด มาครบทุกแถวตามความต้องการ
แต่พอเลือก แยกชั้น แยกวิชา จะมีปัญหาดังนี้
1. มาไม่ครบตามเงื่อนไข
2. ไม่สามารถแสดงผลในบรรทัดแรกของรายงานได้

Re: ขอความอนุเคราะห์สูตรดึงข้อมูลที่ต้องการโดยมีเงื่อนไข 2เงื่อนไข

Posted: Tue Sep 20, 2022 7:31 pm
by snasui
:D ตัวอย่างการปรับสูตรครับ

=IFERROR(INDEX(indexAll!E:E,AGGREGATE(15,6,ROW(indexAll!$E$3:$E$201)/(indexAll!$F$3:$F$201=IF($L$2="ทั้งหมด",indexAll!$F$3:$F$201,$L$2))/(indexAll!$B$3:$B$201=IF($L$1="ทั้งหมด",indexAll!$B$3:$B$201,$L$1)),ROWS(E$6:E6)))&"","")

หรือ

=IFERROR(INDEX(indexAll!E:E,AGGREGATE(15,6,ROW(indexAll!$E$3:$E$201)/IF($L$2="ทั้งหมด",1,INDEX(indexAll!$F$3:$F$201=$L$2,0))/IF($L$1="ทั้งหมด",1,INDEX(indexAll!$B$3:$B$201=$L$1,0)),ROWS(E$6:E6)))&"","")

Enter > Copy ลงด้านล่าง

Re: ขอความอนุเคราะห์สูตรดึงข้อมูลที่ต้องการโดยมีเงื่อนไข 2เงื่อนไข

Posted: Tue Sep 20, 2022 10:35 pm
by tigerwit
ขอบคุณครับ
ใช้ได้ตามต้องการครับผม
มีข้อคำถามสอบถามเพิ่มเติมครับ
ในกรณีที่ ข้อมูลใน คลอลัมน์ E ของชีท indexall เป็นตัวเลข จัรูปแบบเป็นแบบบัญชี
เมื่อใช้สูตรที่แนะนำมานี้ เพราะเห็นใด จึงไม่สามารถจัดรูปแบบตัวเลขให้เป็นแบบบัญชีได้ครับ
และเราจะใช้วิธีการใดจัดรูปแบบตัวเลขได้

Re: ขอความอนุเคราะห์สูตรดึงข้อมูลที่ต้องการโดยมีเงื่อนไข 2เงื่อนไข

Posted: Wed Sep 21, 2022 5:27 am
by snasui
tigerwit wrote: Tue Sep 20, 2022 10:35 pm ในกรณีที่ ข้อมูลใน คลอลัมน์ E ของชีท indexall เป็นตัวเลข
:D จากส่วนประกอบสูตรที่ผมเขียนไป คือ
snasui wrote: Tue Sep 20, 2022 7:31 pm ...,ROWS(E$6:E6)))&"","")
ตัวอักษรที่ระบายสีเป็นการเปลี่ยนค่า 0 ทีได้จากสูตรให้เป็นค่าว่าง

ค่า 0 มาจากการที่ต้นทางเป็นเซลล์ว่าง เมื่อดึงค่ามาแสดงจะได้ค่า 0 จึงใช้เครื่องหมาย "" เพื่อเปลี่ยนค่า 0 ให้เป็นค่าว่าง ซึ่งการทำเช่นนี้ หากต้นทางเป็นตัวเลข ค่าดังกล่าวจะกลายเป็นตัวอักษรและชิดซ้ายเซลล์ หากต้องการให้แสดงเป็นตัวเลขดังเดิม ให้ลบ &"" ทิ้งไปครับ

Re: ขอความอนุเคราะห์สูตรดึงข้อมูลที่ต้องการโดยมีเงื่อนไข 2เงื่อนไข

Posted: Wed Sep 21, 2022 8:12 am
by tigerwit
ขอบคุณครับผม