什么是動(dòng)態(tài)數(shù)據(jù)源脐帝,所謂動(dòng)態(tài),是指透視表引用的數(shù)據(jù)區(qū)域會(huì)隨著其范圍的擴(kuò)大或縮小自動(dòng)變更甘穿。
常用的方法有:功能表法腮恩、函數(shù)法、PowerQuery温兼、SQL和VBA秸滴。
1 功能表法
先來(lái)說(shuō)下功能表法,這個(gè)方法最簡(jiǎn)單募判。
首先選中數(shù)據(jù)源任意單元格荡含,按下快捷鍵<Ctrl+L>或<Ctrl+T>彈出【創(chuàng)建表】對(duì)話框,勾選【表包含標(biāo)題】届垫,單擊【確定】按鈕释液,即可將當(dāng)前的數(shù)據(jù)列表轉(zhuǎn)換為【功能表】
然后單擊【功能表】任意單元格創(chuàng)建透視表即可。
當(dāng)數(shù)據(jù)源的記錄有增加時(shí)装处,刷新透視表即可獲取最新數(shù)據(jù)误债。
這種方法也有不完美的地方:通過(guò)復(fù)制粘貼的方式新增的數(shù)據(jù)浸船,并不會(huì)被自動(dòng)納入功能表的范圍,也就不能被自動(dòng)添加到透視表數(shù)據(jù)源中寝蹈。
2 定義名稱的函數(shù)法
假設(shè)數(shù)據(jù)源所在的工作表表名為“銷(xiāo)售表”李命。模樣如下圖所示。
使用定義名稱+函數(shù)的方法箫老。
先看動(dòng)畫(huà)演示操作過(guò)程封字。
文字描述操作步驟及相應(yīng)公式如下:
在【公式】選項(xiàng)卡下單擊【名稱管理器】按鈕,打開(kāi)【名稱管理器】對(duì)話框耍鬓。單擊【新建】按鈕阔籽,彈出【新建名稱】對(duì)話框,在名稱管理框中輸入“data”牲蜀,在【引用位置】文本框中輸入如下公式笆制。
=OFFSET(銷(xiāo)售表!1,0,0,COUNTA(銷(xiāo)售表!
A),COUNTA(銷(xiāo)售表!
1))
單擊【確定】按鈕關(guān)閉【新建名稱】對(duì)話框,單擊【關(guān)閉】按鈕關(guān)閉【名稱管理器】對(duì)話框各薇。
在【插入】選項(xiàng)卡下單擊【數(shù)據(jù)透視表】圖標(biāo)项贺,打開(kāi)【創(chuàng)建數(shù)據(jù)透視表】對(duì)話框,在【表/區(qū)域】編輯框中輸入公式:=data
data是我們剛剛在名稱管理器創(chuàng)建的名稱峭判,你也可以換做其他名稱开缎,只需要和名稱框名稱保持一致即可。
然后解釋一下OFFSET函數(shù)林螃。
OFFSET就像個(gè)小游戲奕删,意思是從一個(gè)據(jù)點(diǎn)(第1個(gè)參數(shù)),通過(guò)行列移動(dòng)(2疗认、3參數(shù))奔襲到另外一個(gè)據(jù)點(diǎn)完残,然后自由決定是否需要擴(kuò)張據(jù)點(diǎn)的行列范圍(4、5參數(shù)可選)
在本例中横漏,OFFSET的第2谨设、3參數(shù)均為0,意思是據(jù)點(diǎn)就留在A1單元格別動(dòng)缎浇,第4和第5參數(shù)分別使用COUNTA計(jì)算A列和第一行非空單元格的數(shù)量扎拣,然后以此計(jì)算結(jié)果將據(jù)點(diǎn)分別向下和向右擴(kuò)張,也就是獲取當(dāng)前數(shù)據(jù)表的數(shù)據(jù)區(qū)域素跺。