工作中經常遇到這種看上去像透視表一樣的表格,我們可能需要‘還原’它 (如下圖)。那麼怎麼做呢?一條一條的複製過去?今天教大家幾種方法來逆向透視表:
1. 直接使用 透視表工具
快捷鍵 ALT + D + P 調出透視表嚮導,如果記不住快捷鍵的同學,我們以後講快速工具欄的時候會告訴大家在哪裡可以添加透視表嚮導的按鈕。然後,選擇【多重合並計算數據區域】
下一步,選擇【自定義字段】
然後,按步驟選擇我們的數據區域,並且添加到【所有區域】中 (下圖中1,2,3的順序)
最後我們選擇輸出到當前工作表的 B16 位置並且點擊【完成】
這個時候我們就會得到一個根據我們原數據來創建的真正的數據透視表,我們雙擊右下的總計數字就可以得到結果了。
2. 利用 Power Query
首先我們選中我們的元數據,並利用【數據】-【從表格】這個選項把我們的數據注入Power Query 後臺
注意選項,需要表包含標題
導入以後,我們選中【產品】這一列
然後點擊【轉換】-【逆透視列】-【逆透視其他列】
逆透視的結果就出來了。
然後重命名字段名稱並上載到工作表。
這個時候就直接得到我們想要的結果了,非常方便吧!
3. 利用 Python
這裡我們選擇 Python Pandas 來幫助我們達成目標,首先我們複製原數據到剪切板
隨後寫一小段程序逆透視一下數據,並且返還到剪切板,具體步驟如下:
最後我們把剪切板中的內容黏貼到Excel的工作表中,就結束了。
細心的朋友可能之前發現我們excel 的工具欄還有xlwings, 所以,不借助剪切板我們也可以直接操作Excel 裡面的數據:
這樣就可以直接逆透視 Excel 中的數據了。xlwings 代碼執行效果如下:
好啦,這就是介紹的幾種方法來逆透視你的數據,當然我們還可以用 VBA, SQL 或者其他編程語言來實現。本文只是講解一下我們常用的方法。
上面說到第二種方法, 利用Power Query 的方法是我們最常用的,那麼為什麼呢? 因為它是接入了一個TABLE類型到Power Query 中, 當原數據在表範圍內發生變化時,只要我們刷新一下Power Query ,我們就自然得到了變化後的結果,例如我們在原數據中分別增加一行和一列數據:
只需要ALT + F5 刷新數據,我們就可以看到增加了數據以後再逆透視的結果。變化後的結果,只需要刷新操作,所以說Power Query 這個方法是一個更方便更高效的方法。
閱讀更多 FunInCode 的文章