ร้านค้าส่งส่วนใหญ่เริ่มคุมสต็อกจากสมุดหรือไฟล์ Excel ที่มีคอลัมน์ รับ จ่าย คงเหลือ ปัญหาเริ่มเมื่อของเข้ามาเป็นลัง ขายออกเป็นแพ็ก และร้านเล็กขอซื้อเป็นชิ้น ตัวเลขในไฟล์จึงบวกลบกันไม่ลง และทีมจึงตรวจได้ยากว่า ของยังเหลือเท่าไรจริง ๆ
บทความนี้มีไฟล์ Excel สต็อกสินค้าให้ดาวน์โหลดฟรี ไม่ต้องกรอกฟอร์ม ใช้กับ Google Sheets ได้ และอธิบายว่าแต่ละชีตทำงานอย่างไร สูตรไหนทำอะไร เพื่อให้ปรับใช้กับสินค้าของตัวเองได้
ไฟล์สต็อกสินค้าต้องเก็บอะไรบ้าง
ตารางสต็อกสินค้าที่ใช้ได้นาน ไม่ได้เริ่มจากสูตร แต่เริ่มจากการตกลงว่าจะเก็บข้อมูลอะไร และเก็บในหน่วยไหน ข้อมูลที่ร้านค้าส่งต้องมีอย่างน้อยคือ
สินค้า
รหัสและชื่อสินค้า หนึ่งรหัสต่อหนึ่งสินค้า ห้ามใช้รหัสซ้ำ เพราะทุกสูตรค้นจากรหัส
หน่วยฐาน
หน่วยเล็กที่สุดที่ขายหรือนับ เช่น ขวด ซอง ก้อน ทุกยอดในไฟล์เก็บเป็นหน่วยนี้
บันไดหน่วย
1 แพ็กกี่หน่วยฐาน 1 ลังกี่หน่วยฐาน เช่น น้ำดื่ม 1 แพ็ก 6 ขวด 1 ลัง 24 ขวด
รับเข้า
ของเข้าจากผู้ขายหรือโรงงาน บันทึกพร้อมเลขที่ใบรับของ
จ่ายออก (ขาย)
ของออกตามบิลขาย ทั้งหน้าร้าน ส่งร้านค้า และขายออนไลน์
คืน
ของที่ร้านค้าส่งคืนแล้วนำกลับเข้าสต็อกได้
ปรับยอด
ยอดยกมา ของแตก ของหาย หรือผลต่างจากการนับ ใส่ค่าบวกหรือลบ
คงเหลือและจุดสั่งซื้อ
ยอดคงเหลือจากรายการที่บันทึก และระดับที่ควรสั่งของเพิ่ม
ข้อสำคัญคือ อย่าเขียนทับยอดคงเหลือ ไฟล์ที่มีแค่ช่องคงเหลือแล้วแก้ตัวเลขทุกครั้งที่ของเข้าออก จะไม่มีทางย้อนดูได้ว่ายอดผิดตั้งแต่เมื่อไร ให้บันทึกทุกการเคลื่อนไหวเป็นแถวใหม่ แล้วให้สูตรรวมยอดเอง ระบบสต็อกก็ทำงานแบบเดียวกัน คือมีสมุดรายการเคลื่อนไหว และยอดคงเหลือเป็นผลรวมของสมุดนั้น
ดาวน์โหลดไฟล์ Excel สต็อกสินค้า
ไฟล์ Excel สต็อกสินค้า สำหรับร้านค้าส่ง5 ชีต สูตรครบ มีสินค้าตัวอย่าง 7 รายการและความเคลื่อนไหวตัวอย่างหนึ่งเดือน ลบแถวตัวอย่างแล้วใส่สินค้าของคุณได้เลย (ไฟล์ .xlsx ขนาดประมาณ 110 KB)
ดาวน์โหลดไฟล์ Excelในไฟล์มี 5 ชีต เรียงตามลำดับที่ใช้งาน
- วิธีใช้ สรุปขั้นตอนสั้น ๆ ช่องสีครีมคือช่องที่กรอกเอง ช่องสีเทาเป็นสูตร
- คงเหลือ ยอดคงเหลือของทุกสินค้า แสดงเป็นลัง แพ็ก และเศษ พร้อมยอดขายเฉลี่ยต่อวัน จุดสั่งซื้อ และป้ายต้องสั่ง
- สินค้า รหัส ชื่อ หน่วยฐาน บันไดหน่วย ระยะรอของ และสต็อกกันชน รองรับ 200 รายการ
- ความเคลื่อนไหว สมุดบันทึกของเข้าออก มีรายการให้เลือกประเภทและหน่วย รองรับ 500 แถว
- นับสต็อก กรอกยอดที่นับได้ ไฟล์เทียบกับยอดในบันทึกและบอกผลต่าง

วิธีใช้ไฟล์ทีละชีต
- ตั้งสินค้าในชีตสินค้า
ใส่รหัส ชื่อ และหน่วยฐาน แล้วใส่ว่า 1 แพ็กและ 1 ลังเท่ากับกี่หน่วยฐาน สินค้าที่ไม่มีแพ็กให้เว้นว่าง เช่น น้ำปลา 1 ลัง 12 ขวด ไม่มีแพ็ก ใส่ระยะรอของ คือจำนวนวันตั้งแต่สั่งจนของมาถึง และสต็อกกันชนที่อยากมีเผื่อไว้
- นับของจริงเพื่อตั้งยอดยกมา
วันแรกที่ใช้ไฟล์ นับของในคลังทั้งหมด แล้วบันทึกในชีตความเคลื่อนไหวเป็นประเภทปรับยอด สินค้าละหนึ่งแถว เช่น น้ำดื่ม 40 ลัง ยอดยกมาไม่ใช่การรับเข้า จึงไม่ปนกับของที่ซื้อเข้าจริง
- บันทึกทุกการเคลื่อนไหว
ของเข้า ขาย คืน หรือปรับยอด บันทึกหนึ่งแถว เลือกประเภทและหน่วยจากรายการ ใส่จำนวนตามที่นับจริง เช่น ขาย 5 แพ็ก ไม่ต้องแปลงเป็นขวดเอง ช่องชื่อสินค้าและจำนวนหน่วยฐานเป็นสูตร ถ้ารหัสผิดจะขึ้นว่าไม่พบรหัสสินค้า
- เปิดชีตคงเหลือ
ดูยอดของทุกสินค้า ณ วันที่ในช่อง B1 ไฟล์ตั้งไว้เป็นวันล่าสุดในบันทึก ถ้าอยากเห็นยอดวันนี้ ให้พิมพ์ =TODAY() แทน สินค้าที่ถึงจุดสั่งซื้อจะขึ้นป้ายต้องสั่งสีแดง
- นับสต็อกทุกเดือนในชีตนับสต็อก
กรอกที่นับได้เป็นลัง แพ็ก ชิ้น ไฟล์รวมเป็นหน่วยฐานและบอกผลต่าง ถ้ายืนยันว่าผลต่างถูก ให้กลับไปบันทึกเป็นปรับยอดในชีตความเคลื่อนไหว ยอดคงเหลือจะตรงกับของจริง
สูตร Excel สต็อกสินค้าที่ใช้ในไฟล์
ไฟล์ใช้แค่ฟังก์ชันพื้นฐานที่มีทั้งใน Excel และ Google Sheets คือ SUMIFS INDEX MATCH INT MOD N และ IF และตั้งชื่อช่วงข้อมูลไว้ให้สูตรอ่านง่าย เช่น MoveBase คือคอลัมน์จำนวนหน่วยฐานในชีตความเคลื่อนไหว MoveCode คือรหัสสินค้า และ AsOfDate คือวันที่ดูยอด
1. แปลงทุกบรรทัดเป็นหน่วยฐาน
ทุกแถวในชีตความเคลื่อนไหว ไฟล์หาว่าหน่วยที่เลือกเท่ากับกี่หน่วยฐานจากชีตสินค้า แล้วคูณจำนวน ขายใส่เครื่องหมายลบ รับเข้าและคืนเป็นบวก ปรับยอดใช้เครื่องหมายตามที่กรอก
ชีตความเคลื่อนไหว คอลัมน์ H: หน่วยนี้เท่ากับกี่หน่วยฐาน
=IF(OR($B2="",$F2=""),"",IFERROR(IF($F2="ลัง",INDEX(ProdCase,MATCH($B2,ProdCode,0)),IF($F2="แพ็ก",INDEX(ProdPack,MATCH($B2,ProdCode,0)),1)),0))ชีตความเคลื่อนไหว คอลัมน์ I: จำนวนหน่วยฐาน บวกคือเข้า ลบคือออก
=IF(OR($B2="",$D2="",$E2="",$F2=""),"",IF(N($H2)=0,"ตรวจรหัสหรือหน่วย",IF($D2="ปรับยอด",$E2,IF($D2="ขาย",-1,1)*ABS($E2))*$H2))ตัวอย่าง: ขายน้ำดื่ม 5 แพ็ก แพ็กละ 6 ขวด คอลัมน์ H ได้ 6 และคอลัมน์ I ได้ -30 ขวด
2. รวมคงเหลือด้วย SUMIFS
คงเหลือคือผลรวมของจำนวนหน่วยฐานทุกแถวของสินค้านั้น จนถึงวันที่ดูยอด จึงรวมยอดด้วย SUMIFS ได้โดยไม่ต้องแยกคอลัมน์รับและจ่าย
ชีตคงเหลือ คอลัมน์ D: คงเหลือเป็นหน่วยฐาน
=IF($A4="","",SUMIFS(MoveBase,MoveCode,$A4,MoveDate,"<="&AsOfDate))น้ำดื่มในไฟล์ตัวอย่าง: ยอดยกมา 40 ลัง (960 ขวด) รับเข้า 30 ลัง (720 ขวด) ขายรวม 51 ลังกับ 5 แพ็ก (1,254 ขวด) ขวดแตก 3 ขวด คงเหลือ 960 + 720 - 1,254 - 3 = 423 ขวด
3. แสดงเป็นลัง แพ็ก และเศษ ด้วย INT และ MOD
423 ขวดถูกต้องแต่อ่านยาก คนในคลังนับเป็นลัง INT ปัดเศษทิ้งเพื่อหาจำนวนลังเต็ม MOD หาเศษที่เหลือหลังหักลังเต็ม แล้วทำซ้ำกับแพ็ก
INT(423 / 24) = 17 ลัง (408 ขวด)
MOD(423, 24) = 15 ขวดที่ไม่ครบลัง
INT(15 / 6) = 2 แพ็ก (12 ขวด) เหลือ 15 - 12 = 3 ขวด
ผลที่แสดง: 17 ลัง 2 แพ็ก 3 ขวด
คอลัมน์ E: จำนวนลังเต็ม
=IF($A4="","",IF(N('สินค้า'!$E2)>0,INT(ABS($D4)/'สินค้า'!$E2),0))คอลัมน์ F: จำนวนแพ็กจากเศษที่ไม่ครบลัง
=IF($A4="","",IF(N('สินค้า'!$D2)>0,INT(IF(N('สินค้า'!$E2)>0,MOD(ABS($D4),'สินค้า'!$E2),ABS($D4))/'สินค้า'!$D2),0))คอลัมน์ G: เศษที่เหลือเป็นหน่วยฐาน
=IF($A4="","",ABS($D4)-$E4*N('สินค้า'!$E2)-$F4*N('สินค้า'!$D2))คอลัมน์ C: ต่อเป็นข้อความ เช่น 17 ลัง 2 แพ็ก 3 ขวด
=IF($A4="","",IF($D4<0,"ติดลบ ","")&IF($D4=0,"0 "&'สินค้า'!$C2,TRIM(IF($E4>0,$E4&" ลัง ","")&IF($F4>0,$F4&" แพ็ก ","")&IF($G4>0,$G4&" "&'สินค้า'!$C2,""))))ฟังก์ชัน N() แปลงช่องว่างเป็น 0 สินค้าที่ไม่มีแพ็กหรือไม่มีลังจึงไม่ทำให้สูตรผิด และถ้ายอดติดลบ ไฟล์จะขึ้นคำว่าติดลบนำหน้าให้เห็นชัด
จุดสั่งซื้อ (Reorder Point) คิดอย่างไร
จุดสั่งซื้อคือยอดคงเหลือที่ถ้าลดถึงระดับนี้ ต้องสั่งของรอบใหม่ทันที เพื่อให้ของใหม่มาถึงก่อนของเก่าหมด สูตรที่ใช้กันทั่วไปคือ
จุดสั่งซื้อ = ยอดขายเฉลี่ยต่อวัน x ระยะรอของ (วัน) + สต็อกกันชน
- ยอดขายเฉลี่ยต่อวัน ไฟล์คิดจากยอดขาย 30 วันล่าสุดหารด้วย 30 ใช้เฉพาะรายการขาย ไม่รวมปรับยอด
- ระยะรอของ จำนวนวันตั้งแต่สั่งจนของเข้าคลัง ใส่ตามที่ผู้ขายส่งจริง ไม่ใช่ตามที่ตกลงไว้
- สต็อกกันชน ของเผื่อไว้สำหรับวันที่ขายดีกว่าปกติหรือของมาช้า สินค้าที่ขาดแล้วเสียลูกค้าควรมีกันชนมากกว่า
คอลัมน์ H: ขายเฉลี่ยต่อวัน ย้อนหลัง 30 วัน
=IF($A4="","",-SUMIFS(MoveBase,MoveCode,$A4,MoveType,"ขาย",MoveDate,">"&(AsOfDate-30),MoveDate,"<="&AsOfDate)/30)คอลัมน์ I: จุดสั่งซื้อ (ถ้าตั้งเองในชีตสินค้า ใช้ค่านั้น)
=IF($A4="","",IF('สินค้า'!$H2<>"",'สินค้า'!$H2,ROUNDUP($H4*N('สินค้า'!$F2)+N('สินค้า'!$G2),0)))คอลัมน์ J: สถานะ
=IF($A4="","",IF($D4<0,"ยอดติดลบ ตรวจสอบ",IF($D4<=$I4,"ต้องสั่ง","")))บะหมี่ รสต้มยำในไฟล์ตัวอย่าง ขายเดือนกันยายน 18 ลัง (540 ซอง) เฉลี่ยวันละ 18 ซอง รอของ 7 วัน กันชน 60 ซอง
จุดสั่งซื้อ = 18 x 7 + 60 = 186 ซอง
คงเหลือ 100 ซอง (3 ลัง 1 แพ็ก) ต่ำกว่า 186 จึงขึ้นป้ายต้องสั่ง และพอขายอีกแค่ประมาณ 5 วัน ในขณะที่ของใหม่ใช้เวลา 7 วัน
ถ้าสินค้าไหนขายไม่สม่ำเสมอ หรือมีรอบสั่งตายตัวกับผู้ขาย ใส่จุดสั่งซื้อเองในคอลัมน์ H ของชีตสินค้าได้ ไฟล์จะใช้ค่านั้นแทนสูตร เหมือนสบู่ก้อนในไฟล์ตัวอย่างที่ตั้งไว้ 100 ก้อน
นับสต็อกประจำเดือน
ไฟล์ที่ไม่เคยเทียบกับของจริงจะค่อย ๆ คลาดเคลื่อน จากของแตก ของหาย หรือบันทึกผิดหน่วย การนับสต็อกและตรวจผลต่างช่วยให้ยอดในไฟล์กลับมาตรงกับของที่มีอยู่
- เลือกเวลาที่ไม่มีของเข้าออก
เช่น เช้าวันสิ้นเดือนก่อนเปิดร้าน แล้วตั้งวันที่ดูยอดในชีตคงเหลือให้ตรงกับวันที่นับ
- นับตามหน่วยที่วางอยู่จริง
กรอกในชีตนับสต็อกเป็นลังเต็ม แพ็ก และชิ้นที่แยกอยู่ ไม่ต้องคูณเอง ไฟล์รวมเป็นหน่วยฐานให้
- ดูผลต่าง แล้วนับซ้ำเฉพาะรายการที่ไม่ตรง
ผลต่างส่วนใหญ่มาจากบันทึกผิดหน่วยหรือลืมบันทึก ลองหาในชีตความเคลื่อนไหวก่อนสรุปว่าของหาย
- บันทึกผลต่างเป็นปรับยอด
ใส่หมายเหตุว่ามาจากการนับวันไหน คนที่มาดูทีหลังจะรู้ว่ายอดเปลี่ยนเพราะอะไร
ชีตนับสต็อก คอลัมน์ H: ยอดที่นับได้รวมเป็นหน่วยฐาน
=IF(OR($A4="",COUNT($E4:$G4)=0),"",N($E4)*N('สินค้า'!$E2)+N($F4)*N('สินค้า'!$D2)+N($G4))ตัวอย่างการนับเพิ่มเติม: หลังบันทึกขวดแตกแล้ว ยอดในไฟล์เหลือ 423 ขวด แต่ครั้งนี้นับได้ 17 ลัง 2 แพ็ก (420 ขวด) จึงมีผลต่างใหม่ -3 ขวด ชีตบอกให้ตรวจซ้ำแล้วบันทึก ปรับยอด -3 ชิ้น
สินค้าขายเร็วหรือมูลค่าสูง ควรนับบ่อยกว่าเดือนละครั้ง เช่น ทุกสัปดาห์ เฉพาะรายการนั้น ไม่ต้องนับทั้งคลัง
เมื่อไร Excel เริ่มไม่พอ
ไฟล์นี้ใช้ได้ดีเมื่อมีคนบันทึกคนเดียว ขายช่องทางเดียว และบันทึกทันทีที่ของเข้าออก ปัญหาจะเริ่มเมื่อธุรกิจโตเกินเงื่อนไขเหล่านี้ ตารางนี้สรุปสัญญาณที่เจอบ่อย และสิ่งที่ระบบสต็อกทำแทน
บนมือถือ เลื่อนตารางไปซ้ายขวาเพื่อดูข้อมูลทั้งหมด
| สถานการณ์ | ปัญหาที่เกิดใน Excel | ระบบสต็อกทำอะไรแทน |
|---|---|---|
| หลายคนแก้ไฟล์พร้อมกัน | คนหนึ่งเปิดไฟล์บนเครื่อง อีกคนแก้ในไลน์กลุ่ม ยอดไม่ตรงกันและไม่รู้ว่าใครแก้แถวไหน | ทุกการเคลื่อนไหวเป็นรายการของใครคนหนึ่ง มีเวลาและเลขเอกสาร ย้อนดูได้ แก้ยอดตรง ๆ ไม่ได้ |
| ขายของกองเดียวกันหลายช่องทาง | หน้าร้าน ไลน์ ร้านออนไลน์ และเซลส์ขายพร้อมกัน ไฟล์อัปเดตไม่ทัน จึงรับออเดอร์เกินของที่มี | ทุกช่องทางตัดและจองจากยอดชุดเดียวกัน |
| เซลส์อยู่นอกออฟฟิศ | เซลส์ถามทางโทรศัพท์ว่าของยังมีไหม หรือขายจากรถโดยไม่รู้ยอดบนรถ | เซลส์เห็นยอดในแอป และรถแต่ละคันมีสต็อกของตัวเอง |
| ออเดอร์ต้องจองของ | Excel รู้แค่ของออกเมื่อบันทึกขาย ออเดอร์ที่รับแล้วแต่ยังไม่ส่งไม่ถูกกันไว้ | แยกยอดจองแล้ว พร้อมขาย และคงเหลือ ทีมเห็นยอดพร้อมขายแยกจากยอดที่จองไว้แล้ว |
| ขายเชื่อ | ต้องเปิดอีกไฟล์ดูว่าร้านยังค้างเท่าไร ก่อนตัดสินใจส่งของ | ตรวจวงเงินของร้านตอนรับออเดอร์ขายเชื่อ |
สัญญาณที่ชัดที่สุดคือเคยรับออเดอร์ไปแล้วพบว่าของไม่พอ หรือมีคนต้องนั่งปรับตัวเลขให้ตรงกันระหว่างหน้าร้าน ไลน์ และร้านออนไลน์ทุกวัน ถ้าเกิดขึ้นบ่อย ควรประเมินการใช้ระบบที่เชื่อมออเดอร์กับสต็อกเพื่อลดงานปรับยอดซ้ำ
ในระบบ ForwardMiles ทำได้
หลักเดียวกับไฟล์นี้ คือเก็บเป็นหน่วยฐานและแสดงหน่วยใหญ่ก่อน ถูกใช้ทั้งระบบ ทั้งหลังบ้าน ร้านออนไลน์ และแอปของเซลส์
สิ่งที่ระบบทำแทนไฟล์
- เก็บเป็นหน่วยฐาน แสดงเป็นลังและเศษ หน้าสต็อกแสดงยอดเป็นหน่วยใหญ่และเศษ เช่น 72 ลัง 12 ชิ้น ไม่ต้องเขียนสูตร INT กับ MOD เอง
- ประวัติสต็อกทุกรายการ รับเข้า ขาย คืน จอง และปล่อยจอง เป็นรายการแยกที่ย้อนดูได้ การปรับยอดก็บันทึกเป็นรายการปรับเพิ่มหรือปรับลดพร้อมหมายเหตุ
- จองสต็อกตามหน่วยที่ขาย ออเดอร์ 2 ลังจองของเท่ากับ 2 ลังในหน่วยฐาน หน้าสต็อกแยกยอดจองแล้ว พร้อมขาย และคงเหลือ
- นับสต็อกเป็นเอกสาร เทียบยอดในระบบกับยอดที่นับ คิดผลต่าง และปรับยอดที่คลังนั้นเมื่อผู้มีสิทธิ์อนุมัติ
- จุดสั่งซื้อรายสินค้า ตั้งได้ที่สินค้าแต่ละตัว หน้าสต็อกบอกจำนวนรายการที่ใกล้หมด และมีรายงานสินค้าที่ถึงจุดสั่งซื้อ
- ย้ายจากไฟล์นี้ได้ นำยอดตั้งต้นเข้าจากไฟล์ Excel ด้วยรหัสสินค้า คลัง จำนวน และหน่วย เช่น ใส่เป็นลังได้ ระบบแปลงเป็นหน่วยฐานให้
- ตรวจวงเงินตอนรับออเดอร์ ออเดอร์ขายเชื่อที่เกินวงเงินที่เหลือของร้าน ระบบไม่รับ
- สต็อกบนรถแยกรายคัน สำหรับทีมขายเร่ อ่านต่อใน ระบบรถเร่ (Van Sales)
ดูหน้าจอสต็อก คลัง และการจัดส่งทั้งหมดที่ ระบบสต็อก คลัง และการจัดส่ง และถ้ากำลังวางระบบร้านทั้งร้าน เริ่มจาก วางระบบร้านค้าส่ง 5 ระดับ ดูราคาได้ที่ หน้าราคา



