Page 1 of 1

ต้องการแยกจำนวน Lot สินค้าที่ขายตามเลขที่ Sale Order เป็นตาร

Posted: Wed Mar 30, 2011 5:08 pm
by kreang
สวัสดีครับ มีโจทย์ยากๆรบกวน ผมพยายามมา 2 สัปดาห์แล้วไม่สำเร็จครับ (ค่อนข้างยาก)

คือผมมีข้อมูลขายสินค้า 1 Invoice มีอยู่หลาย Lot ครับ และ Invoice นี้ ต้องขายด้วยหลายเลขที่ Sale Order
ซึ่งแต่ละ Sale Order มีจำนวนต่างกัน (โปรดดูจากตัวอย่างไฟล์ Excel ที่แนบมานะครับ)

ผมต้องการแยกจำนวน Lot ที่ต้องการขายตาม Sale Order โดยเริ่มจาก Sale Order column E
ซึ่งจะดึงยอด Lot จาก Row 5 ลงมาจนได้จำนวนครบ แล้วจึงไปตัด Sale Order column F ต่อไปจนครบครับ

รบกวนช่วยชี้ทางสว่างให้ด้วยครับ ขอบคุณมากครับ :oops:

ปล. คำตอบไม่จำเป็นต้องเป็นตารางที่ว่าก็ได้นะครับ
แค่เป็น column บอกว่า Sale Order นี้ต้อง Lot ไหน ยอดแต่ละ Lot เท่าไหร่ก็ได้ครับ

Re: ต้องการแยกจำนวน Lot สินค้าที่ขายตามเลขที่ Sale Order เป็

Posted: Wed Mar 30, 2011 5:22 pm
by kreang
ไฟล์ล่างนี้คือที่ผมพยายามทำครับ
พอมันซ้อนๆ กันหลายชั้น ผมเลยมึนไปเลย ไม่รู้จะแก้ตรงไหน :flw:

รบกวนด้วยครับ

Re: ต้องการแยกจำนวน Lot สินค้าที่ขายตามเลขที่ Sale Order เป็

Posted: Wed Mar 30, 2011 10:29 pm
by kmb
:D ที่เซลล์ E5 ใส่สูตร
=IF(SUM($D$5:$D5)<=E$4,$D5,E$4-SUM($E4:$E$5))
copy ลงด้านล่าง

ที่เซลล์ F5 ใส่สูตร
=IF(SUM($E5:E5)=$D5,0,IF(SUM(F4:F$5)+$D5-SUM($E5:E5)<=F$4,$D5-SUM($E5:E5),IF(F$4-SUM(F4:F$5)-$D5<0,F$4-SUM(F4:F$5),0)))
copy ลงด้านล่างและด้านขวา

ดูตามไฟล์แนบครับ :mrgreen:

Re: ต้องการแยกจำนวน Lot สินค้าที่ขายตามเลขที่ Sale Order เป็

Posted: Thu Mar 31, 2011 4:24 am
by kreang
:o ขอบคุณมากครับ คุณ kmb

เมื่อสักครู่ทดลองโดยเปลี่ยนค่าหลายๆค่าดู
พบว่าหากที่ Cell E4 เป็น 100 พบปัญหากับสูตรครับ
ขึ้น "Circular Reference Warning" แล้วค่า E6 ได้ค่าติดลบ (-) ครับ

ตามไฟล์ที่แนบ

Re: ต้องการแยกจำนวน Lot สินค้าที่ขายตามเลขที่ Sale Order เป็

Posted: Thu Mar 31, 2011 9:15 am
by kmb
kmb wrote::D ที่เซลล์ E5 ใส่สูตร
=IF(SUM($D$5:$D5)<=E$4,$D5,E$4-SUM($E4:$E$5))
copy ลงด้านล่าง

:D ลองเปลี่ยนสูตรเป็นตามนี้ครับ
=IF(SUM($D$5:$D5)<=E$4,$D5,IF(ROW()=5,E$4,E$4-SUM(OFFSET($E$5,0,0,ROW()-5,1))))


ที่เซลล์ F5 ใส่สูตร
=IF(SUM($E5:E5)=$D5,0,IF(SUM(F4:F$5)+$D5-SUM($E5:E5)<=F$4,$D5-SUM($E5:E5),IF(F$4-SUM(F4:F$5)-$D5<0,F$4-SUM(F4:F$5),0)))
copy ลงด้านล่างและด้านขวา

เปลี่ยนเป็น
=IF(SUM($E5:E5)=$D5,0,IF(IF(ROW()=5,0,SUM(OFFSET(F$5,0,0,ROW()-5,1)))+$D5-SUM($E5:E5)<=F$4,$D5-SUM($E5:E5),IF(F$4-IF(ROW()=5,0,SUM(OFFSET(F$5,0,0,ROW()-5,1)))-$D5<0,F$4-IF(ROW()=5,0,SUM(OFFSET(F$5,0,0,ROW()-5,1))),0)))

และที่ขึ้น "Circular Reference Warning" เป็นความผิดพลาดของผมเองครับ สูตรใหม่แก้ไขแล้ว
:tt:

ดูตามไฟล์แนบครับ :mrgreen:

Re: ต้องการแยกจำนวน Lot สินค้าที่ขายตามเลขที่ Sale Order เป็

Posted: Thu Mar 31, 2011 2:53 pm
by kreang
ขอบคุณมากๆ ครับ :idea:

Re: ต้องการแยกจำนวน Lot สินค้าที่ขายตามเลขที่ Sale Order เป็

Posted: Thu Mar 31, 2011 10:09 pm
by kmb
เพิ่มคำอธิบายฟังก์ชั่น Offset ให้ครับ :D

http://snasui.blogspot.com/2009/03/offset.html