Page 1 of 1

รบกวนขอวิธีหาชื่อ นามสกุล ซ้ำครับ

Posted: Mon Oct 14, 2013 10:13 pm
by kook001
สวัสดีครับ...รบกวนทีครับ

รบกวนขอวิธีหาชื่อ นามสกุล ซ้ำทีครับ

ใน file ใน colume A เป็น ชื่อ นามสกุล ซึ่งในข้อมูลจริงๆจะมีประมาณ 100+ ครับ
อยากหา เฉพาะชื่อ นามสกุล ที่ซ้ำมาแสดงที่ colume B ครับ

รบกวนทีครับ

Re: รบกวนขอวิธีหาชื่อ นามสกุล ซ้ำครับ

Posted: Mon Oct 14, 2013 10:28 pm
by snasui
:D ลองตามนี่้ครับ

ที่เซลล์ B1 คีย์สูตร

Code: Select all

=IFERROR(INDEX($A$1:$A$18,SMALL(IF(FREQUENCY(IF(COUNTIF($A$1:$A$18,$A$1:$A$18)>1,MATCH($A$1:$A$18,$A$1:$A$18,0)),ROW($A$1:$A$18)-ROW($A$1)+1),ROW($A$1:$A$18)-ROW($A$1)+1),ROWS($B$1:B1))),"")
Ctrl+Shift+Enter > Copy ลงด้านล่าง

!
Note: Ctrl+Shift+Enter หมายถึงเมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง

Re: รบกวนขอวิธีหาชื่อ นามสกุล ซ้ำครับ

Posted: Mon Oct 14, 2013 10:39 pm
by bank9597
:D แถมครับ

ที่ B1 คีย์ =IF(COUNTIF($A$1:$A1,$A1)=2,ROWS($B$1:B1),"") คัดลอกลงมา

ที่ C1 คีย์ =IFERROR(LOOKUP(SMALL($B$2:$B$18,ROWS($C$1:C1)),$B$2:$B$18,$A$1:$A$18),"") คัดลอกลงมา

Re: รบกวนขอวิธีหาชื่อ นามสกุล ซ้ำครับ

Posted: Mon Oct 14, 2013 11:26 pm
by pongpang
สมุดงาน1.xlsx
bank9597 wrote::D แถมครับ

ที่ B1 คีย์ =IF(COUNTIF($A$1:$A1,$A1)=2,ROWS($B$1:B1),"") คัดลอกลงมา

ที่ C1 คีย์ =IFERROR(LOOKUP(SMALL($B$2:$B$18,ROWS($C$1:C1)),$B$2:$B$18,$A$1:$A$18),"") คัดลอกลงมา
กรุณาตรวจสอบสูตรครับ ผมพิมพ์สูตรผิดที่ส่วนใดครับ เพราะผมพยายามตรวจสอบแล้วหาไม่เจอครับ ขอบคุณมากครับ

Re: รบกวนขอวิธีหาชื่อ นามสกุล ซ้ำครับ

Posted: Mon Oct 14, 2013 11:34 pm
by bank9597
pongpang wrote:
สมุดงาน1.xlsx
bank9597 wrote::D แถมครับ

ที่ B1 คีย์ =IF(COUNTIF($A$1:$A1,$A1)=2,ROWS($B$1:B1),"") คัดลอกลงมา

ที่ C1 คีย์ =IFERROR(LOOKUP(SMALL($B$2:$B$18,ROWS($C$1:C1)),$B$2:$B$18,$A$1:$A$18),"") คัดลอกลงมา
กรุณาตรวจสอบสูตรครับ ผมพิมพ์สูตรผิดที่ส่วนใดครับ เพราะผมพยายามตรวจสอบแล้วหาไม่เจอครับ ขอบคุณมากครับ
:lol: ครับผม ขออภัยครับ ไม่ทันได้ตรวจสอบ

จากสูตร =IFERROR(LOOKUP(SMALL($B$2:$B$18,ROWS($C$1:C1)),$B$2:$B$18,$A$1:$A$18),"") แก้เป็น :ard:
=IFERROR(LOOKUP(SMALL($B$1:$B$18,ROWS($C$1:C1)),$B$1:$B$18,$A$1:$A$18),"") คัดลอกลงมา

Re: รบกวนขอวิธีหาชื่อ นามสกุล ซ้ำครับ

Posted: Tue Oct 15, 2013 12:14 am
by pongpang
ขอบคุณมาก ครับ

Re: รบกวนขอวิธีหาชื่อ นามสกุล ซ้ำครับ

Posted: Tue Oct 15, 2013 11:55 am
by tahc
สูตร =IFERROR(INDEX($A$1:$A$18,SMALL(IF(FREQUENCY(IF(COUNTIF($A$1:$A$18,$A$1:$A$18)>1,MATCH($A$1:$A$18,$A$1:$A$18,0)),ROW($A$1:$A$18)-ROW($A$1)+1),ROW($A$1:$A$18)-ROW($A$1)+1),ROWS($B$1:B1))),"")
และ
=IFERROR(LOOKUP(SMALL($B$1:$B$18,ROWS($C$1:C1)),$B$1:$B$18,$A$1:$A$18),"")
ใช้กับ 2003 ไม่ได้...ใช่มั้ยครับ

Re: รบกวนขอวิธีหาชื่อ นามสกุล ซ้ำครับ

Posted: Tue Oct 15, 2013 12:10 pm
by bank9597
tahc wrote:สูตร =IFERROR(INDEX($A$1:$A$18,SMALL(IF(FREQUENCY(IF(COUNTIF($A$1:$A$18,$A$1:$A$18)>1,MATCH($A$1:$A$18,$A$1:$A$18,0)),ROW($A$1:$A$18)-ROW($A$1)+1),ROW($A$1:$A$18)-ROW($A$1)+1),ROWS($B$1:B1))),"")
และ
=IFERROR(LOOKUP(SMALL($B$1:$B$18,ROWS($C$1:C1)),$B$1:$B$18,$A$1:$A$18),"")
ใช้กับ 2003 ไม่ได้...ใช่มั้ยครับ
:D ที่ใช้ไม่ได้ เพราะว่ามีสูตร IFERROR ครับ หากต้อการนำไปใช้ให้เปลี่ยนสูตรดังนี้ครับ

Code: Select all

=IF(ISERROR(INDEX($A$1:$A$18,SMALL(IF(FREQUENCY(IF(COUNTIF($A$1:$A$18,$A$1:$A$18)>1,MATCH($A$1:$A$18,$A$1:$A$18,0)),ROW($A$1:$A$18)-ROW($A$1)+1),ROW($A$1:$A$18)-ROW($A$1)+1),ROWS($B$1:B1)))),"",INDEX($A$1:$A$18,SMALL(IF(FREQUENCY(IF(COUNTIF($A$1:$A$18,$A$1:$A$18)>1,MATCH($A$1:$A$18,$A$1:$A$18,0)),ROW($A$1:$A$18)-ROW($A$1)+1),ROW($A$1:$A$18)-ROW($A$1)+1),ROWS($B$1:B1))))
กด ctrl+shift+enter

อีกสูตร ปรับดังนี้ครับ
=IF(ISERROR(LOOKUP(SMALL($B$1:$B$18,ROWS($C$1:C1)),$B$1:$B$18,$A$1:$A$18)),"",LOOKUP(SMALL($B$1:$B$18,ROWS($C$1:C1)),$B$1:$B$18,$A$1:$A$18))

Re: รบกวนขอวิธีหาชื่อ นามสกุล ซ้ำครับ

Posted: Tue Oct 15, 2013 3:11 pm
by tahc
ได้แล้วครับ ขอบคุณมากมายครับ

Re: รบกวนขอวิธีหาชื่อ นามสกุล ซ้ำครับ

Posted: Tue Oct 15, 2013 7:30 pm
by snasui
tahc wrote:สูตร =IFERROR(INDEX($A$1:$A$18,SMALL(IF(FREQUENCY(IF(COUNTIF($A$1:$A$18,$A$1:$A$18)>1,MATCH($A$1:$A$18,$A$1:$A$18,0)),ROW($A$1:$A$18)-ROW($A$1)+1),ROW($A$1:$A$18)-ROW($A$1)+1),ROWS($B$1:B1))),"")

ใช้กับ 2003 ไม่ได้...ใช่มั้ยครับ
:D สามารถปรับสูตรเป็นตามด้านล่างครับ

Code: Select all

=LOOKUP(CHAR(255),CHOOSE({1,2},"",INDEX($A$1:$A$18,SMALL(IF(FREQUENCY(IF(COUNTIF($A$1:$A$18,$A$1:$A$18)>1,MATCH($A$1:$A$18,$A$1:$A$18,0)),ROW($A$1:$A$18)-ROW($A$1)+1),ROW($A$1:$A$18)-ROW($A$1)+1),ROWS($B$1:B1)))))
Ctrl+Shift+Enter

Re: รบกวนขอวิธีหาชื่อ นามสกุล ซ้ำครับ

Posted: Wed Oct 16, 2013 6:21 pm
by tahc
ขอบคุณมากครับอาจารย์