如何把每日明細資料累計後按分類儲存

RUNQIAN_RAQSOFT發表於2020-12-25

例題描述
現有每日商品進貨登記表—每日入庫明細.xlsx,如下圖所示:

另還有每日商品發貨登記表—每日發貨明細.xlsx,包括所有商品,只有第一條有日期,其餘條日期相同,如下圖所示: 

現需要按商品款式將每日入庫及發貨數量儲存到“出入庫彙總.xlsx”檔案的對應sheet(商品款式就是sheet名)中,並計算出當日結存,如下圖所示:

實現步驟
1、 執行集算器
可去潤乾官網下載職場版,同時下載一個免費授權就夠了,首次執行時會提示載入。
2、 編寫指令碼:
在這裡插入圖片描述

把程式碼列出來看得清楚點:
在這裡插入圖片描述

A1 定義dir變數指定Excel資料檔案所在的目錄
A2 定義出入庫彙總.xlsx檔案
B2 開啟並讀入出入庫彙總資料,形成集算器中的Excel物件
A3 讀入每日發貨明細.xlsx中的資料
B3 選出每日發貨明細中規格及品名不為空的記錄
A4 將每日發貨明細中每條記錄的日期設定成第1條記錄的日期
B4 在每日發貨明細中新增一列:入庫數量
A5 讀入每日入庫明細.xlsx中的資料
B5 選出每日入庫明細中日期不為空的記錄
A6 對B5選出的入庫明細記錄進行迴圈處理
B6 在B4算出的發貨明細中選出與當前迴圈相同產品的記錄,並將當前的入庫存數量設定成它的入庫數量
A7 從B4中選出入庫數量或發貨數量至少有一個不為空的記錄
A8 對A7中的所有記錄進行迴圈處理
B8 從出入庫彙總Excel物件中讀出當前迴圈商品對應的歷史出入庫記錄,從第3行開始,選項@t表示首行是列名
B9 計算當前迴圈商品的結存=歷史記錄最後一條的結存+入庫數量-發貨數量
B10 把當前迴圈商品的當日出入庫記錄插入到歷史記錄的最後
B11 把當前迴圈商品的最後1條記錄(即當日的)追加到出入庫彙總Excel物件的對應sheet中,使用選項@a表示追加寫入
A12 將處理完畢的Excel物件再儲存到出入庫彙總.xlsx檔案中

3、 按F9執行這段程式,開啟出入庫彙總.xlsx來看看。 在這裡插入圖片描述

在這裡插入圖片描述
在這裡插入圖片描述

4、 第6行還可以用JOIN運算實現,只要一句了
A6:=A4.join(規格及品名,B5:款式,入庫存數量)
把B4和B6清空,完整程式碼:

在這裡插入圖片描述

A6 按A4每日發貨明細中的規格及品名與B5每日入庫明細中的款式進行連線,拼接上入庫存數量欄位

相關文章