如何按4月至次年3月财年在数据透视表中显示月份并统计客户数?
按财年统计客户数量的两种实现方案
方案a:在数据透视表中直接筛选财年对应月份
这种方法适合快速处理单个或少量财年的统计需求,无需修改数据源:
- 插入基础数据透视表:选中数据集,点击「插入」→「数据透视表」,将
appt date拖入行区域,cust ID拖入值区域,右键值区域的cust ID选择「值字段设置」→「计数(不同)」(避免重复统计同一客户)。 - 对日期分组:右键行区域的
appt date字段,选择「组」,勾选「年」和「月」,此时行标签会按「自然年→月份」的层级展示。 - 筛选财年对应月份:比如要统计2022财年(2022.4.1-2023.3.31),展开行标签的「2022年」,只勾选4-12月;展开「2023年」,只勾选1-3月。
- 调整展示格式:将行标签的「年」字段移至最上方,「月」字段紧随其后,即可呈现你需要的「2022年:4-12月;2023年:1-3月」的层级结构。
方案b:通过Power Query创建财年标记列(高效适配多财年)
这种方法适合长期复用或处理多个财年的场景,先给每条数据标记所属财年,再生成数据透视表:
- 导入数据到Power Query:选中数据集,点击「数据」→「从表格/范围」,确认勾选「我的表格有标题」后进入Power Query编辑器。
- 添加财年标记列:点击「添加列」→「自定义列」,输入公式:
将新列重命名为「财年」,此时2022.4-2023.3的日期都会被标记为「2022」财年。= if Date.Month([appt date]) >= 4 then Date.Year([appt date]) else Date.Year([appt date]) - 1 - 添加自然年和月份列(可选):如果需要按自然年展示月份,可添加两个自定义列:
- 自然年:
= Date.Year([appt date]) - 月份名称:
= Date.MonthName([appt date])(或用= Number.ToText(Date.Month([appt date])) & "月")
- 自然年:
- 导出数据并创建透视表:点击「关闭并上载」,将处理后的数据导入Excel。插入数据透视表,将「自然年」拖入行区域,「月份名称」拖入行区域下方,
cust ID拖入值区域并设置为「计数(不同)」,最后筛选每个自然年中对应财年的月份即可。
内容的提问来源于stack exchange,提问作者snalmznh
相关产品推荐
相关产品推荐

