Lazy loaded imageEP022:使用 List.Range 函数

type
status
date
slug
summary
tags
category
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小工具
    电脑与网络
    知识运用