用普通的传统【插入】——【数据透视表】方法制作的数据透视表,虽然有“刷新”功能,但如果在数据源添加了数据行或者列,也不能实现数据透视表的动态更新,如下动图:

文章插图
我们可以利用OFFSET函数定义数据源区域名称,实现数据透视表动态更新 。
视频解
关键操作第一步:定义名称
【公式】——【定义名称】:

文章插图
引用位置内输入:
=OFFSET(Sheet3!$A$1,,,COUNTA(Sheet3!$A:$A),COUNTA(Sheet3!$1:$1)) 。
(本示例数据源位于表Sheet3,如果表名不同,改为相应的表名)
该公式的含义是:利用OFFSET函数形成一个新的动态区域:这个区域,以A1为基准单元格,向下偏移0行,向右偏移0列,包含的行数是A列所有非空单元格个数,包含的列数是第一行所有非空单元格个数 。如果行和列变化,区域也相应的变化 。
第二步:插入数据透视表
【插入】——【数据透视表】,“表/区域”是上一步定义的名称:

文章插图
完成数据透视表:

文章插图
在数据源中增加一条记录:

文章插图
【利用OFFSET函数定义名称,实现数据透视表动态更新】“刷新”,会实现数据透视表的动态更新:
推荐阅读
- 累进提成,IF望尘莫及,可以用LOOKUP、SUM、OFFSET、MATCH来解决
- 利用模板快速制作N多工作表数据分析图表
- 利用excel数据透视表对数据进行分段统计
- excel利用数据透视表向导实现多工作表合并计算
- 数据有效性 Excel利用数据验证规范数据输入
- 秒杀excel公式与函数的快速填充,逆天吗?
- 30秒搞定工资条,竟然还不用excel函数!
- QUOTIENT与TRUNC函数截去小数,保留整数
- VLOOKUP函数实现多表数据合并查询
- INDIRECT函数跨表汇总数据