Page 1 of 1

การกรองข้อมูลตามเงื่อนไข

Posted: Tue Mar 12, 2013 11:21 am
by janry
มีข้อมูลประมาณ 10000 record ให้กรองตามเงื่อนไงที่เราต้องการ เช่น key คือ work centor code
ให้กรองตาม wc 5400 มีกี่ record ให้ออกมาตามเงือนไข ทุก field
(ไม่อยากใช้ Auto filter คะ) อยากใช้ function จะเขียนอย่างไรให้ได้ตามที่เราต้องการคะ

ตัวอย่างตามเอกสารแนบ

Re: การกรองข้อมูลตามเงื่อนไข

Posted: Tue Mar 12, 2013 11:56 am
by joo
:D ต้องการให้แสดงคำตอบที่ซีทไหน เซลล์ไหน เงื่อนไขและคำตอบที่ต้องการเป็นอย่างไรครับ

Re: การกรองข้อมูลตามเงื่อนไข

Posted: Tue Mar 12, 2013 12:04 pm
by janry
ขอโทษคะ อธิบายสั้นไปหน่อ
ข้อมูลทั้งหมดจะอยู่ที่ sheet ชื่อ Data
เงื่อนไขอยู่ที่ sheet ชื่อ Summary โดยที Key คือ column B5

คำตอบที่ต้องการคือ ถ้า key 5400 ที่ B5 ให้แสดงข้อมูลทั้งหมด ที่ sheet Data มาแสดงที่ sheet Summary

โดยคอลัมน์ที่แสดง Hostname,name,Dept คะ

Re: การกรองข้อมูลตามเงื่อนไข

Posted: Tue Mar 12, 2013 12:08 pm
by joo
:D ลองตามนี้ดูครับที่ซีท Summary เซลล์ B4 คีย์สูตรเพื่อหาจำนวนที่ค้นพบ
=COUNTIF(Data!$A$2:$A$17,B5)
ที่ A7 คีย์ =IF(ROWS(A$7:A7)>$B$4,"",ROWS(A$7:A7)) Enter > Copy ลงด้านล่าง
ที่ B7 คีย์ =IF(ROWS(B$7:B7)>$B$4,"",INDEX(Data!B$2:B$17,SMALL(IF(Data!$A$2:$A$17=$B$5,ROW(Data!$A$2:$A$17)-ROW(Data!$A$2)+1),ROWS(B$7:B7)))) กดแป้น Ctrl+Shift+Enter พร้อมกัน จากนั้นก็Copy ไปทางขวาถึงคอลัมน์ D และลงด้านล่าง

Re: การกรองข้อมูลตามเงื่อนไข

Posted: Tue Mar 12, 2013 12:32 pm
by janry
ทำไมทำตาม code แล้วออกมาเป็นแบบนี้คะ

ตามเอกสารแนบ

Re: การกรองข้อมูลตามเงื่อนไข

Posted: Tue Mar 12, 2013 1:34 pm
by snasui
joo wrote:ที่ B7 คีย์ =IF(ROWS(B$7:B7)>$B$4,"",INDEX(Data!B$2:B$17,SMALL(IF(Data!$A$2:$A$17=$B$5,ROW(Data!$A$2:$A$17)-ROW(Data!$A$2)+1),ROWS(B$7:B7)))) กดแป้น Ctrl+Shift+Enter พร้อมกัน จากนั้นก็ Copy ไปทางขวาถึงคอลัมน์ D และลงด้านล่าง
จากที่ผมระบายสีไว้ ช่วยแจ้งรายละเอียดว่าใช้การ Copy อย่างไรจึงได้ผลลัพธ์ตามไฟล์ที่แนบมา หากยังไม่ได้ใช้การ Copy เหตุใดถึงไม่ได้ใช้ครับ :?:

Re: การกรองข้อมูลตามเงื่อนไข

Posted: Tue Mar 12, 2013 1:51 pm
by janry
ขอโทษอีกครั้งคะ พอดีไป ลากทั้งหมด แล้วกด ctrl+Shift+Enter คะ

ตอนนี้ได้แล้วคะ

ขอบคุณมากคะ