Lazy loaded imageEP022:使用 List.Range 函数

type
Post
status
Published
date
Jan 13, 2026
slug
EP022
summary
tags
财务bp
PowerBI
Power Query
数据分析
可视化图表
老汪洞察
category
699课程讲义
icon
password
notion image

这一节课讲 List.Range 其实是解决“跨行计算”(如累计求和、移动平均)和“结构重组”(如打印格式制作)的核心武器。
下面我为你设计1个高频的财务BP实战场景。

一、 核心函数:List.Range

  • 功能:从列表中截取一段连续的元素,返回一个新的列表。
  • 语法List.Range(列表, 偏移量(起始下标), [截取个数])
  • 参数详解
      1. 列表 (List):你要操作的那个源列表。
      1. 偏移量 (Offset):从哪个下标开始截取(注意:下标从 0 开始)。
      1. 截取个数 (Count):可选参数。如果不填,默认截取后面所有的;如果填了,就截取指定数量。
  • 示例
    • 列表:{1, 2, 3, 4, 5}
    • List.Range({1..5}, 2, 3) -> 从下标2(即数字3)开始,取3个数 -> 返回 {3, 4, 5}。
    • List.Range({1..5}, 0, 1) -> 从头开始,取1个数 -> 返回 {1}。

场景:预算执行分析——计算 YTD(年初至今)累计数

【业务背景】 作为营销部的财务BP,你需要按月监控广告费用的使用情况。单纯看当月的“实际 vs 预算”是不够的,因为广告投放有季节性(比如“双11”预算高,但款项可能10月就预付了,或者12月才入账)。 核心痛点:老板不仅要看当月超没超,更要看 “截止到本月,全年累计预算用了多少?累计超支了吗?”(即 YTD Analysis)。
【模拟数据源】 请将以下数据复制到 Excel,创建为表,命名为 BudgetTable
月份
部门
费用科目
当月预算(Budget)
当月实际(Actual)
备注
2024-01
市场部
广告推广费
100,000
85,000
春节前投放少
2024-02
市场部
广告推广费
120,000
110,000
开工季
2024-03
市场部
广告推广费
150,000
165,000
新品发布会,略超
2024-04
市场部
广告推广费
150,000
140,000
2024-05
市场部
广告推广费
200,000
250,000
618预热,提前抢量
2024-06
市场部
广告推广费
300,000
280,000
618大促
2024-07
市场部
广告推广费
100,000
90,000
淡季调整
2024-08
市场部
广告推广费
100,000
105,000
2024-09
市场部
广告推广费
150,000
140,000
准备国庆
2024-10
市场部
广告推广费
200,000
180,000
双11蓄水
2024-11
市场部
广告推广费
400,000
450,000
双11爆发,流量贵
2024-12
市场部
广告推广费
150,000
100,000
收尾
【Power Query 解决方案】
在 Excel 公式里,YTD 只需要 $D$2:D2 下拉即可。但在 PQ 里,数据是无序的集合,我们需要用 List.Range 配合 Index 来“圈”出要累加的范围。
操作步骤与代码解析:
  1. 加载数据:导入 BudgetTable
  1. 添加索引(关键):添加列 -> 索引列 -> 从 0 开始。(计算机数数从0开始,这决定了 List.Range 的起始点)。
  1. 缓冲列(优化性能):为了防止数据量大时卡顿,我们先把“预算”和“实际”这两列“缓存”到内存里变成列表。
      • 在高级编辑器里,在 添加索引 步骤后加入:
  1. 计算 YTD 预算:添加自定义列,名为 YTD_预算
      • 深度解读
        • ListBudget:我要切的大蛋糕(整年预算列表)。
        • 0:从第 1 个数(1月)开始切。
        • [索引]+1:切几个?如果当前是3月(索引是2),我就要切 2+1=3 个数(1月、2月、3月)。
        • List.Sum:把切下来的这块蛋糕加起来。
  1. 计算 YTD 实际:同样添加自定义列,名为 YTD_实际
    【财务BP视角价值】 做完这一步,你就可以直接添加一列 [YTD_实际] - [YTD_预算]。 你会发现,虽然 5 月份单月超支了 5 万(25万-20万),但看 YTD 数据,前 5 个月累计预算 72万,累计实际 75万,其实整体只超了 3万。这就是 YTD 分析帮助管理层平滑波动、理性决策的价值。

     
    【扫码识别下发二维码,获取本文使用到的及历史以来提及、发布的相关精选和原创资料,和我们一起充电,加入后可享受每月6次免费咨询提问,帮助解决您的特定问题!】
     
    如果本篇文章对您有帮助或启发,请帮我们点赞、转发、推荐、关注,让更多想转型财务BP、锻造数据分析和可视化洞察能力的财务同行们看到,关注【老汪洞察】,不迷路!
    notion image
    notion image
     
    温馨提示
    🙏🏻
    如果您不想错过【老汪洞察】的文章,请将我们设为"星标",这样每次最新文章推送才会第一时间出现在您的订阅列表里。 方法:点击文章页面左上角蓝色文字“老汪洞察”进入主页,点击关注后,再点主页右上角"...",然后选择"设为星标",即可完成,感谢您的支持。
     
    上一篇
    从Power Query到Power BI:¥699完整包年陪跑课程计划
    下一篇
    EP021:List.Transform遍历转换函数和代码版汇总文件夹下Excel工作簿
    Loading...
    文章列表
    让财税成为经营的力量
    管理报表
    从Power Query到Power BI,入门到精通
    699课程讲义
    VBA小工具
    电脑与网络
    知识运用