例題描述
有商品日銷售記錄表sales.xlsx,有些日期沒有銷售記錄蔫磨,部分?jǐn)?shù)據(jù)如下圖所示:
1纳寂、需要以日期為左表頭主穗、產(chǎn)品為上表頭做一個(gè)交叉統(tǒng)計(jì)表,且要同時(shí)列出沒有銷售數(shù)據(jù)的日期毙芜,如下圖所示:
2忽媒、需要以周為左表頭、產(chǎn)品為上表頭做一個(gè)交叉統(tǒng)計(jì)表腋粥,且要同時(shí)列出沒有銷售數(shù)據(jù)的周晦雨,如下圖所示:
實(shí)現(xiàn)步驟
1、? 運(yùn)行集算器
可去潤乾官網(wǎng)下載職場版隘冲,同時(shí)下載一個(gè)免費(fèi)授權(quán)就夠了闹瞧,首次運(yùn)行時(shí)會(huì)提示加載。
2对嚼、? 編寫腳本:
(1)按日期統(tǒng)計(jì)
A1定義保存文件的目錄
A2讀入sales.xlsx文件數(shù)據(jù)夹抗,選項(xiàng)@t表示首行是列標(biāo)題
A3對(duì)A2的數(shù)據(jù)進(jìn)行轉(zhuǎn)置分組,按saledate分組為左表頭纵竖,product列的值為上表頭漠烧,amout為交叉統(tǒng)計(jì)值
A4求A3中的最小日期
A5求A3中的最大日期
A6把從最小日期到最大日期的所有日期按順序組成一個(gè)序列
A7把A3轉(zhuǎn)置分組的saledate按A6的順序?qū)R
A8用new函數(shù)重新定義A7的每一行,#表示A7的當(dāng)前行號(hào)靡砌,取A6中的同行號(hào)的日期值為saledate已脓,再取A7當(dāng)前行的bread、cookie通殃、milk值
A9把A8中的結(jié)果保存到文件sales_day.xlsx中
(2)按周統(tǒng)計(jì)
編寫代碼如下:
A1定義保存文件的目錄
A2讀入sales.xlsx文件數(shù)據(jù)度液,選項(xiàng)@t表示首行是列標(biāo)題
A3對(duì)A2的數(shù)據(jù)按saledate所在的周日進(jìn)行轉(zhuǎn)置分組并命名為Sunday,product列的值為上表頭画舌,本周各產(chǎn)品的amout之和為交叉統(tǒng)計(jì)值堕担。pdate@w(saledate)表示求saledate所在周的周日。
A4求A3中的最小周日
A5求A3中的最大周日
A6把從最小周日到最大周日的所有周日按順序組成一個(gè)序列
A7把A3轉(zhuǎn)置分組的Sunday按A6的順序?qū)R
A8用new函數(shù)重新定義A7的每一行曲聂,#表示A7的當(dāng)前行號(hào)霹购,取A6中的同行號(hào)的周日值按格式轉(zhuǎn)成串再拼上它加6天后的周六值按格式轉(zhuǎn)成串,命名為week朋腋,再取A7當(dāng)前行的bread齐疙、cookie、milk值
A9把A8中的結(jié)果保存到文件sales_day.xlsx中
3旭咽、? 按F9運(yùn)行以上兩段程序贞奋,運(yùn)行結(jié)束后就可以在E:/pivot目錄中看到生成的文件,其結(jié)果正如本文開頭所示穷绵。