Tự tạo công thức tính giá xuất kho theo phương pháp FIFO – Phần 2

Chia sẻ bài viết này:
  •  
  •  
  •  
  •  
  •  
  •  
  •   
  •   

Để tiếp tục bài học này, bạn cần nắm vững nguyên tắc tính giá xuất kho theo phương pháp FIFO như đã trình bày ở bài trước. Nếu bạn còn chưa rõ, vui lòng xem lại tại : Phần 1: Nguyên tắc của phương pháp FIFO

Bởi việc xây dựng câu lệnh VBA tự động tính giá xuất kho theo phương pháp FIFO đòi hỏi bạn phải nắm được quy trình thực hiện một cách tổng quát, áp dụng được trong mọi trường hợp. Từ quy trình bằng lời chúng ta sẽ chuyển hóa thành ngôn ngữ lập trình trong VBA giúp máy tính tự động thực hiện trong Excel.

Nếu bạn đã nắm được tinh thần của bài học này rồi thì chúng ta sẽ bắt đầu phần 2:

Mô tả quy trình tính giá xuất kho theo phương pháp FIFO

Chúng ta xem lại bảng tính thủ công trên Excel mô tả việc tính giá xuất kho theo phương pháp FIFO:

Ở đây có 2 lần xuất kho. Chúng ta sẽ biện luận cho từng lần xuất như sau:

Lần 1: Số lượng xuất = 20. Chúng ta gọi đây là Tổng SL Xuất 1

+) So Tổng SL Xuất 1 với Số lượng nhập mỗi lần, tính từ lần nhập đầu tiên (vì trước đó chưa có lần xuất nào)

  • Nếu Số lượng nhập lần 1 > Tổng SL Xuất 1 thì Tổng SL Xuất 1 sẽ nằm trong Số lượng nhập lần 1, đơn giá xuất bằng với đơn giá nhập lần 1. Kết thúc công việc cho lần xuất thứ 1.
  • Nếu Số lượng nhập lần 1 < Tổng SL Xuất 1 thì tìm Số chênh lệch của lần so sánh thứ 1 (gọi là CL1-01)
  • CL1-01 = Tổng SL Xuất 1 – Số lượng nhập lần 1

=> Nếu CL1-01 <=0 thì kết thúc. Nếu CL1-01 > 0 thì xét tiếp cho lần nhập tiếp theo

+) So CL1-01 với số lượng nhập lần tiếp theo:

  • Nếu CL1-01 < Số lượng nhập lần tiếp theo thì số lượng còn lại cần xuất là CL01, đơn giá xuất bằng với đơn giá nhập lần đang xét này. Kết thúc công việc.
  • Nếu CL1-01 > Số lượng lần nhập tiếp theo thì tìm Số chênh lệch của lần so sánh thứ 2 (gọi là CL1-02)
  • CL1-02 = CL1-01 – Số lượng nhập lần tiếp theo

=> Nếu CL1-02 <=0 thì kết thúc. Nếu CL1-02 > 0 thì xét tiếp các lần nhập sau cho tới khi tìm ra CL1-X <=0

Số lượng còn lại của lần nhập cuối sau khi xuất đủ số chênh lêch lần cuối (Số dư tại lần nhập cuối thỏa mãn xuất hết cho lần 1):

CON01 = Số lượng nhập lần cuối thỏa mãn – CL lần cuối của lần 1

——

Lần 2 (tương tự với lần tiếp sau) Gọi đây là Tổng SL Xuất 2

+) Xét CL2-01 = Tổng SL Xuất 2 – CON01 , nếu CL2-01 < 1 thì:

  • Tính CON02 = CON01-Tổng SL Xuất 2 cho các lần xuất tiếp theo
  • Tổng SL Xuất 2 nằm trong CON01, đơn giá bằng đơn giá tại CON01
  • Kết thúc
  • Nếu CL2-01 >0 thì xét tiếp cho lần nhập tiếp theo

+) Xét CL2-02 = CL2-01 – Số lượng lần nhập tiếp theo.

  • Nếu CL2-02 > 0 thì xét tiếp lần nhập sau, tính CL2-03
  • Còn CL2-02 <= 0 thì: tổng số chênh lệch lần thứ 2 của lần 2 nằm trong lần nhập này => Tính CON02 => Kết thúc

Tiếp tục tính đến khi kết thúc với CL2-xxx <= 0

—-

Bạn có hiểu được quy trình trên không? Tôi đoán là nó khá khó với bạn, nhưng tôi cần bạn hiểu được những điều đã trình bày ở trên để có thể tiếp tục tìm hiểu trong các bài học sau. Bởi việc chuyển quy trình trên ra ngôn ngữ VBA còn khiến bạn khó hiểu hơn.

Hẹn gặp lại trong bài tiếp theo: Viết Macro tính giá xuất kho theo phương pháp FIFO


Chia sẻ bài viết này:
  •  
  •  
  •  
  •  
  •  
  •  
  •   
  •