Page 1 of 1

ต้องการให้ข้อมูลปรากฏอีกชีท

Posted: Sun Mar 11, 2012 1:40 pm
by torkorn
เมื่อกรอกข้อมูลตามเงื่อนไขที่เลือกในเซลล์ C3,C5,E3,E5 ใน Sheet Report ต้องการให้ข้อมูลปรากฏตามตัวอย่าง โดยนำข้อมูลมาจาก Sheet DataBase
เขียนสูตร Excel อย่างไรดีครับ ได้แนบไฟล์ "ข้อมูลบันทึกและรายงาน"

Re: ต้องการให้ข้อมูลปรากฏอีกชีท

Posted: Sun Mar 11, 2012 3:00 pm
by tupthai
ผมใช้ Advanced filter ช่วยครับ
ให้แทรกแถวที่ 3,4 เพื่อกำหนดเงือนไข โดยอ้างอิงจาก C5,E5,C7,E7
แล้วใช้ Advanced filter ตามภาพแล้วดูผล
ลองเปลี่ยน ข้อมูลใน C5,E5,C7,E7 แล้วบันทึกแมโครดูครับ

Re: ต้องการให้ข้อมูลปรากฏอีกชีท

Posted: Sun Mar 11, 2012 3:13 pm
by snasui
:D กรณีใช้สูตร สามารถดึงข้อมูลตามภาพด้านล่างครับ

โดยคีย์สูตรดังนี้ครับ
  1. ที่ชีท Report เซลล์ G5 คีย์
    =SUMPRODUCT(--($C$3=DataBase!$C$2:$C$25),--($E$3=DataBase!$F$2:$F$25),--($C$5=DataBase!$L$2:$L$25),--($E$5=DataBase!$G$2:$G$25))
    Enter
  2. ที่ชีท Report เซลล์ A8 คีย์
    =IF(ROWS(A$8:A8)>$G$5,"",INDEX(DataBase!$A$2:$M$25,SMALL(IF($C$3=DataBase!$C$2:$C$25,IF($E$3=DataBase!$F$2:$F$25,IF($C$5=DataBase!$L$2:$L$25,IF($E$5=DataBase!$G$2:$G$25,ROW(DataBase!$A$2:$A$25)-ROW(DataBase!$A$2)+1)))),ROWS(A$8:A8)),MATCH(A$7,DataBase!$A$1:$M$1,0)))
    Ctrl+Shift+Enter แทนการกด Enter ธรรมดาเนื่องจากเป็นสูตร Array > Copy ไปทางขวาและลงด้านล่าง
เนื่องจากพบว่าวันที่ในชีท Database มีการจัด Format ให้ชิดขวาโดยที่เมื่อปลด Format แล้วพบว่าค่าชิดซ้ายเซลล์แสดงว่าเป็น Text ซึ่งจะ Match กันไม่ได้กับเงื่อนไข จึงควรจัดการให้เป็น Format เดียวกับเงื่อนไข ถ้าเป็น Text ก็ต้อง Text เหมือนกัน ถ้าเป็น Number ก็ต้อง Number เหมือนกัน

Re: ต้องการให้ข้อมูลปรากฏอีกชีท

Posted: Tue Mar 13, 2012 10:35 am
by torkorn
tupthai wrote:ผมใช้ Advanced filter ช่วยครับ
ให้แทรกแถวที่ 3,4 เพื่อกำหนดเงือนไข โดยอ้างอิงจาก C5,E5,C7,E7
แล้วใช้ Advanced filter ตามภาพแล้วดูผล
ลองเปลี่ยน ข้อมูลใน C5,E5,C7,E7 แล้วบันทึกแมโครดูครับ
ขอบคุณครับคุณ tupthai
tupthai wrote:ผมใช้ Advanced filter ช่วยครับ
ให้แทรกแถวที่ 3,4 เพื่อกำหนดเงือนไข โดยอ้างอิงจาก C5,E5,C7,E7
แล้วใช้ Advanced filter ตามภาพแล้วดูผล
ลองเปลี่ยน ข้อมูลใน C5,E5,C7,E7 แล้วบันทึกแมโครดูครับ

Re: ต้องการให้ข้อมูลปรากฏอีกชีท

Posted: Tue Mar 13, 2012 10:41 am
by torkorn
snasui wrote::D กรณีใช้สูตร สามารถดึงข้อมูลตามภาพด้านล่างครับ

โดยคีย์สูตรดังนี้ครับ
  1. ที่ชีท Report เซลล์ G5 คีย์
    =SUMPRODUCT(--($C$3=DataBase!$C$2:$C$25),--($E$3=DataBase!$F$2:$F$25),--($C$5=DataBase!$L$2:$L$25),--($E$5=DataBase!$G$2:$G$25))
    Enter
  2. ที่ชีท Report เซลล์ A8 คีย์
    =IF(ROWS(A$8:A8)>$G$5,"",INDEX(DataBase!$A$2:$M$25,SMALL(IF($C$3=DataBase!$C$2:$C$25,IF($E$3=DataBase!$F$2:$F$25,IF($C$5=DataBase!$L$2:$L$25,IF($E$5=DataBase!$G$2:$G$25,ROW(DataBase!$A$2:$A$25)-ROW(DataBase!$A$2)+1)))),ROWS(A$8:A8)),MATCH(A$7,DataBase!$A$1:$M$1,0)))
    Ctrl+Shift+Enter แทนการกด Enter ธรรมดาเนื่องจากเป็นสูตร Array > Copy ไปทางขวาและลงด้านล่าง
เนื่องจากพบว่าวันที่ในชีท Database มีการจัด Format ให้ชิดขวาโดยที่เมื่อปลด Format แล้วพบว่าค่าชิดซ้ายเซลล์แสดงว่าเป็น Text ซึ่งจะ Match กันไม่ได้กับเงื่อนไข จึงควรจัดการให้เป็น Format เดียวกับเงื่อนไข ถ้าเป็น Text ก็ต้อง Text เหมือนกัน ถ้าเป็น Number ก็ต้อง Number เหมือนกัน
ขอขอบคุณมากครับ ผมลองทำตามแล้วได้ผลตามต้องการ ง่ายดี แต่ผมยังไม่เข้าใจความหมายของสูตร SUMPRODUCT ที่มีเครื่องหมาย -- และสูตร IF ทีมีเครื่องหมาย "" หมายความว่าอย่างไรครับ

Re: ต้องการให้ข้อมูลปรากฏอีกชีท

Posted: Tue Mar 13, 2012 12:54 pm
by bank9597
:D ลองศึกษาตามนี้ครับ
สูตร Sumproduct คลิ๊ก http://snasui.blogspot.com/2009/12/sumproduct.html
สูตรอื่นๆ อีกมากมาย คลิ๊ก http://snasui.blogspot.com/ :mrgreen: