Page 1 of 1

สอบถามการ sum โดย แยกตามกลุ่ม

Posted: Wed Aug 08, 2012 12:36 am
by orange08
คือผมดึงข้อมูลจากดาต้าเบสมาอยู่ในรูปแบบของ Excel เพื่อแก้ไข้ปรังปรุงดาต้าเบส
และแล้วก็พบว่าข้อมูลเกิดข้อผิดพลาดทั้งซ้ำซ้อนและขาดหาย หลังจากนั้นจึงทำการ ลบ แก้ไข เพิ่มในส่วนต่าง ๆ ครบถ้วนแล้วแต่
แต่ก็ติดตรงที่ว่าต้องมานั่งคำนวณใหม่หมด ทั้งหมด หลายหมื่นรายการ อยากสอบถามดังนี้ครับ
- ผมอยากใช้สูตร Sum แยกตามกลุ่มโดยใช้ Id เป็นหลักในการนับเพื่อทำการ Sum ณ ตอนนี้ที่พอจะทราบคือใช้ VBA ช่วย โดยอาศัยการวนลูปนับ มี if than else เข้ามาเกี่ยวข้อง ตรงนี้แหละครับที่ผมไม่ชำนาญอยากรบกวนผู้รู้ช่วยไขข้อสงสัยผมทีว่าผมจะทำได้ไหมครับ
ตัวอย่าง

Id ลำดับ ค่า a(ค่าที่Sum) ค่า b(ผลรวม)
201 1 12 12
201 2 6 18
201 3 10 28
202 1 5 5
202 2 7 12
202 3 12 24

ตัวอย่างจากไฟล์แนบ
Id คือ คอลัม C
ลำดับ คือ คอลัม B
ค่า a คือ คอลัม L
ค่า b คือ คอลัม N

ขอบคุณที่แวะมาอ่านครับ

Re: สอบถามการ sum โดย แยกตามกลุ่ม

Posted: Wed Aug 08, 2012 9:50 am
by joo
:D เงื่อนไขคืออะไรและคำตอบที่ถูกต้องคืออะไรครับ ดูแล้วก็เดาไม่ออกว่าต้องการคำตอบแบบไหนเลยทำตัวอย่างมาให้ดูเผื่อว่าจะตรงกับที่ต้องการครับ

Re: สอบถามการ sum โดย แยกตามกลุ่ม

Posted: Wed Aug 08, 2012 10:04 am
by snasui
:) ลองตามนี้ครับ
  1. ที่เซลล์ B2 คีย์สูตรเพื่อให้ลำดับค่า
    =COUNTIF(C$2:C2,C2)
    Enter > Copy ลงด้านล่าง
  2. ที่เซลล์ N2 คีย์สูตรเพื่อให้ยอดสะสม
    =IF(C2=C1,N(N1)+L2,L2)
    Enter > Copy ลงด้านล่าง

Re: สอบถามการ sum โดย แยกตามกลุ่ม

Posted: Wed Aug 08, 2012 10:05 am
by orange08
ขอบคุณครับที่แวะมาตอบ ต้องขอโทษด้วยที่ไม่ชัดเจนครับ
คืองี้ครับ ผมอยากสร้างเงื่อนไข ดังนี้

ให้เก็บค่า card_id ลงใน x ก่อน

Dim x As Integer
x=(คอลัม card_id)

และเข้าสูตรคำนวณ
if(x=card_id) <---- ตรงนี้เหมอนการเริ่มตรวจสอบว่า card_id เหมือนกันหรือไม่
ถ้าเหมือน if(ตรวจสอบอีกครั้งว่า seq_on =1)
กำหนดให้ bal_point = dep_point

ถ้าไม่เหมอน else
กำหนดให้ bal_point+dep_point = bal_point

ตามนี้เลยครับพอดีผมไม่ถนัดเรื่องพวกนี้ ไม่ทราบว่าใน Excel พอจะทได้ไหมครับ ขอบคุณครับ

Re: สอบถามการ sum โดย แยกตามกลุ่ม

Posted: Wed Aug 08, 2012 10:06 am
by orange08
snasui wrote::) ลองตามนี้ครับ
  1. ที่เซลล์ B2 คีย์สูตรเพื่อให้ลำดับค่า
    =COUNTIF(C$2:C2,C2)
    Enter > Copy ลงด้านล่าง
  2. ที่เซลล์ N2 คีย์สูตรเพื่อให้ยอดสะสม
    =IF(C2=C1,N(N1)+L2,L2)
    Enter > Copy ลงด้านล่าง
ขอบคุณครับอาจารย์ผมจะลองทำดูก่อนนะครับ

Re: สอบถามการ sum โดย แยกตามกลุ่ม

Posted: Wed Aug 08, 2012 10:52 am
by orange08
orange08 wrote:
snasui wrote::) ลองตามนี้ครับ
  1. ที่เซลล์ B2 คีย์สูตรเพื่อให้ลำดับค่า
    =COUNTIF(C$2:C2,C2)
    Enter > Copy ลงด้านล่าง
  2. ที่เซลล์ N2 คีย์สูตรเพื่อให้ยอดสะสม
    =IF(C2=C1,N(N1)+L2,L2)
    Enter > Copy ลงด้านล่าง
ขอบคุณครับอาจารย์ผมจะลองทำดูก่อนนะครับ

ขอบพระคุณอาจารย์มากครับ 3อาทิตย์ที่ผ่านมามันเหมือนยกภูเขาออกจากเลยครับ ขอบคุณครับ
:D :D :D :D :D :D :D :D