Page 1 of 1

สูตร Stock Card

Posted: Thu Jul 25, 2013 9:23 am
by lukkedjang
เรียน ทุกท่าน

ขอคำแนะนำเกี่ยวกับสูตร Stock Card โดยข้อมูลที่ดิฉันต้องการมีดังนี้

1. ชีท "ยอดคงเหลือ"

คอลัมน์ D ซื้อ→ จะใช้ข้อมูลในชีท Movement คำนวณคือ ผลรวมของจำนวน (คอลัมน์ G) ซึ่งรวมเฉพาะ ID ซื้อ (คอลัมน์ D) และตามรหัสสินค้าเท่านั้น

คอลัมน์ E เบิก→จะใช้ข้อมูลในชีท Movement คำนวณคือ ผลรวมของจำนวน (คอลัมน์ G) ซึ่งรวมเฉพาะ ID เบิก (คอลัมน์ D) และตามรหัสสินค้าเท่านั้น

คอลัมน์ F คงเหลือ→สูตรมาจาก C + D -E

2. ชีท Movement

คมลัมน์ H ต้องการใส่สูตรว่า ถ้ามียอดคงเหลือในชีท "ยอดคงเหลือ" คอลัมน์ C ให้นำยอดคงเหลือนั้นบวกกับ ID ซื้อ หัก ID เบิก ฉะนั้น On hand แต่ละบรรทัดก็จะเป็นยอดคงเหลือของแต่ละวัน

Re: สูตร Stock Card

Posted: Thu Jul 25, 2013 10:59 am
by joo
:D ลองแบบนี้ดูครับ ที่ซีท ยอดคงเหลือเซลล์ D2 คีย์ =SUMPRODUCT(--(Movement!$D$2:$D$11=D$1),--(Movement!$E$2:$E$11=$A2),Movement!$G$2:$G$11) Enter > Copy ไปทางขวาและลงล่าง

Re: สูตร Stock Card

Posted: Thu Jul 25, 2013 1:43 pm
by lukkedjang
joo wrote::D ลองแบบนี้ดูครับ ที่ซีท ยอดคงเหลือเซลล์ D2 คีย์ =SUMPRODUCT(--(Movement!$D$2:$D$11=D$1),--(Movement!$E$2:$E$11=$A2),Movement!$G$2:$G$11) Enter > Copy ไปทางขวาและลงล่าง
ขอบคุณคะ แล้วอีกชีทนึงเพราะจะแกะสูตรให้ได้หรือเปล่าคะ

Re: สูตร Stock Card

Posted: Thu Jul 25, 2013 3:55 pm
by snasui
:D การเขียนสูตรไม่ใช่การแกะสูตรครับ

การแกะสูตรคือการแปลผลหรือทำความเข้าใจสูตรที่เขียนมาแล้ว

ช่วยแสดงการคำนวณให้เห็นเป็นตัวเลขว่าชีท Movement เซลล์ H8 ยอดมาได้ด้วยการกระทำของค่าใดบ้างเพื่อจะได้เข้าใจตรงกันครับ

Re: สูตร Stock Card

Posted: Thu Jul 25, 2013 5:06 pm
by lukkedjang
snasui wrote::D การเขียนสูตรไม่ใช่การแกะสูตรครับ

การแกะสูตรคือการแปลผลหรือทำความเข้าใจสูตรที่เขียนมาแล้ว

ช่วยแสดงการคำนวณให้เห็นเป็นตัวเลขว่าชีท Movement เซลล์ H8 ยอดมาได้ด้วยการกระทำของค่าใดบ้างเพื่อจะได้เข้าใจตรงกันครับ
ขอโทษคะ ดิฉันไม่ค่อยมีความรู้เกี่ยวกับการใช้สูตรเอ็กเซลล์ ในไฟล์ที่แนบไป ชีท Movement (คอลัมน์ H) เป็นรูปแบบที่ดิฉันต้องการ ไม่รู้จะใช้สูตรอย่างไร เพราะดิฉันคำนวณจากเครื่องคิดเลขแล้วก็หยอดค่าลงไป ส่วนในชีทยอดคงเหลือดิฉันก็ใช้สูตร Vlookup ธรรมดา แต่ข้อเสียของมันคือ จะไม่สามารถดูวันใดวันหนึ่งได้ว่ายอดคงเหลือเหลือเท่าไรคะ

Re: สูตร Stock Card

Posted: Thu Jul 25, 2013 5:12 pm
by snasui
:D ที่ต้องการคือช่วยแจ้งมาว่าให้นำเซลล์ไหนมาคำนวณกับเซลล์ไหน ไม่ได้ให้เขียนสูตรครับ ทั้งนี้เพื่อจะได้ทราบกระบวนการในการคิดครับ

Re: สูตร Stock Card

Posted: Fri Jul 26, 2013 9:54 am
by lukkedjang
snasui wrote::D ที่ต้องการคือช่วยแจ้งมาว่าให้นำเซลล์ไหนมาคำนวณกับเซลล์ไหน ไม่ได้ให้เขียนสูตรครับ ทั้งนี้เพื่อจะได้ทราบกระบวนการในการคิดครับ
On-Hand เป็นยอดคงเหลือของแต่ละรายการสินค้า และของแต่ละวัน (คอลัมน์ H) = ตรวจนับจริง (ชีทยอดคงเหลือ คอลัมน์ C) + ซื้อ (ชีท Movement คอลัมน์ D) ของแต่ละเลขที่เอกสาร - เบิก (ชีท Movement คอลัมน์ D)

โดยมีข้อจำกัดว่าถ้า Filter วันที่ และ รหัสสินค้าอะไรก็ได้ 1 รายการ ไม่ว่าวันนั้นจะมีการซื้อหรือเบิกเท่าไรคอลัมน์ H (On-hand) ก็จะแสดงเป็นค่าเดียวคือ ตรวจนับจริง (ชีทยอดคงเหลือ คอลัมน์ C) + ซื้อ (ชีท Movement คอลัมน์ D) ของแต่ละเลขที่เอกสาร - เบิก (ชีท Movement คอลัมน์ D) ของแต่ละเลขที่เอกสาร

ขอบคุณคะ

Re: สูตร Stock Card

Posted: Fri Jul 26, 2013 11:32 am
by snasui
snasui wrote:ช่วยแสดงการคำนวณให้เห็นเป็นตัวเลขว่าชีท Movement เซลล์ H8 ยอดมาได้ด้วยการกระทำของค่าใดบ้างเพื่อจะได้เข้าใจตรงกันครับ
:D ลองอธิบายมาตามที่ผมถามตามที่ยกมาด้านบนเพื่อจะได้อ้างอิงกันได้ครับ

Re: สูตร Stock Card

Posted: Fri Jul 26, 2013 11:52 am
by lukkedjang
ขอบคุณคะ

ดิฉันใส่สูตรง่ายๆ ตามที่ต้องการ รายละเอียดตามไฟล์ที่แนบคะ

Re: สูตร Stock Card

Posted: Fri Jul 26, 2013 5:13 pm
by snasui
:D ที่ชีท Movement เซลล์ H2 คีย์สูตรตามด้านล่างครับ

=IF(D2="ซื้อ",SUMIF(ยอดคงเหลือ!$A$3:$A$9,E2,ยอดคงเหลือ!$C$3:$C$9)+G2,SUMIFS($H$2:$H$11,$D$2:$D$11,"ซื้อ",$E$2:$E$11,E2)-SUMIFS($G$2:$G$11,$D$2:$D$11,"เบิก",$E$2:$E$11,E2))

Enter > Copy ลงด้านล่าง

Re: สูตร Stock Card

Posted: Sat Jul 27, 2013 7:57 am
by lukkedjang
snasui wrote::D ที่ชีท Movement เซลล์ H2 คีย์สูตรตามด้านล่างครับ

=IF(D2="ซื้อ",SUMIF(ยอดคงเหลือ!$A$3:$A$9,E2,ยอดคงเหลือ!$C$3:$C$9)+G2,SUMIFS($H$2:$H$11,$D$2:$D$11,"ซื้อ",$E$2:$E$11,E2)-SUMIFS($G$2:$G$11,$D$2:$D$11,"เบิก",$E$2:$E$11,E2))

Enter > Copy ลงด้านล่าง
ขอบคุณมากๆ นะคะ

Re: สูตร Stock Card

Posted: Mon Jul 29, 2013 12:43 pm
by lukkedjang
เรียน อาจารย์

ดิฉันนำสูตรที่อาจารย์เขียนให้มาประยุกต์ใช้กับไฟล์งานจริง โดยสูตรของอาจารย์ - เบิก แต่ดิฉันเปลี่ยนเป็น + (เนื่องจาก User ของเปลี่ยนแปลงข้อมูลว่าถ้าเบิกจะคีย์เครื่องหมายติดลบ)
แต่ข้อมูลไม่ถูกต้อง เนื่องจากดิฉันลองมาตรวจสอบรหัสสินค้า S101 ณ วันที่ 30-06-56 มียอดคงเหลือ 15 ชิ้น วันที่ 1 ซื้อมา 5 ชิ้น และเบิก 1 ชิ้น ยอด On-hand ณ วันที่ 1-07-56 ต้องเท่ากับ 19 ชิ้น วันที่ 2-07-56 On-hand ต้องเท่ากับ 13 ชิ้น

รบกวนอาจารย์ช่วยดูสูตรให้หน่อยนะคะ

ขอบคุณคะ

Re: สูตร Stock Card

Posted: Mon Jul 29, 2013 7:29 pm
by snasui
:D ลองตามนี้ครับ

ปรับสูตรที่ G3 เป็น

=IF([@ID]="ซื้อ",SUMIF('2-Stock Balance'!$E$4:$E$10,[@รหัสสินค้า],'2-Stock Balance'!$K$4:$K$10)+[@จำนวน],SUMIFS([On-hand],[ID],"ซื้อ",[รหัสสินค้า],[@รหัสสินค้า])+SUMIFS([จำนวน],[ID],"เบิก",[รหัสสินค้า],[@รหัสสินค้า]))

Enter