Page 1 of 1
เจอค่าซ้ำให้ข้ามไป หาค่าที่ไม่ซ้ำ
Posted: Mon Apr 23, 2018 1:36 pm
by Supachok
เรียน ท่านผู้รู้
Sheet printer
ที่ C2 ต้องการหาค่าในแถว (A1:A1000) ค่าที่ไม่ซ้ำ
ถ้าเจอซ้ำให้หาค่าในแถว (A1:A1000) ที่ไม่ซ้ำมาแสดง
ตย ค่าที่ต้องการ
C1 = V004
C8 = V001
C15 = V002
C22 = V005
Next C = " "
ขอคำแนะนำด้วยครับ
Re: เจอค่าซ้ำให้ข้ามไป หาค่าที่ไม่ซ้ำ
Posted: Mon Apr 23, 2018 9:59 pm
by snasui

ตัวอย่างสูตรตามด้านล่างครับ
- ที่ C1 คีย์
=IFERROR(INDEX($A$1:$A$10,SMALL(IF(FREQUENCY(MATCH($A$1:$A$10,$A$1:$A$10,0),ROW($A$1:$A$10)-ROW($A$1)+1),ROW($A$1:$A$10)-ROW($A$1)+1),$B1)),"")
Ctrl+Shift+Enter > Copy ลงด้านล่าง
!
| Note: Ctrl+Shift+Enter
เป็นการสร้างสูตร Array โดยสามารถเลือกดำเนินการตามข้อ 1 หรือ 2 ด้านล่าง
- กรณีคีย์สูตรเอง เมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น
Ctrl และ Shift พร้อมกันค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array
- กรณี Copy สูตรไปวางให้กดแป้น F2 เพื่อทำการ Edit Cell นั้นก่อน
จากนั้นกดแป้น Ctrl และ Shift พร้อมกันค้างไว้แล้วตามด้วย Enter เพื่อสร้างเป็นสูตร Array
- หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)}
ปีกกานี้ไม่สามารถคีย์เข้าไปเอง จะต้องมาด้วยการกดแป้น Ctrl+Shift+Enter เท่านั้น
ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
- การแก้ไขเปลี่ยนแปลงสูตร Array จะต้องกดแป้นให้รับสูตรด้วย Ctrl+Shift+Enter ทุกครั้ง
|
Re: เจอค่าซ้ำให้ข้ามไป หาค่าที่ไม่ซ้ำ
Posted: Tue Apr 24, 2018 9:04 am
by Supachok
เรียน ท่านอาจารย์
มีขอสงสัยว่าเมื่อปรับ Row เป็น 40 ขึ้นไปสูตรไม่แสดงค่าครับ
=IFERROR(INDEX($A$1:$A$40,SMALL(IF(FREQUENCY(MATCH($A$1:$A$40,$A$1:$A$40,0),ROW($A$1:$A$40)-ROW($A$1)+1),ROW($A$1:$A$40)-ROW($A$1)+1),$B1)),"")
Re: เจอค่าซ้ำให้ข้ามไป หาค่าที่ไม่ซ้ำ
Posted: Tue Apr 24, 2018 2:39 pm
by logic
ช่วยแนบไฟล์มาด้วยเพื่อนสมาชิกจะได้ช่วยกันดูได้ครับ

Re: เจอค่าซ้ำให้ข้ามไป หาค่าที่ไม่ซ้ำ
Posted: Tue Apr 24, 2018 11:25 pm
by puriwutpokin
ลองปรับเป็น
=IFERROR(INDEX($A$1:$A$40,SMALL(IF(FREQUENCY(if($A$1:$A$40<>"" MATCH($A$1:$A$40,$A$1:$A$40,0)),ROW($A$1:$A$40)-ROW($A$1)+1),ROW($A$1:$A$40)-ROW($A$1)+1),$B1)),"")
Re: เจอค่าซ้ำให้ข้ามไป หาค่าที่ไม่ซ้ำ
Posted: Wed Apr 25, 2018 8:57 am
by Supachok
puriwutpokin
สูตรไม่ยอมทำงานให้ขึ้น Error
Re: เจอค่าซ้ำให้ข้ามไป หาค่าที่ไม่ซ้ำ
Posted: Wed Apr 25, 2018 9:22 am
by puriwutpokin
Supachok wrote: Wed Apr 25, 2018 8:57 am
puriwutpokin
สูตรไม่ยอมทำงานให้ขึ้น Error
เช็คแล้วครับสูตรของอาจารย์ คนควนใช้ได้ถูกแล้วแม้จะเพิ่ม จำนวนบรรทัดเพิ่ม
แต่ที่ บรรทัด 40 แล้วไม่ขึ้นข้อมูล เพราะข้อมูลซ้ำ จะมีเพียง 5 ตัว เท่านั้นจึงไม่
มีตัวที่จะแสดงอีก เพราะสูตรแสดงเพราะไม่ซ้ำถ้าซ้ำข้ามไปตัวที่ไม่ซ้ำซึ่งไม่มี
จึงเป็นค่าว่างครับ
Re: เจอค่าซ้ำให้ข้ามไป หาค่าที่ไม่ซ้ำ
Posted: Wed Apr 25, 2018 9:52 am
by Supachok
ยังงงๆ อยู่ครับ
กรณีข้อมูลของผมมีมากกว่า 40 row คือ 50 row
แล้วผมมีข้อมูลอ้างอิงเพิ่ม เป็น V006 และ V007 มันจะแสดงค่าไหมครับ
เพราะสูตรระบุไว้ที่ช่อง แรกก่็ขึ้นค่าว่างครับ.
=IFERROR(INDEX($A$1:$A$40,SMALL(IF(FREQUENCY(MATCH($A$1:$A$40,$A$1:$A$40,0),ROW($A$1:$A$40)-ROW($A$1)+1),ROW($A$1:$A$40)-ROW($A$1)+1),$B1)),"")
Re: เจอค่าซ้ำให้ข้ามไป หาค่าที่ไม่ซ้ำ
Posted: Wed Apr 25, 2018 7:25 pm
by snasui
Supachok wrote: Wed Apr 25, 2018 9:52 am
ยังงงๆ อยู่ครับ
กรณีข้อมูลของผมมีมากกว่า 40 row คือ 50 row
แล้วผมมีข้อมูลอ้างอิงเพิ่ม เป็น V006 และ V007 มันจะแสดงค่าไหมครับ
เพราะสูตรระบุไว้ที่ช่อง แรกก่็ขึ้นค่าว่างครับ.
=IFERROR(INDEX($A$1:$A$40,SMALL(IF(FREQUENCY(MATCH($A$1:$A$40,$A$1:$A$40,0),ROW($A$1:$A$40)-ROW($A$1)+1),ROW($A$1:$A$40)-ROW($A$1)+1),$B1)),"")

กรุณาแนบไฟล์ที่เป็นปัญหามาถามกัน ชี้ให้เห็นว่าเซลล์ไหนที่แสดงค่าผิดพลาดหรือแสดงไม่ตรงกับที่ต้องการ ค่าที่ถูกต้องควรเป็นเท่าใด จะได้สะดวกในการตอบ
สูตรนั้นจะนำค่าที่ซ้ำกันมาแสดงเพียงครั้งเดียวไม่ว่าจะซ้ำกันกี่ครั้งก็ตามครับ
Re: เจอค่าซ้ำให้ข้ามไป หาค่าที่ไม่ซ้ำ
Posted: Thu Apr 26, 2018 10:56 am
by Supachok
เรียน ท่านอาจารย์
ที่ sheet printer @ C1
สูตรเดิม ช่วง Array 1:40
=IFERROR(INDEX($A$1:$A$40,SMALL(IF(FREQUENCY(MATCH($A$1:$A$40,$A$1:$A$40,0),ROW($A$1:$A$40)-ROW($A$1)+1),ROW($A$1:$A$40)-ROW($A$1)+1),$B1)),"")
แก้สูตรช่วง Array 1:40++++
=IFERROR(INDEX($A$1:$A$41,SMALL(IF(FREQUENCY(MATCH($A$1:$A$41,$A$1:$A$41,0),ROW($A$1:$A$41)-ROW($A$1)+1),ROW($A$1:$A$41)-ROW($A$1)+1),$B1)),"")
หลังแก้ช่วง Array 1:40++++ ไม่มีค่าแสดงครับ
Re: เจอค่าซ้ำให้ข้ามไป หาค่าที่ไม่ซ้ำ
Posted: Thu Apr 26, 2018 7:28 pm
by snasui

ปรับสูตรที่ C1 ใหม่เป็นด้านล่างครับ
=IFERROR(INDEX($A$1:$A$41,SMALL(IF(FREQUENCY(IF($A$1:$A$41<>"",MATCH($A$1:$A$41,$A$1:$A$41,0)),ROW($A$1:$A$41)-ROW($A$1)+1),ROW($A$1:$A$41)-ROW($A$1)+1),$B1)),"")
Ctrl+Shift+Enter
Re: เจอค่าซ้ำให้ข้ามไป หาค่าที่ไม่ซ้ำ
Posted: Fri Apr 27, 2018 9:04 am
by Supachok
ได้แล้วครับ ขอบคุณครับ
ท่านอาจารย์