Page 1 of 1
สอบถามเรื่องการดึงข้อมูลครับ
Posted: Fri May 11, 2012 12:51 pm
by kritsada_ie
จากไฟล์ที่แนบผมต้องการชีท Employee Work Report ดึงข้อมูลมาจากชีท Employee Work โดยมีเงื่อนไขอยู่ที่ชื่อของ Cell B1 ที่ชีท Employee Work Report ต้องเหมือนกับค่าใน Column A ชีท Employee Work และช่วงเวลาอยู่ระหว่าง Cell F1 และ G1 ผมลองหาดูโค้ดแล้วแต่ผมไม่ค่อยจะรู้เรื่องเลยเอามาประยุกต์ไม่ค่อยได้ครับ
Re: สอบถามเรื่องการดึงข้อมูลครับ
Posted: Fri May 11, 2012 1:13 pm
by bank9597

ลองตามนี้
ที่ A5 ชีท Employee Work Report คีย์
=IF(ROWS($A$5:A5)>COUNTIF('Employee Work'!$A$5:$A$100,$B$1),"",INDEX('Employee Work'!B$5:B$100,SMALL(IF('Employee Work'!$A$5:$A$100=$B$1,ROW('Employee Work'!$B$5:$B$100)-ROW('Employee Work'!$B$5)+1),ROWS($A$5:A5))))
กด Ctrl+Shift+Enter คัดลอกไปทางขวามือ แล้วคัดลอกลงล่างพร้อมกัน
Re: สอบถามเรื่องการดึงข้อมูลครับ
Posted: Fri May 11, 2012 1:27 pm
by kritsada_ie
ขอบคุณ คุณ bank9597 มากครับ แต่มีเรื่องรบกวนอีกนิดคือรู้สึกว่ามันยังไม่ได้กรองในเรื่องของวันที่อ่ะครับ คือผมต้องการให้มันเลือกมาเฉพาะในระหว่างวันที่ผมใส่ไว้ใน Cell F1 ถึง G1 อ่ะครับ
Re: สอบถามเรื่องการดึงข้อมูลครับ
Posted: Fri May 11, 2012 1:37 pm
by bank9597

ขออภัยครับ ผมยังอ่านโจทย์ไม่หมด
การจะทำแบบดังกล่าว อาจจะต้องมีการเพิ่มเซลล์ช่วยอีก หรือใช้สูตรที่ยากมากครับ ต้องขอดูก่อนครับ

Re: สอบถามเรื่องการดึงข้อมูลครับ
Posted: Fri May 11, 2012 1:48 pm
by kritsada_ie
ขอบคุณล่วงหน้าครับ...

Re: สอบถามเรื่องการดึงข้อมูลครับ
Posted: Fri May 11, 2012 2:52 pm
by bank9597

พยายามคิดสูตรรวบรัดในสูตรเดียว แต่มันยากเกินไปครับ ลองดูตามนี้
ที่ชีท Employee Work เซลล์ I5 คีย์ =IF(A5='Employee Work Report'!$B$1,IF(B5>='Employee Work Report'!$F$1,IF(B5<='Employee Work Report'!$G$1,TRUE,FALSE))) คัดลอกลงมาจนสุดแถว
ที่ชีท Employee Work Report เซลล์ A5 คีย์ =IF(ROWS($A$5:A5)>COUNTIF('Employee Work'!$I$5:$I$100,TRUE),"",INDEX('Employee Work'!B$5:B$100,SMALL(IF('Employee Work'!$I$5:$I$100=TRUE,ROW('Employee Work'!$B$5:$B$100)-ROW('Employee Work'!$B$5)+1),ROWS($A$5:A5))))
กด Ctrl+Shift+Enter คัดลอกไปทางขวามือ แล้วลงล่างพร้อมกันครับ
Re: สอบถามเรื่องการดึงข้อมูลครับ
Posted: Fri May 11, 2012 4:19 pm
by kritsada_ie
ขอบคุณมากๆครับ ...ได้แล้วครับ

Re: สอบถามเรื่องการดึงข้อมูลครับ
Posted: Sat May 12, 2012 6:32 am
by snasui

สามารถลดสูตรที่ชีท Employee Work โดยที่ชีท Employee Work Report เขียนสูตรตามด้านล่างครับ
- เซลล์ H1 คีย์
=SUMPRODUCT(--(B1='Employee Work'!A5:A37),--(F1<='Employee Work'!B5:B37),--(G1>='Employee Work'!B5:B37))
Enter
- เซลล์ A5 คีย์สูตรเพื่อแสดงรายการ
=IF(ROWS(A$5:A5)>$H$1,"",INDEX('Employee Work'!$B$5:$B$37,SMALL(IF($B$1='Employee Work'!A5:A37,IF($F$1<='Employee Work'!B5:B37,IF($G$1>='Employee Work'!B5:B37,ROW('Employee Work'!$A$5:$A$37)-ROW('Employee Work'!$A$5)+1))),ROWS(A$5:A5))))
Enter > Copy ไปด้านขวาและลงด้านล่าง
Note: ปรับช่วงข้อมูลในสูตรให้ตรงตามช่วงข้อมูลจริง
รบกวนช่วยดูสูตรให้หน่อยครับ
Posted: Sat May 12, 2012 9:39 am
by kritsada_ie
ที่เอกสารหน้า รับ-จ่าย Report ผมต้องการดึงข้อมูลจากหน้า รับ-จ่าย มาโดยมีเงื่อนอยู่ที่สาขา (Q6) และวันที่ (Q3 & S3) แต่ผมเขียนสูตรแล้วมันมาแต่บรรทัดบนอย่างเดียว บรรทัดต่อๆไปมันไม่ขึ้น ไม่ทราบว่าเป็นเพราะอะไรครับ
Re: สอบถามเรื่องการดึงข้อมูลครับ
Posted: Sat May 12, 2012 11:05 am
by snasui

ที่ไม่ได้ผลลัพธ์ตามต้องการเนื่องการกดแป้นให้รับสูตรไม่ถูกต้องครับ
การกดแป้นให้รับสูตรจะต้องกด 3 แป้น คือ Ctrl+Shift+Enter หากกดแป้นถูกต้องจะเห็นเครื่องหมายปีกกาคร่อมสูตร ปีกกานี้จะคีย์เข้าไปเองไม่ได้ นอกจากนี้การเลือกช่วงข้อมูลในสูตรไม่ควรเลือกเผื่อไว้จนเกินความจำเป็น ให้เลือกเท่าที่มีข้อมูลเพื่อให้คำนวณเร็วขึ้น
Re: สอบถามเรื่องการดึงข้อมูลครับ
Posted: Sat May 12, 2012 11:20 am
by bank9597

ผมดูไฟล์แล้ว ยึดตามแบบที่ผมตอบไว้ในกระทู้ล่าสุดด้านบน ซึ่งยังต้องอาศัยคอลัมน์เข้าช่วย ถ้าไม่อยากเพิ่มคอลัมน์ช่วย ก็สามารถใช้สูตรของอาจารย์รวบรัดขั้นตอนดังนี้
ที่ ชีท รับ-จ่าย Report เซลล์ N1 คีย์ =SUMPRODUCT(--(Q6='รับ-จ่าย'!$L$2:$L$100),--(Q3<='รับ-จ่าย'!$B$2:$B$100),--(S3>='รับ-จ่าย'!$B$2:$B$100))
เซลล์ B2 คีย์=IF(ROWS(B$2:B2)>$N$1,"",INDEX('รับ-จ่าย'!B$2:B$100,SMALL(IF($Q$6='รับ-จ่าย'!$L$2:$L$100,IF($Q$3<='รับ-จ่าย'!$B$2:$B$100,IF($S$3>='รับ-จ่าย'!$B$2:$B$100,ROW('รับ-จ่าย'!$L$2:$L$100)-ROW('รับ-จ่าย'!$L$2)+1))),ROWS(B$2:B2))))
กด Ctrl+Shift+Enter ลากไปทางขวามือแล้วลงล่างพร้อมกัน
Note : สูตรลักษณะนี้เมื่อใช้ดึงข้อมูลจำนวนมาก ทำให้การคำควณช้าเนื่องจากเป็นสูตรอาร์เรย์