如何把每日明細資料累計後按分類儲存
例題描述
現有每日商品進貨登記表—每日入庫明細.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每日入庫明細中的款式進行連線,拼接上入庫存數量欄位
相關文章
- 資料儲存(1):從資料儲存看人類文明-資料儲存器發展歷程
- 《資料儲存》之《分庫,分表》
- 計算機儲存器的分類及其特性計算機
- 報表資料分庫儲存
- 明解資料庫------資料庫儲存演變史資料庫
- 常見儲存器分類
- 單細胞資料 儲存方式彙總
- Web3證明資料的儲存方式Web
- 儲存刪除資料後恢復方法-適用netAPP儲存APP
- 移動端長按儲存、取消長按儲存圖片
- 資料儲存--檔案儲存
- 實現報表資料分庫儲存
- 資料成本:雲端儲存成本高嗎如何節省資料儲存成本
- laravelS使用redis stream完成每日億級別資料儲存LaravelRedis
- 容器化RDS—— 計算儲存分離 or 本地儲存
- 儲存器的分類及其特點
- 如何在MongoDB設計儲存你的資料(JSON化)?MongoDBJSON
- UMStor Hadapter:大資料與物件儲存的柳暗花明APT大資料物件
- 儲存卡變為RAW,如何進行儲存卡資料救援
- 【clickhouse專欄】對標mongodb儲存類JSON資料文件統計分析MongoDBJSON
- 分散式儲存中的資料分佈策略分散式
- 以太坊和IPFS如何儲存資料
- 在大資料世界“尋寶”,科研新正規化如何用好儲存這把利器?大資料
- 結構化資料儲存,如何設計才能滿足需求?
- 如何延長儲存伺服器上資料的儲存時間?伺服器
- 嵌入式中常見的儲存器總結(一)儲存器分類
- DNA儲存,拯救人類資料危機的良方?
- mysql 資料儲存檔案及6類日誌MySql
- 【儲存資料恢復】H3C FlexStorage儲存卷被刪如何恢復資料?資料恢復Flex
- TiDB資料儲存TiDB
- 資料儲存:CoreData
- iOS 資料儲存iOS
- 現在後端都在用什麼資料庫儲存資料?後端資料庫
- 資料庫表設計之儲存引擎資料庫儲存引擎
- MySQL如何實現萬億級資料儲存?MySql
- C 儲存類
- Flutter持久化儲存之資料庫儲存Flutter持久化資料庫
- 資料儲存(歸檔解檔,沙河儲存)