Page 1 of 1
รบกวนขอสูตรตัดค่าซ้ำและให้เรียงเว้น 5 บรรทัด
Posted: Wed Apr 17, 2019 4:53 pm
by ILoveExcel
สวัสดี อาจารย์และทุกท่านครับ
ผมรบกวนขอสูตรตัดค่าซ้ำในแนวตั้งให้เหลือเพียงชื่อเดียว
โดยให้ชื่อเรียงตามหมวดอักษร A-Z
และให้แต่ละชื่อเว้นห่างกัน 5 บรรทัด
ต้องเขียนสูตรอย่างไรครับ
ขอบคุณล่วงหน้ามากๆ ครับ
Re: รบกวนขอสูตรตัดค่าซ้ำและให้เรียงเว้น 5 บรรทัด
Posted: Wed Apr 17, 2019 5:27 pm
by Supachok
D7
=IF(COUNTBLANK(D3:D6)=4,INDEX(A3:A148,SMALL(IF(FREQUENCY(MATCH($A$3:$A$148,$A$3:$A$148,0),ROW($A$1:$A$146))>0,ROW($A$1:$A$146)),INT(ROW(A1)/6)+1)),"")
Array formula
{}
Re: รบกวนขอสูตรตัดค่าซ้ำและให้เรียงเว้น 5 บรรทัด
Posted: Wed Apr 17, 2019 5:52 pm
by snasui

อีกตัวอย่างสูตรครับ
เซลล์ C2 คีย์
=IFERROR(IF(INT((ROWS($C$2:C2)-1)/5)+1=(ROWS($C$2:C2)-1)/5+1,INDEX($A$2:$A$148,SMALL(IF(FREQUENCY(MATCH($A$2:$A$148,$A$2:$A$148,0),ROW($A$2:$A$148)-ROW($A$2)+1),ROW($A$2:$A$148)-ROW($A$2)+1),(ROWS($C$2:C2)-1)/5+1)),""),"")
Ctrl+Shift+Enter > Copy ลงด้านล่าง
Re: รบกวนขอสูตรตัดค่าซ้ำและให้เรียงเว้น 5 บรรทัด
Posted: Wed Apr 17, 2019 9:59 pm
by norkaz
สงกรานต์หยุดหลายวัน ขอแจมหน่อยครับ......
C2 คีย์
=IFERROR(INDEX($A$1:$A$148,IF((ROW(A1)-1)/5+1=INT((ROW(A1)-1)/5+1),SMALL(IFERROR(IF(MATCH($A$2:$A$147,$A$2:$A$148,0)=ROW($A$1:$A$148),ROW($A$2:$A$148)),""),(ROW(A1)-1)/5+1),"")),"")
กด Ctrl + Shift ค้างไว้ แล้วกด Enter เข้ากล Array -> Copy สูตรลงล่าง
*** ผมบังคับ IFERROR 2 ชุด เนื่องจากชุดแรก ความลึกของ Array ไม่เท่ากัน
ต่างจากของคุณ คนควน ที่ บังคับ ROW ก่อน เพื่อให้ Array มีความลึกเท่ากัน ดูคลาสสิค ดีครับ
ผมละ FREQUENCY เนื่องจากเห็นว่า การใช้ SMALL นั้นเรียง น้อยไปมากในชุดของ Array นั้นแล้ว
หลักการความลึกของ Array ที่ไม่เท่ากันจะเกิดค่า ERROR ในชุดของ Array นั้นเสมอ ฝากเป็นความรู้ให้น้องๆ หลานๆ ที่เข้ามาศึกษา เผื่อจะเป็นแนวทางในอีกมุมมอง ที่ช่วยเพิ่มความรู้ เพิ่มทักษะในการใช้ Excel มากขึ้น (หรืออาจจะ แย่ลงก็ได้ 55) .........
ลุงแก่แล้ว...ความรู้น้อย อาศัยเชิงชก พิงเชือก เต้นวนไปรอบๆเวที... 5 5
์Norkaz
Re: รบกวนขอสูตรตัดค่าซ้ำและให้เรียงเว้น 5 บรรทัด
Posted: Wed Apr 17, 2019 10:32 pm
by snasui

ยินดีที่คุณ Norkaz มาร่วมตอบ เป็นประโยชน์กับสมาชิกทุก ๆ ท่านครับ
ขอเสริมเป็นความรู้แก่สมาชิกเรื่องการใช้ Frequency กับไม่ใช้ Frequency ในกรณีนี้นะครับ
หากข้อมูลปริมาณมาก การใช้สูตรใน Form ของ
If(Match(Range,Range,0)=Row(Range),Row(Range)) เพื่อให้แสดงค่าลำดับจะกินแรงเครื่องมากกว่า
If(Frequency(Match(Range,Range,0),Row(Range)),Row(Range)) ครับ
Re: รบกวนขอสูตรตัดค่าซ้ำและให้เรียงเว้น 5 บรรทัด
Posted: Thu Apr 18, 2019 12:54 am
by norkaz
การซ้อน FREQUENCY แบบที่ คุณคนควน หรือ เพื่อนสมาชิก หรืออาจารย์ท่านอื่นๆ ในกรณีโจทย์ Excel ในกระทู้นี้ รวมไปถึง ในกรณีอื่นๆหลายๆ กรณีใน ฟอร้่มนี้ ไม่ได้ทำให้สูตรที่เขียนออกมา ดูเยิ่นเย้อแต่อย่างใด
การอธิบายถึง ประโยชน์การใช้ FREQUENCY ด้านบนของ คุณคนควน เป็นการสรุปและอธิบายได้เยี่ยมมากครับ .........
นับถือ
Norkaz
Re: รบกวนขอสูตรตัดค่าซ้ำและให้เรียงเว้น 5 บรรทัด
Posted: Thu Apr 18, 2019 2:57 am
by Bo_ry
อีกแบบ
C2
=IF(MOD(ROWS(C$2:C2)-1,5),"",INDEX(A$2:A$166,MATCH(0,INDEX(COUNTIF(C$1:C1,A$2:A$166),),))&"")
Re: รบกวนขอสูตรตัดค่าซ้ำและให้เรียงเว้น 5 บรรทัด
Posted: Thu Apr 18, 2019 6:16 am
by snasui

ขอเสริมเรื่อง Match(0,Countif...) รวมไว้ในกระทู้นี้อีกครั้ง เพื่อประโยชน์กับสมาชิกได้ทราบและใช้ให้ตรงกับงานนั้น ๆ ครับ
snasui wrote: Sun Sep 09, 2018 4:09 pm

สูตรลักษณะ
Match(0,Countif...) นี้จะมีข้อด้อยอยู่ 3 ประการครับ
- ใช้พลังประมวลผลสูง
- มีปัญหากับตัวเลขที่จัดเก็บเป็น Text เช่น 00100 และ 0000100 จะถือว่าเป็นตัวเดียวกัน
- กรณีข้อความมีเครื่องหมาย > หรือ < นำหน้าจะแสดงผลลัพธ์ผิดพลาด
Re: รบกวนขอสูตรตัดค่าซ้ำและให้เรียงเว้น 5 บรรทัด
Posted: Thu Apr 18, 2019 8:32 am
by ILoveExcel
ขอขอบคุณอาจารย์ทุกท่านมากๆ ครับ สูตรใช้ได้ตรงตามวัตถุประสงค์เลยครับ