Excel时间线筛选日期范围而非日期实例:酒店预订透视表统计需求
解决Excel中跨时段酒店预订的时间线统计问题
直接基于Start date做时间线筛选会遗漏跨天的在住房间——这类筛选只会把当天作为入住起始日的预订纳入统计,忽略已经入住但尚未退房的房间。要解决这个问题,核心是先把每个预订时段拆分成单日记录,再进行统计,具体步骤如下:
1. 用Power Query批量拆分预订时段为单日记录
手动拆分效率极低,用Power Query批量处理:
- 选中原始数据区域,切换到「数据」选项卡,点击「从表格/区域」,将数据导入Power Query编辑器(确保勾选「我的表格有标题」)
- 在编辑器中,同时选中
Start date和End date列,点击「添加列」→「自定义列」,输入公式:
(如果退房当天不算在住,把公式改成{[Start date]..[End date]}{[Start date]..Date.AddDays([End date], -1)}即可) - 点击新生成列右上角的「展开到新行」按钮,把日期列表拆成单独的行
- 点击「关闭并上载」,将处理后的数据导出到新工作表
2. 创建带时间线的数据透视表统计在住房间数
- 基于处理后的新数据创建数据透视表:选中新数据区域,切换到「插入」选项卡,点击「数据透视表」
- 在数据透视表字段面板中:
- 将展开后的「自定义」列(即单日日期)拖到「筛选器」区域,或者直接插入时间线:选中数据透视表,切换到「分析」选项卡,点击「插入时间线」,选择这个日期列
- 将
Room number拖到「值」区域,右键点击值区域的字段,选择「值字段设置」,改成「非重复计数」(避免同一房间同一天被重复统计)
完成设置后,用时间线筛选任意日期时,所有当天处于预订状态(入住未退房)的房间都会被纳入统计,完美解决原问题。
内容的提问来源于stack exchange,提问作者Keperoze
相关产品推荐
相关产品推荐

