Excel重复汇总崩溃?DAX秒杀透视表
一句话核心价值点:
用Excel内置的PowerPivot DAX公式,把反复手工汇总的麻烦一次解决,让2026年的你告别加班,分析数据像聊天一样轻松。
目录
月底报表加总到眼发花
每月底要把各门店销量一遍遍加,手工拖透视表,一改源数据就全乱套。
用DAX建度量值,改数据自动出结果,眼睛再不用盯到花。
DAX公式:
总销量 = SUM(Sales[销量])
月均销量 = AVERAGE(Sales[销量])
最高单店 = MAX(Sales[销量])
最低单店 = MIN(Sales[销量])
达标店数 = COUNTROWS(FILTER(Sales, Sales[销量]>=1000))
未达标店数 = COUNTROWS(FILTER(Sales, Sales[销量]<1000))
同比增长 =
VAR 本月 = SUM(Sales[销量])
VAR 上月 = CALCULATE(SUM(Sales[销量]), DATEADD(Sales[日期], -1, MONTH))
RETURN IF(上月=0, BLANK(), (本月-上月)/上月)
原理拆开看:
- •
FILTER先挑满足条件的行,再用COUNTROWS数个数,精准锁定目标。 - •
DATEADD让时间往前挪一个月,CALCULATE在新的时间段里重算,同比环比一次成型。 - • 改动源数据后,度量值随模型刷新,不必重拉透视表。
- • 2026年数据量大也不怕,DAX在引擎层算,比手工会省一半以上眼力。
多表合并靠复制太磨人
销售表、门店表、产品表分开存,每次分析都得复制粘贴拼一起,手酸还易错。
M代码示例:
let
源1 = Excel.CurrentWorkbook(){[Name="销售"]}[Content],
源2 = Excel.CurrentWorkbook(){[Name="门店"]}[Content],
合并 = Table.NestedJoin(源1, "门店编号", 源2, "门店编号", "门店信息"),
展开 = Table.ExpandTableColumn(合并, "门店信息", {"门店名称", "城市"}, {"门店名称", "城市"}),
源3 = Excel.CurrentWorkbook(){[Name="产品"]}[Content],
再合并 = Table.NestedJoin(展开, "产品编号", 源3, "产品编号", "产品信息"),
最终 = Table.ExpandTableColumn(再合并, "产品信息", {"产品名称", "类别"}, {"产品名称", "类别"})
in
最终
原理拆开看:
- •
Table.NestedJoin按共同字段把两张表挂一起,像拉链扣合。 - •
Table.ExpandTableColumn把挂上的表里指定列放出来,让信息同框显示。 - • 改原始表结构时,只要刷新查询,新结构自动带上。
- • 2026年业务表再多,也能用几行M保持数据齐整,不怕漏拼列。
动态分组统计难住新人
想把销量按区间自动归类,比如0-500、501-1000,透视表固定区间不够灵活。
DAX公式:
区间分组 =
SWITCH(
TRUE(),
Sales[销量]<=500, "0~500",
Sales[销量]<=1000, "501~1000",
Sales[销量]<=1500, "1001~1500",
"1500以上"
)
区间销量 = SUM(Sales[销量])
区间店数 = DISTINCTCOUNT(Sales[门店编号])
占比 = DIVIDE([区间销量], CALCULATE([区间销量], ALL(Sales)))
原理拆开看:
- •
SWITCH按顺序判断条件,匹配第一个成立的结果,分组逻辑一目了然。 - •
DISTINCTCOUNT数出不重复的门店编号,避免同一店多次计入。 - •
CALCULATE配合ALL去掉当前筛选,让分母变成总体,算占比更准。 - • 改区间端点只需动一行条件,不用重画透视表字段。
- • 2026年业务变化快,这种动态分箱能让分析跟着节奏跑。
同比环比算到脑壳疼
每到月初做同比环比,透视表得另拉计算列,一换月份又得重来。
DAX公式:
本月销量 = SUM(Sales[销量])
上月销量 = CALCULATE([本月销量], PREVIOUSMONTH(Sales[日期]))
环比增幅 = IF([上月销量]=0, BLANK(), ([本月销量]-[上月销量])/[上月销量])
去年同月 = CALCULATE([本月销量], SAMEPERIODLASTYEAR(Sales[日期]))
同比增幅 = IF([去年同月]=0, BLANK(), ([本月销量]-[去年同月])/[去年同月])
原理拆开看:
- •
PREVIOUSMONTH跳到上个月同一时间段,环比一步到位。 - •
SAMEPERIODLASTYEAR直接定位去年同月,跨年对比不出错。 - • 度量值放进透视表,切换月份视图自动更新,省去反复设置。
- • 2026年跨年数据也能顺畅比对,分析节奏不被手动拖累。
条件筛选汇总频频漏数
做区域汇总时,条件设错就漏掉几家店,返工查原因费时。
DAX公式:
区域销量 = SUM(Sales[销量])
北区筛选 = CALCULATE([区域销量], Sales[城市]="北京" || Sales[城市]="天津" || Sales[城市]="石家庄")
南区筛选 = CALCULATE([区域销量], Sales[城市]="广州" || Sales[城市]="深圳" || Sales[城市]="海口")
东区筛选 = CALCULATE([区域销量], Sales[城市]="上海" || Sales[城市]="杭州" || Sales[城市]="南京")
西区筛选 = CALCULATE([区域销量], Sales[城市]="成都" || Sales[城市]="重庆" || Sales[城市]="昆明")
原理拆开看:
- •
||表示“或者”,把多个城市归到同一区域条件。 - •
CALCULATE让度量值在限定条件下重新算,区域视角随时切。 - • 2026年区域调整不再怕漏,公式替你盯紧每家店。
金句收尾:
- • 重复的手工,攒下的是疲惫;一次的公式,换来的是自在。
- • 让机器算该算的,让人做该想的,这才是2026年办公的真节奏。
- • 方法串成线,线织成面,面盖成楼,楼里装的是你的闲工夫。
更多干货点我头像进主页,每天更新