Page 1 of 1

ขอทราบวิธีนับข้อมูลที่ไม่ซ้ำแบบมีเงื่อนไขโดยเงื่อนไขอยู่คนละ

Posted: Wed Nov 14, 2012 11:23 pm
by DhitiBank
สวัสดีทุกคนครับ
ผมขอคำแนะนำหน่อยครับ ผมมีข้อมูลการขายของเซลส์แต่ละคนและในแต่ละวันที่ส่ง (สนใจคอลัมน์ B วันส่ง, คอลัมน์ D รหัสลูกค้า, คอลัมน์ E รหัสเซลส์ และคอลัมน์ F ยอดซื้อ) จะมีวิธีเขียนสูตรในเซล J3 ถึง P8 อย่างไรเพื่อให้นับจำนวนร้านค้าโดยแยกตามเซลส์และตามวันที่ส่งครับ ซึ่งคอลัมน์ร้านค้าก็จะมีรหัสซ้ำๆ กันแต่จะไม่เหมือนกันในแต่ละเซลส์
(ปกติที่ทำคือ ผมมานั่งคัดลอกข้อมูลในแต่ละวันและแต่ละเซลส์ แล้วก็ใช้สูตร sumproduct ที่ได้จาก อ.คนควน แล้วก็เอาค่าที่ได้ไปใส่ในตารางอีกทีครับ)
http://upic.me/i/4n/2012-11-14_222330.jpg

แล้วก็ รบกวนอีกเรื่องหนึ่งครับ ผมลองใส่สูตรรวมยอดในคอลัมน์ Q ถึง W โดยใช้ sumifs แต่ไม่แน่ใจว่าจะเปิดใน Excel 2003 ได้หรือไม่ ขอคำแนะนำหน่อยครับ
http://upic.me/i/vs/2012-11-14_222902.jpg

Re: ขอทราบวิธีนับข้อมูลที่ไม่ซ้ำแบบมีเงื่อนไขโดยเงื่อนไขอยู่

Posted: Wed Nov 14, 2012 11:33 pm
by snasui
:D ฟอรัมนี้สามารถแนบภาพได้ ให้แนบมาที่นี่เลย ควรแนบไฟล์ตัวอย่างมาด้วยเพื่อเพื่อน ๆ จะได้สะดวกในการให้คำแนะนำครับ

Re: ขอทราบวิธีนับข้อมูลที่ไม่ซ้ำแบบมีเงื่อนไขโดยเงื่อนไขอยู่

Posted: Wed Nov 14, 2012 11:42 pm
by DhitiBank
ครับอาจารย์ ผมทำไม่เป็นเมื่อสักครู่นี้ลองอัพโหลดไฟล์ (500k กว่าๆ) ขึ้นข้อความเตือนว่าขนาดเกิน เดี๋ยวจะลองตัดที่จำเป็นแล้วอัพใหม่ครับ...
อ้า... อัพได้แล้ว

Re: ขอทราบวิธีนับข้อมูลที่ไม่ซ้ำแบบมีเงื่อนไขโดยเงื่อนไขอยู่

Posted: Thu Nov 15, 2012 8:46 am
by joo
:D ลองแบบนี้ดูครับว่าตรงกับที่ต้องการไหมที่ J3 คีย์ =SUMPRODUCT(--($I3=$B$2:$B$1715),--(J$2=$E$2:$E$1715))Enter > Copy ไปทางขวาและลงด้านล่าง

Re: ขอทราบวิธีนับข้อมูลที่ไม่ซ้ำแบบมีเงื่อนไขโดยเงื่อนไขอยู่

Posted: Thu Nov 15, 2012 9:13 am
by DhitiBank
joo wrote::D ลองแบบนี้ดูครับว่าตรงกับที่ต้องการไหมที่ J3 คีย์ =SUMPRODUCT(--($I3=$B$2:$B$1715),--(J$2=$E$2:$E$1715))Enter > Copy ไปทางขวาและลงด้านล่าง
ขอบคุณครับคุณ joo
ผมลองคีย์ดูได้เลข 162 ตัวเลขที่ออกมาจะนับรวมร้านทั้งหมด (รวมรหัสซ้ำ) ซึ่งในวันที่ 27 เซลส์ 11 ได้จำนวนร้านเพียง 14 ร้านครับ
คอลัมน์ D (รหัสลูกค้า) เป็นแบบนี้ครับ คือว่า ผมดึงข้อมูลมาจากใบจองสินค้า ซึ่งใบจองแต่ละใบจะมีรายการสินค้าหลายรายการ พอดึงออกมาเป็น excel แล้วแต่ละแถวจะมีข้อมูลสินค้า 1 รายการ สมมติใบจองลูกค้ารหัส 10000 จองสินค้าไว้ 10 รายการในวันที่ 27 ก็จะมีรหัส 10000 ของวันที่ 27 อยู่ 10 แถวครับ

Re: ขอทราบวิธีนับข้อมูลที่ไม่ซ้ำแบบมีเงื่อนไขโดยเงื่อนไขอยู่

Posted: Thu Nov 15, 2012 10:24 am
by bank9597
DhitiBank wrote:
joo wrote::D ลองแบบนี้ดูครับว่าตรงกับที่ต้องการไหมที่ J3 คีย์ =SUMPRODUCT(--($I3=$B$2:$B$1715),--(J$2=$E$2:$E$1715))Enter > Copy ไปทางขวาและลงด้านล่าง
ขอบคุณครับคุณ joo
ผมลองคีย์ดูได้เลข 162 ตัวเลขที่ออกมาจะนับรวมร้านทั้งหมด (รวมรหัสซ้ำ) ซึ่งในวันที่ 27 เซลส์ 11 ได้จำนวนร้านเพียง 14 ร้านครับ
คอลัมน์ D (รหัสลูกค้า) เป็นแบบนี้ครับ คือว่า ผมดึงข้อมูลมาจากใบจองสินค้า ซึ่งใบจองแต่ละใบจะมีรายการสินค้าหลายรายการ พอดึงออกมาเป็น excel แล้วแต่ละแถวจะมีข้อมูลสินค้า 1 รายการ สมมติใบจองลูกค้ารหัส 10000 จองสินค้าไว้ 10 รายการในวันที่ 27 ก็จะมีรหัส 10000 ของวันที่ 27 อยู่ 10 แถวครับ
:D
ที่ G2 คีย์ =IF(COUNTIF($B2:$B2,B3),IF(COUNTIF($D2:$D2,D3),IF(COUNTIF($E2:$E2,E3)=1,0))) คัดลอกลงมา
ที่ J3 คีย์ =SUMPRODUCT(--($B$2:$B$1715=$I3),--($E$2:$E$1715=J$2),--($G$2:$G$1715=FALSE)) คัดลอกไปทางขวา แล้วลงล่างพร้อมกัน
sumifs แต่ไม่แน่ใจว่าจะเปิดใน Excel 2003 ได้หรือไม่ ขอคำแนะนำหน่อยครับ
สูตร Sumifs ไม่สามารถใช้กับ 2003 ได้ครับ ต้องใช้ Sumproduct หรือ Sum(if เท่านั้น

Re: ขอทราบวิธีนับข้อมูลที่ไม่ซ้ำแบบมีเงื่อนไขโดยเงื่อนไขอยู่

Posted: Thu Nov 15, 2012 11:21 am
by bank9597
:D
แก้ไขอีกนิดครับ
สูตร =IF(COUNTIF($B2:$B2,B3),IF(COUNTIF($D2:$D2,D3),IF(COUNTIF($E2:$E2,E3)=1,0))) ยังมีโอกาสผิด ในกรณีที่ข้อมูลกระจัดกระจาย
ให้เปลี่ยนเป็น ดังนี้
ที่ G2 คีย์ =IF(COUNTIF($B$2:$B2,B3),IF(COUNTIF($D$2:$D2,D3),IF(COUNTIF($E$2:$E2,E3)>1,0,1))) คัดลอกลงมา

Re: ขอทราบวิธีนับข้อมูลที่ไม่ซ้ำแบบมีเงื่อนไขโดยเงื่อนไขอยู่

Posted: Thu Nov 15, 2012 11:41 am
by DhitiBank
โอ้ ขอบคุณคุณ bank9597 มากครับ เดี๋ยวกลับบ้านแล้วจะลองดูครับ
ขอบคุณคุณ joo ด้วยนะครับ

Re: ขอทราบวิธีนับข้อมูลที่ไม่ซ้ำแบบมีเงื่อนไขโดยเงื่อนไขอยู่

Posted: Thu Nov 15, 2012 12:05 pm
by joo
:D ลองแบบนี้ดูอีกวิธีครับที่ J3 คีย์ =SUM(IF(FREQUENCY(IF($B$2:$B$1715=$I3,IF($E$2:$E$1715=J$2,MATCH($C$2:$C$1715,$C$2:$C$1715,0))),ROW($C$2:$C$1715)-ROW($C$2)+1),1))
กด Ctrl+Shift+Enter พร้อมกันแล้วคัดลอกไปทางขวาและลงด้านล่าง

Re: ขอทราบวิธีนับข้อมูลที่ไม่ซ้ำแบบมีเงื่อนไขโดยเงื่อนไขอยู่

Posted: Thu Nov 15, 2012 2:43 pm
by DhitiBank
joo wrote::D ลองแบบนี้ดูอีกวิธีครับที่ J3 คีย์ =SUM(IF(FREQUENCY(IF($B$2:$B$1715=$I3,IF($E$2:$E$1715=J$2,MATCH($C$2:$C$1715,$C$2:$C$1715,0))),ROW($C$2:$C$1715)-ROW($C$2)+1),1))
กด Ctrl+Shift+Enter พร้อมกันแล้วคัดลอกไปทางขวาและลงด้านล่าง
:shock: ... สูตร array สินะครับ เดี๋ยวจะลองดูครับ... ถ้าไม่รบกวนเกินไป ผมขอคำอธิบายหน่อยได้ไหมครับ (สูตรดึงข้อมูลซ้ำที่ใช้กับวันที่ในเอกสารผมยังงงอยู่เลย ได้แต่ขอลอกมาใช้ก่อน)
ขอบคุณมากครับ

Re: ขอทราบวิธีนับข้อมูลที่ไม่ซ้ำแบบมีเงื่อนไขโดยเงื่อนไขอยู่

Posted: Sun Nov 18, 2012 10:12 am
by snasui
:D ความหมายของสูตร

=SUM(IF(FREQUENCY(IF($B$2:$B$1715=$I3,IF($E$2:$E$1715=J$2,MATCH($C$2:$C$1715,$C$2:$C$1715,0))),ROW($C$2:$C$1715)-ROW($C$2)+1),1))

หมายความว่าให้รวมยอดโดย ถ้า FREQUENCY(IF($B$2:$B$1715=$I3,IF($E$2:$E$1715=J$2,MATCH($C$2:$C$1715,$C$2:$C$1715,0))),ROW($C$2:$C$1715)-ROW($C$2)+1) เป็นจริงแล้วให้มีค่าเป็น 1 จากนั้นจะรวมว่ามีค่า 1 อยู่กี่ตัว

จากสูตร FREQUENCY(IF($B$2:$B$1715=$I3,IF($E$2:$E$1715=J$2,MATCH($C$2:$C$1715,$C$2:$C$1715,0))),ROW($C$2:$C$1715)-ROW($C$2)+1) มีความหมายว่าเมื่อเทียบ IF($B$2:$B$1715=$I3,IF($E$2:$E$1715=J$2,MATCH($C$2:$C$1715,$C$2:$C$1715,0))) กับ ROW($C$2:$C$1715)-ROW($C$2)+1 แล้วมีความถี่แตะละค่า (จำนวนครั้งที่เกิดขึ้น) เป็นเท่าใด ดูเพิ่มเติมที่นี่ครับ http://www.snasui.com/viewtopic.php?f=3&t=2221

จากสูตร IF($B$2:$B$1715=$I3,IF($E$2:$E$1715=J$2,MATCH($C$2:$C$1715,$C$2:$C$1715,0))) มีความหมายว่า หาก $B$2:$B$1715=$I3 เป็นจริงแล้วให้นำผลลัพธ์ของ IF($E$2:$E$1715=J$2,MATCH($C$2:$C$1715,$C$2:$C$1715,0)) มาแสดง

จากสูตร IF($E$2:$E$1715=J$2,MATCH($C$2:$C$1715,$C$2:$C$1715,0)) หมายความว่า หาก $E$2:$E$1715=J$2 เป็นจริงให้นำผลลัพธ์ของ MATCH($C$2:$C$1715,$C$2:$C$1715,0) มาแสดง

จากสูตร ROW($C$2:$C$1715)-ROW($C$2)+1 เป็นการให้ค่าลำดับ อ่านได้จากที่นี่ครับ http://www.snasui.com/viewtopic.php?p=17983#p17983

Re: ขอทราบวิธีนับข้อมูลที่ไม่ซ้ำแบบมีเงื่อนไขโดยเงื่อนไขอยู่

Posted: Sun Nov 18, 2012 10:02 pm
by DhitiBank
ขอบคุณ อ.คนควน มากครับสำหรับคำอธิบาย ผมคงต้องอ่านอีกหลายรอบกว่าจะเข้าใจละครับ
ในทางปฏิบัติ ผมขอใช้วิธีของคุณ bank นะครับ เพราะข้อมูลมีหลายพันแถว หากใช้สูตร array จะใช้เวลาคำนวณนานพอดู เครื่องผมไม่ค่อยแรงครับ
ขอบคุณทุกคนอีกครั้งครับ