Page 1 of 1

แยกค่าซ้ำมาเรียง

Posted: Fri May 18, 2018 3:20 pm
by Supachok
เรียน ท่านผู้รู้

ต้องการให้แยกค่าซ้ำมาเรียงที่ Cell H15 - H21
อ้างอิง Range B:B
ผลลัพธ์ = G15 - G21

Re: แยกค่าซ้ำมาเรียง

Posted: Fri May 18, 2018 9:52 pm
by koko_excel_tip
Supachok wrote: Fri May 18, 2018 3:20 pm เรียน ท่านผู้รู้

ต้องการให้แยกค่าซ้ำมาเรียงที่ Cell H15 - H21
อ้างอิง Range B:B
ผลลัพธ์ = G15 - G21
ที่ช่อง H15 - H21 =IF(MATCH(B2:B32,B2:B32,0),B2:B32) แล้วกด Ctrl + Shift + Enter :D :D :D ตามไฟล์แนบ

Re: แยกค่าซ้ำมาเรียง

Posted: Sat May 19, 2018 7:52 am
by snasui
:D ตัวอย่างสูตรครับ

เซลล์ H15 คีย์

=IFERROR(INDEX($B$2:$B$32,SMALL(IF(FREQUENCY(IF($B$2:$B$32<>"",MATCH($B$2:$B$32,$B$2:$B$32,0)),ROW($B$2:$B$32)-ROW($B$2)+1),ROW($B$2:$B$32)-ROW($B$2)+1),ROWS(H$15:H15))),"")

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

ฟังก์ชั่น ROWS(H$15:H15) ในสูตรด้านบนให้ใช้ตามนี้ ไม่ควรเปลี่ยนเป็นเช่น Row(H1) แม้ในตอนการเขียนสูตรจะให้ผลลัพธ์เท่ากัน แต่หากมีการแทรกบรรทัดที่ 1 ฟังก์ชั่น ROWS(H$15:H15) จะยังให้คำตอบที่ถูกต้องเสมอไป ส่วน Row(H1) จะแสดงผลผิดพลาดครับ

Re: แยกค่าซ้ำมาเรียง

Posted: Sat May 19, 2018 9:17 am
by koko_excel_tip
snasui wrote: Sat May 19, 2018 7:52 am :D ตัวอย่างสูตรครับ

เซลล์ H15 คีย์

=IFERROR(INDEX($B$2:$B$32,SMALL(IF(FREQUENCY(IF($B$2:$B$32<>"",MATCH($B$2:$B$32,$B$2:$B$32,0)),ROW($B$2:$B$32)-ROW($B$2)+1),ROW($B$2:$B$32)-ROW($B$2)+1),ROWS(H$15:H15))),"")

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

ฟังก์ชั่น ROWS(H$15:H15) ในสูตรด้านบนให้ใช้ตามนี้ ไม่ควรเปลี่ยนเป็นเช่น Row(H1) แม้ในตอนการเขียนสูตรจะให้ผลลัพธ์เท่ากัน แต่หากมีการแทรกบรรทัดที่ 1 ฟังก์ชั่น ROWS(H$15:H15) จะยังให้คำตอบที่ถูกต้องเสมอไป ส่วน Row(H1) จะแสดงผลผิดพลาดครับ
อาจารย์ครับ อยากทราบว่าสูตรที่ผมลงไปมีข้อเสียอะไรมั้ยครับ เห็นได้คำตอบเหมือนกัน
=IF(MATCH(B2:B32,B2:B32,0),B2:B32) แล้วกด Ctrl + Shift + Enter
ขอบคุณมากๆครับ :thup: :thup:

Re: แยกค่าซ้ำมาเรียง

Posted: Sat May 19, 2018 9:24 am
by snasui
:D สุตรนั้นไม่ใช่สูตรเพื่อการแสดง Unique List ครับ

ลองเพิ่มช่วงข้อมูลปลายทาง เช่นจากเดิม 5 เซลล์เปลี่ยนเป็น 10 เซลล์ แล้ว Ctrl+Shift+Enter พร้อมกันใหม่แล้วดูว่าคำตอบได้ตรงกับที่ต้องการหรือไม่ครับ

อีกประการ ในการใช้สูตร Array ที่ยืดหยุ่นจะไม่เลือกใช้การคลุมขอบเขตการแสดงผลลัพธ์แล้ว Ctrl+Shift+Enter แต่จะใช้เพียงเซลล์เดียวเท่านั้น กรณีต้องการแสดงผลลัพธ์ของ Array ที่เหลือค่อยคัดลอกไปยังทิศทางที่ต้องการซึ่งทิศทางนั้นจะต้องสอดคล้องกับการคืนค่าของสูตรที่เขียนครับ

การนำค่า Unique มาแสดงด้วยสูตรมีหลายวิธี แต่ที่มีความแม่นยำที่สุดคือสูตรที่ผมตอบอยู่เสมอ ๆ เช่นการใช้ Frequency ตามกระทู้นี้ครับ

Re: แยกค่าซ้ำมาเรียง

Posted: Sat May 19, 2018 9:36 am
by koko_excel_tip
snasui wrote: Sat May 19, 2018 9:24 am :D สุตรนั้นไม่ใช่สูตรเพื่อการแสดง Unique List ครับ

ลองเพิ่มช่วงข้อมูลปลายทาง เช่นจากเดิม 5 เซลล์เปลี่ยนเป็น 10 เซลล์ แล้ว Ctrl+Shift+Enter พร้อมกันใหม่แล้วดูว่าคำตอบได้ตรงกับที่ต้องการหรือไม่ครับ

อีกประการ ในการใช้สูตร Array ที่ยืดหยุ่นจะไม่เลือกใช้การคลุมขอบเขตการแสดงผลลัพธ์แล้ว Ctrl+Shift+Enter แต่จะใช้เพียงเซลล์เดียวเท่านั้น กรณีต้องการแสดงผลลัพธ์ของ Array ที่เหลือค่อยคัดลอกไปยังทิศทางที่ต้องการซึ่งทิศทางนั้นจะต้องสอดคล้องกับการคืนค่าของสูตรที่เขียนครับ

การนำค่า Unique มาแสดงด้วยสูตรมีหลายวิธี แต่ที่มีความแม่นยำที่สุดคือสูตรที่ผมตอบอยู่เสมอ ๆ เช่นการใช้ Frequency ตามกระทู้นี้ครับ
ขอบคุณอาจารย์มากครับ :cp: :cp: :cp: