Excel 轉置分組時如何保留沒有對應資料的空組

2022-07-07 11:36:09 字數 1500 閱讀 7855

有商品日銷售記錄表sales.xlsx,有些日期沒有銷售記錄,部分資料如下圖所示:

1、需要以日期為左表頭、產品為上表頭做乙個交叉統計表,且要同時列出沒有銷售資料的日期,如下圖所示:

2、需要以周為左表頭、產品為上表頭做乙個交叉統計表,且要同時列出沒有銷售資料的周,如下圖所示:

1、 執行集算器

2、 編寫指令碼:

(1)按日期統計

把**列出來看得清楚點:

a1 定義儲存檔案的目錄

a2 讀入sales.xlsx檔案資料,選項@t表示首行是列標題

a3 對a2的資料進行轉置分組,按saledate分組為左表頭,product列的值為上表頭,amout為交叉統計值

a4 求a3中的最小日期

a5 求a3中的最大日期

a6 把從最小日期到最大日期的所有日期按順序組成乙個序列

a7 把a3轉置分組的saledate按a6的順序對齊

a8 用new函式重新定義a7的每一行,#表示a7的當前行號,取a6中的同行號的日期值為saledate,再取a7當前行的bread、cookie、milk值

a9 把a8中的結果儲存到檔案sales_day.xlsx中

(2)按周統計

編寫**如下:

a1 定義儲存檔案的目錄

a2 讀入sales.xlsx檔案資料,選項@t表示首行是列標題

a3 對a2的資料按saledate所在的週日進行轉置分組並命名為sunday,product列的值為上表頭,本週各產品的amout之和為交叉統計值。pdate@w(saledate)表示求saledate所在周的週日。

a4 求a3中的最小週日

a5 求a3中的最大週日

a6 把從最小週日到最大週日的所有週日按順序組成乙個序列

a7 把a3轉置分組的sunday按a6的順序對齊

a8 用new函式重新定義a7的每一行,#表示a7的當前行號,取a6中的同行號的週日值按格式轉成串再拼上它加6天後的週六值按格式轉成串,命名為week,再取a7當前行的bread、cookie、milk值

a9 把a8中的結果儲存到檔案sales_day.xlsx中

3、 按f9執行以上兩段程式,執行結束後就可以在e:/pivot目錄中看到生成的檔案,其結果正如本文開頭所示。

【附件】 pivot.zip

Excel 怎樣實現行列轉置

有時候,我們為了某些需要,必須把工作表的行列進行轉置的方式顯示。重新輸入很浪費時間,怎樣簡單的實現轉置呢,強大的excel2007提供了此項功能,具體怎麼做,下面看我來演示一下。如圖所示,選中要進行行列轉置的單元格區域。選擇 開始 選項卡,在 剪貼簿 組中單擊 複製 圖示。步驟閱讀 在工作表中選中目...

如何實現反方向轉置

現有 excel 檔案 source.xlsx,部分資料如下 現需將 m 列的二維表轉置為 m 行,要求從第 m 列開始轉,依次為 m 1,m 2 2,1 列 結果如下 1.在集算器中編寫指令碼 rvstrans.dfx 2.先在excel中選中源片區 a1 d5 按下ctrl c,複製到系統剪貼簿...

如何轉置 線性代數筆記 (5)置換和轉置

為了與上一節 曉得啦 線性代數筆記 4 lu分解 zhuanlan.zhihu.com 但為了對 有更深刻的理解,我們再舉乙個關於他的例子作為複習。example 令 第一步用第二行減去第一行的 倍,然後從第三行減去第一行的 倍。為明確減去第一行的倍數,我們令 再消去 處的 則可完成消元過程。令 表...