Page 1 of 1

ต้องการดึง Cost มาแสดงแบบ FIFO

Posted: Tue Aug 25, 2020 10:37 am
by parakorn
เรียนอาจารย์ และ เพื่อนสมาชิกทุกท่านครับ


เนื่องจากต้องการ ดึง Cost ของสินค้ามาแสดง แบบ FIFO
โดยเมื่อเราขายสินค้าหมดล็อตแล้ว ให้เปลี่ยนเป็น Cost ของล็อตต่อไป
และหากใน รายการนั้นมีสสินค้าของทั้งล็อตเก่าและใหม่ให้ทำการทำ Cost เก่าและใหม่ มา Avg ครับ
รายละเอียดตามรูปที่แนบและ ไฟล์ที่แนบครับ

Re: ต้องการดึง Cost มาแสดงแบบ FIFO

Posted: Tue Aug 25, 2020 8:23 pm
by snasui
:D ดูแล้วยังไม่ค่อยเข้าใจครับ

ต้องการคำตอบที่เซลล์ใด แสดงเป็นค่าเท่าใดบ้าง ช่วยอธิบายมาอีกรอบครับ

Re: ต้องการดึง Cost มาแสดงแบบ FIFO

Posted: Tue Aug 25, 2020 10:18 pm
by parakorn
snasui wrote: Tue Aug 25, 2020 8:23 pm :D ดูแล้วยังไม่ค่อยเข้าใจครับ

ต้องการคำตอบที่เซลล์ใด แสดงเป็นค่าเท่าใดบ้าง ช่วยอธิบายมาอีกรอบครับ
เรียนอาจารย์ครับ
ผลลัพท์ที่ต้องการ คือ Column D ครับ
ข้อมูล ฝั่งขวาคือ Tranfer In ที่เข้ามาซึ่งแต่ละ Lot ต้นทุนจะต่างกันครับ
หลังจากนั้นจะเกิด Sales คือข้อมูลฝั่งซ้าย ซึ่งเป็นข้อมูลแต่ละบิล
ประเด็นคือต้องการ Cost สินค้าของบิลนั้นๆ

เช่น

สินค้า บาร์โค้ด 8856153242413 มีเข้ามา 2 Lot
Lot แรกต้นทุน 73.8 บาท เข้ามา 1 ชิ้น
Lot 2 ต้นทุน 74.8 บาท เข้ามา 2 ชิ้น

ดังนั้นข้อมูลการขายทางซ้าย เมื่อขายได้ 1 ชิ้นก็จะเป็นต้นทุนแรก และถือว่าสินค้า Lot แรกหมด
พอขาย รายการใหม่ ก็จะเป็นต้นทุนใหม่ครับ ซึ่งถ้าเข้ามาหลายล็อตก็จะ Accu ไปเรื่อยๆ และตัด Lot ไปเรื่อยๆ

ประเด็นคือมันมีบางครั้ง ถ้าในบิลนั้น มีการขายสินค้า 2 Lot ในรายการเดียว
จำเป็นต้องเป็น Cost ที่คำนวณตามจำนวนสินค้า Lot ใคร Lot มันครับ ถ้า Sum Cost ออกมาจะต้องตรงกับ Total Cost
ของแต่ละรายการ

เช่น

สมมติ สินค้า บาร์โค้ด 8853474038992 มีเข้ามา 2 Lot
Lot แรก ต้นทุน 185 บาท เข้ามา 1 ชิ้น
Lot 2 ต้นทุน 200 บาท เข้ามา 2 ชิ้น

สมมติขาย บิลเดียวกัน 3 ชิ้นเลย ผลลัพท์ที่ต้องการก็คือ 195 ซึ่งเกิดจาก (185+200+200)/3 ประมาณนี้ครับ

Re: ต้องการดึง Cost มาแสดงแบบ FIFO

Posted: Wed Aug 26, 2020 8:01 am
by snasui
:D การตัด Stock ด้วยวิธีต่าง ๆ คงต้องพึ่ง VBA ลองดูตัวอย่างของ Code ของ jindon ที่นี่ครับ https://www.mrexcel.com/board/threads/i ... st.167756/

Re: ต้องการดึง Cost มาแสดงแบบ FIFO

Posted: Wed Aug 26, 2020 10:24 am
by parakorn
snasui wrote: Wed Aug 26, 2020 8:01 am :D การตัด Stock ด้วยวิธีต่าง ๆ คงต้องพึ่ง VBA ลองดูตัวอย่างของ Code ของ jindon ที่นี่ครับ https://www.mrexcel.com/board/threads/i ... st.167756/
ขอบคุณอาจารย์ครับ :D :D

Re: ต้องการดึง Cost มาแสดงแบบ FIFO

Posted: Wed Aug 26, 2020 12:36 pm
by Bo_ry
E4
=SUM({-1,1}/B4*TEXT(C4-B4*{1,0}-MMULT(--(ROW($I$4:$I$10)>TRANSPOSE(ROW($I$4:$I$10))),($H$4:$H$10=A4)*$I$4:$I$10),"0;\0;0")*MMULT(IFERROR(INDEX($J$4:$J$10,N(IF({1,0},LOOKUP(ROW($J$4:$J$10),ROW($J$4:$J$10)/($H$4:$H$10=A4))-ROW($J$3),LOOKUP(ROW($J$3:$J$9),ROW($J$3:$J$9)/($H$3:$H$9=A4))-ROW($J$3)))),),{1;-1}))

Ctrl+Shift+Enter

Re: ต้องการดึง Cost มาแสดงแบบ FIFO

Posted: Wed Aug 26, 2020 2:49 pm
by parakorn
Bo_ry wrote: Wed Aug 26, 2020 12:36 pm E4
=SUM({-1,1}/B4*TEXT(C4-B4*{1,0}-MMULT(--(ROW($I$4:$I$10)>TRANSPOSE(ROW($I$4:$I$10))),($H$4:$H$10=A4)*$I$4:$I$10),"0;\0;0")*MMULT(IFERROR(INDEX($J$4:$J$10,N(IF({1,0},LOOKUP(ROW($J$4:$J$10),ROW($J$4:$J$10)/($H$4:$H$10=A4))-ROW($J$3),LOOKUP(ROW($J$3:$J$9),ROW($J$3:$J$9)/($H$3:$H$9=A4))-ROW($J$3)))),),{1;-1}))

Ctrl+Shift+Enter
ขอบคุณครับคุณ Bo :shock: :shock: