Page 1 of 1

รบกวนอาจารย์เรื่องคัดแยกข้อมูลอีกครั้งครับ

Posted: Mon Jul 19, 2010 10:02 pm
by gentoo
ผมได้นำสูตรที่อาจารย์แนะนำในการคัดแยกข้อมูลมาใช้งานแต่ติดปัญหาในตารางระบบอื่น ซึ่งหากมีข้อมูลซ้ำกันในข้อมูลดิบสูตรที่อาจารย์ให้มาไม่สามารถแยกระบบได้ถูกต้องครับตามFileแนบ ต้องขอรบกวนอาจารย์อีกครั้งช่วยทบทวนสูตรดังกล่าวให้ด้วยครับ

Re: รบกวนอาจารย์เรื่องคัดแยกข้อมูลอีกครั้งครับ

Posted: Mon Jul 19, 2010 10:43 pm
by snasui
:D ลองตามนี้ครับ

ที่ L3 คีย์

=IF(ROWS($L$3:L3)>$L$1,"",SMALL(IF(FREQUENCY(IF($B$3:$B$16=K3,MATCH($B$3:$B$16&$C$3:$C$16,$B$3:$B$16&$C$3:$C$16,0)),ROW($B$3:$B$16)-ROW($B$3)+1),$C$3:$C$16),COUNTIF(K$3:K3,K3)))

Ctrl+Shift+Enter > Copy ลงด้านล่าง :mrgreen:

Re: รบกวนอาจารย์เรื่องคัดแยกข้อมูลอีกครั้งครับ

Posted: Mon Jul 19, 2010 11:54 pm
by gentoo
ขอบคุณอาจารย์มากครับ ผมเติมสูตรของอาจารย์เป็น
=IF(ROWS($L$3:L3)>$L$1,"",SMALL(IF(FREQUENCY(IF(($B$3:$B$16=K3)*($C$3:$C$16<>22),MATCH($B$3:$B$16&$C$3:$C$16,$B$3:$B$16&$C$3:$C$16,0)),ROW($B$3:$B$16)-ROW($B$3)+1),$C$3:$C$16),COUNTIF(K$3:K3,K3)))

อาจารย์ครับถ้าข้อมูลใน Column C เป็น 123/44 พอใช้สูตรนี้จะขึ้นค่าเป็น #NUM! ครับเราจะแก้ไขอย่างไรครับ
แยกข้อมูล.JPG

Re: รบกวนอาจารย์เรื่องคัดแยกข้อมูลอีกครั้งครับ

Posted: Tue Jul 20, 2010 8:44 am
by snasui
:D ค่า 123/44 นั้นไม่ใช่ตัวเลขครับจึงหาด้วย Small อย่างเดียวไม่ได้ เนื่องจาก Small ใช้กับตัวเลขเท่านั้นครับ

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

ที่ L3 คีย์

=IF(ROWS($L$3:L3)>$L$1,"",INDEX($C$3:$C$16,SMALL(IF(FREQUENCY(IF($B$3:$B$16=K3,IF($C$3:$C$16<>22,MATCH($B$3:$B$16&$C$3:$C$16,$B$3:$B$16&$C$3:$C$16,0))),ROW($B$3:$B$16)-ROW($B$3)+1),ROW($B$3:$B$16)-ROW($B$3)+1),COUNTIF(K$3:K3,K3))))

Ctrl+Shift+Enter > Copy ลงด้านล่าง :mrgreen:

Re: รบกวนอาจารย์เรื่องคัดแยกข้อมูลอีกครั้งครับ

Posted: Tue Jul 20, 2010 9:39 am
by gentoo
ขอบคุณอาจารย์มากครับ ตอนนี้ทำได้แล้วครับ