Page 1 of 2

การหารายการซ้ำ

Posted: Sun Oct 14, 2012 9:59 pm
by pum_puy
ขอคำแนะนำด้วยครับ
ผมต้องการกำหนดพื้นที่เอาไว้ก่อนแต่มันไม่แสดงตามความต้องการ
แบบนี้จะแก้ไขอย่างไรได้บ้างครับ

ขอบคุณครับ

Re: การหารายการซ้ำ

Posted: Sun Oct 14, 2012 10:28 pm
by snasui
:D กรณีมีค่าว่างอยู่ด้วย ต้องเปลี่ยนสูตรใหม่ครับ

ลองตามนี้ครับ
  1. ที่ B1 คีย์
    =SUMPRODUCT((A2:A32<>"")/COUNTIF(A2:A32,A2:A32&""))
    Enter
  2. ที่ B2 คีย์
    =IF(ROWS($B$3:B3)>$B$1,"",INDEX($A$2:$A$32,SMALL(IF(FREQUENCY(IF($A$2:$A$32<>"",MATCH($A$2:$A$32,$A$2:$A$32,0)),ROW($A$2:$A$32)-ROW($A$2)+1),ROW($A$2:$A$32)-ROW($A$2)+1),ROWS($B$3:B3))))
    Ctrl+Shift+Enter > Copy ลงด้านล่าง

Re: การหารายการซ้ำ

Posted: Wed Oct 31, 2012 7:41 pm
by pum_puy
สอบถามเพิ่มเติมรบกวนแนะนำด้วยครับ
part numberและcustomer ให้ข้อมูลแสดงอัตโนมัติเหมือนตารางด้านบนและแยกให้ด้วยว่ามีกี่ราย
รายละเอียดตามไฟล์แนบครับ

ขอบคุณครับ

Re: การหารายการซ้ำ

Posted: Wed Oct 31, 2012 8:09 pm
by snasui
:D ลองตามนี้ครับ

เซลล์ I15 คีย่์

=SUMPRODUCT(--(LOOKUP(CHAR(255),$G$15:$G15)=$C$3:$C$26),--($H15=$B$3:$B$26),--(I$14=$A$3:$A$26),$D$3:$D$26)

Enter > Copy ไปทางขวาและลงด้านล่าง

Re: การหารายการซ้ำ

Posted: Wed Oct 31, 2012 10:04 pm
by pum_puy
สอบถามเพิ่มเติมครับ
1.ที่ G10 ผมเขียนสูตรให้หาค่าซ้ำแล้วแสดงผลแล้วที่ G22 ใช้วิธีเดียวกันได้ใช้หรือเปล่าครับ
2. ที่ช่อง Customer ต้องการให้แสดงผลอัตโนมัติเมื่อมีคำสั่งซื้อของลูกค้าใหม่มาเพิ่มก็ให้แสดงชื่อลูกค้าขึ้นมาเลย
เช่นpart_number 014302-1450 ถ้ามีลูกค้ารายใหม่เข้ามาก็ให้แสดงชื่อลูกค้า จำนวนและ กำหนดส่งในตารางเลยไม่ต้องมาพิมพ์ชื่อลูกค้าเข้าไปอีก

ขอบคุณครับ

Re: การหารายการซ้ำ

Posted: Wed Oct 31, 2012 10:46 pm
by snasui
:D ลองตามนี้ครับ
  1. เซลล์ H22 คีย์สูตร
    =LOOKUP(CHAR(255),CHOOSE({1,2},"",INDEX($B$10:$B$588,SMALL(IF(FREQUENCY(IF($B$10:$B$588<>"",MATCH($B$10:$B$588&$C$10:$C$588,$B$10:$B$588&$C$10:$C$588,0)),ROW($B$10:$B$588)-ROW($B$10)+1),ROW($B$10:$B$588)-ROW($B$10)+1),ROWS($H$22:H22)))))
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
  2. ที่ G22 คีย์สูตร
    =IF(INDEX($C$10:$C$588,SMALL(IF(FREQUENCY(IF($B$10:$B$588<>"",MATCH($B$10:$B$588&$C$10:$C$588,$B$10:$B$588&$C$10:$C$588,0)),ROW($B$10:$B$588)-ROW($B$10)+1),ROW($B$10:$B$588)-ROW($B$10)+1),ROWS($H$22:H22)))=LOOKUP(2,1/(G$21:G21<>""),G$21:G21),"",INDEX($C$10:$C$588,SMALL(IF(FREQUENCY(IF($B$10:$B$588<>"",MATCH($B$10:$B$588&$C$10:$C$588,$B$10:$B$588&$C$10:$C$588,0)),ROW($B$10:$B$588)-ROW($B$10)+1),ROW($B$10:$B$588)-ROW($B$10)+1),ROWS($H$22:H22))))
    Ctrl+Shift+Enter > Copy ลงด้านล่าง

Re: การหารายการซ้ำ

Posted: Wed Oct 31, 2012 11:41 pm
by bank9597
snasui wrote::D ลองตามนี้ครับ
  1. เซลล์ H22 คีย์สูตร
    =LOOKUP(CHAR(255),CHOOSE({1,2},"",INDEX($B$10:$B$588,SMALL(IF(FREQUENCY(IF($B$10:$B$588<>"",MATCH($B$10:$B$588&$C$10:$C$588,$B$10:$B$588&$C$10:$C$588,0)),ROW($B$10:$B$588)-ROW($B$10)+1),ROW($B$10:$B$588)-ROW($B$10)+1),ROWS($H$22:H22)))))
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
  2. ที่ G22 คีย์สูตร
    =IF(INDEX($C$10:$C$588,SMALL(IF(FREQUENCY(IF($B$10:$B$588<>"",MATCH($B$10:$B$588&$C$10:$C$588,$B$10:$B$588&$C$10:$C$588,0)),ROW($B$10:$B$588)-ROW($B$10)+1),ROW($B$10:$B$588)-ROW($B$10)+1),ROWS($H$22:H22)))=LOOKUP(2,1/(G$21:G21<>""),G$21:G21),"",INDEX($C$10:$C$588,SMALL(IF(FREQUENCY(IF($B$10:$B$588<>"",MATCH($B$10:$B$588&$C$10:$C$588,$B$10:$B$588&$C$10:$C$588,0)),ROW($B$10:$B$588)-ROW($B$10)+1),ROW($B$10:$B$588)-ROW($B$10)+1),ROWS($H$22:H22))))
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
:o :o

Re: การหารายการซ้ำ

Posted: Thu Nov 01, 2012 12:00 am
by pum_puy
เกิดปัญหาใหม่ครับ
แสดงข้อมูลไม่ครบแสดงเฉพาะลูกค้ารายแรกเท่านั้นครับก่อนหน้านี้ที่แนะนำข้อมูลถูกต้อง

รบกวนชี้แนะด้วยครับ
ขอบคุณครับ

Re: การหารายการซ้ำ

Posted: Thu Nov 01, 2012 6:53 am
by snasui
:D ลองตามนี้ครับ

เซลล์ I22 คีย่์

=SUMPRODUCT(--(LOOKUP(2,1/($G$22:$G22<>""),$G$22:$G22)=$C$3:$C$26),--($H22=$B$3:$B$26),--(I$21=$A$3:$A$26),$D$3:$D$26)

Enter > Copy ไปด้านขวาและลงด้านล่าง

Re: การหารายการซ้ำ

Posted: Thu Nov 01, 2012 3:34 pm
by คน-ควนรู
bank9597 wrote:
snasui wrote::D ลองตามนี้ครับ
  1. เซลล์ H22 คีย์สูตร
    =LOOKUP(CHAR(255),CHOOSE({1,2},"",INDEX($B$10:$B$588,SMALL(IF(FREQUENCY(IF($B$10:$B$588<>"",MATCH($B$10:$B$588&$C$10:$C$588,$B$10:$B$588&$C$10:$C$588,0)),ROW($B$10:$B$588)-ROW($B$10)+1),ROW($B$10:$B$588)-ROW($B$10)+1),ROWS($H$22:H22)))))
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
  2. ที่ G22 คีย์สูตร
    =IF(INDEX($C$10:$C$588,SMALL(IF(FREQUENCY(IF($B$10:$B$588<>"",MATCH($B$10:$B$588&$C$10:$C$588,$B$10:$B$588&$C$10:$C$588,0)),ROW($B$10:$B$588)-ROW($B$10)+1),ROW($B$10:$B$588)-ROW($B$10)+1),ROWS($H$22:H22)))=LOOKUP(2,1/(G$21:G21<>""),G$21:G21),"",INDEX($C$10:$C$588,SMALL(IF(FREQUENCY(IF($B$10:$B$588<>"",MATCH($B$10:$B$588&$C$10:$C$588,$B$10:$B$588&$C$10:$C$588,0)),ROW($B$10:$B$588)-ROW($B$10)+1),ROW($B$10:$B$588)-ROW($B$10)+1),ROWS($H$22:H22))))
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
:o :o
:lol: ซุปเปอร์อาจารย์ :lol:

Re: การหารายการซ้ำ

Posted: Fri Nov 02, 2012 11:02 pm
by biggrape
สงสัยครับ ว่า COUNTIF(A2:A32,A2:A32&"")) Criteria A2:A32&"" แปลว่าอะไร ???

Re: การหารายการซ้ำ

Posted: Fri Nov 02, 2012 11:13 pm
by snasui
:D A2:A32&"" เป็นการนำช่วงข้อมูล A2:A32 มาเชื่อมด้วยค่าว่างครับ ที่ต้องเชื่อมกับค่าว่างเพื่อที่ว่าให้นับค่าว่างเข้าไปด้วยและไม่แสดงผลการนับเป็น 0 หากไม่เชื่อมค่าว่างเข้าไปจะนับเซลล์ว่างเป็น 0 ซึ่งจะเห็นได้ว่า Countif เป็นตัวหาร และเมื่อตัวหารเป็น 0 หากเอาไปใช้ในสูตรด้านล่างคือ

=SUMPRODUCT((A2:A32<>"")/COUNTIF(A2:A32,A2:A32))

ผลลัพธ์จะได้ #Div/0! จึงต้องแก้ไขด้วยการเชื่อมค่าว่างเข้าไปเพื่อไม่ให้ติด Error ดังกล่าวครับ

Re: การหารายการซ้ำ

Posted: Mon Nov 12, 2012 8:12 pm
by pum_puy
รบกวนท่านผู้รู้แนะนำด้วยครับ
ต้องการให้แสดงข้อมูลแบบอัตโนมัติโดยที่เรากำหนดรูปแบบของตารางใส่ข้อมูลเอาไว้ก่อน

ขอบคุณครับ

Re: การหารายการซ้ำ

Posted: Mon Nov 12, 2012 8:23 pm
by snasui
:D ลองตามนี้ครับ

ที่ D15 คีย์

=IF($E15=$E$15,INDEX(list!$B$2:$B$6152,SMALL(IF(FREQUENCY(IF(list!$B$2:$B$6152<>"",MATCH(list!$B$2:$B$6152,list!$B$2:$B$6152,0)),ROW(list!$B$2:$B$6152)-ROW($D$4)+1),ROW(list!$B$2:$B$6152)-ROW($D$4)+1),COUNTIF(E$15:E15,"Delivery"))),"")

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

Re: การหารายการซ้ำ

Posted: Sat Jan 19, 2013 11:30 am
by pum_puy
ขอบคุณครับ

Re: การหารายการซ้ำ

Posted: Sat Jan 19, 2013 10:53 pm
by pum_puy
เรียนท่านผู้รู้
ต้องการหารายการซ้ำซึ้งมีข้อมูลอยู่หลาย sheetให้แสดงค่าอัตโนมัติ
ต้องหาผลรวมของแต่ละ part โดยให้ข้อมูลแสดงโดยอัตโนมัติครับ


รบกวนแนะนำด้วยครับ

Re: การหารายการซ้ำ

Posted: Sat Jan 19, 2013 11:21 pm
by snasui
:D ดูตัวอย่างที่นี่ครับ http://www.snasui.com/viewtopic.php?p=5121#p5121

ตัวอย่างอื่น ๆ เพิ่มเติม Sumif หลายชีท

การนำข้อมูล Part ในคอลัมน์ B จากหลายชีทมาทำให้เป็นค่า Unique ถ้าไม่ใช้ VBA จะค่อนข้างซับซ้อนหลายขั้นตอน โดย
  1. นำข้อมูลมาต่อกันก่อนดูตัวอย่างที่นี่ http://snasui.blogspot.com/2009/12/sheet-sheet.html
  2. หาค่าไม่ซ้ำด้วยสูตรดูตัวอย่างที่นี่ http://snasui.blogspot.com/2010/05/blog-post.html

Re: การหารายการซ้ำ

Posted: Tue Jan 22, 2013 10:46 am
by วังวู ช่ง
:o :o[/quote]
:lol: ซุปเปอร์อาจารย์ :lol:[/quote]
จิงครับ ต้องยอมรับ และนับถืครับ ในส่วนของ VBA ก่อซุปเปอร์จิงๆครับ
นับถือมากครับ

Re: การหารายการซ้ำ

Posted: Tue Jan 22, 2013 7:02 pm
by bank9597
วังวู ช่ง wrote::o :o
:lol: ซุปเปอร์อาจารย์ :lol:[/quote]
จิงครับ ต้องยอมรับ และนับถืครับ ในส่วนของ VBA ก่อซุปเปอร์จิงๆครับ
นับถือมากครับ[/quote]

Image

Re: การหารายการซ้ำ

Posted: Sun Jan 27, 2013 6:36 pm
by pum_puy
ถ้าติดปัญหาอะไรแล้วจะรบกวนอาจารย์อีกทีครับ

ขอบคุณครับ