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

ลองตามนี่้ครับ
ที่เซลล์ 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

แถมครับ
ที่ 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:
แถมครับ
ที่ 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:
แถมครับ
ที่ 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),"") คัดลอกลงมา
กรุณาตรวจสอบสูตรครับ ผมพิมพ์สูตรผิดที่ส่วนใดครับ เพราะผมพยายามตรวจสอบแล้วหาไม่เจอครับ ขอบคุณมากครับ

ครับผม ขออภัยครับ ไม่ทันได้ตรวจสอบ
จากสูตร =IFERROR(LOOKUP(SMALL($B$2:$B$18,ROWS($C$1:C1)),$B$2:$B$18,$A$1:$A$18),"") แก้เป็น
=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 ไม่ได้...ใช่มั้ยครับ

ที่ใช้ไม่ได้ เพราะว่ามีสูตร 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 ไม่ได้...ใช่มั้ยครับ

สามารถปรับสูตรเป็นตามด้านล่างครับ
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
ขอบคุณมากครับอาจารย์