You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel 2016中如何用Power Query将Price列月/周价格转换为周度数值?

在Excel 2016的Power Query中将月度/周度价格转换为周度数值列

操作步骤:

  1. 导入数据到Power Query编辑器

    • 选中包含Price列的数据区域,切换到「数据」选项卡,点击「从表格/区域」(若数据未设置为表格,会提示创建表格,勾选「我的表格有标题」后确认),进入Power Query编辑器界面。
  2. 添加自定义计算列

    • 点击「添加列」选项卡,选择「自定义列」,在弹出的对话框中,将默认公式替换为以下M语言代码:
      = let
          PriceText = [Price],
          // 提取价格数字:取空格前的文本,移除英镑符号后转成数值
          Amount = try Number.From(Text.Remove(Text.BeforeDelimiter(PriceText, " "), {"£"})) otherwise null,
          // 判断是否为月度价格(统一转小写避免大小写问题)
          IsMonthly = Text.Contains(Text.Lower(PriceText), "month")
        in
          // 月度价格除以4.34813,周度价格直接返回数值,异常值返回null
          if IsMonthly and Amount <> null then Amount / 4.34813 else Amount
      
    • 点击「确定」生成自定义列。
  3. 调整数值格式(可选)

    • 选中新生成的自定义列,切换到「转换」选项卡,点击「格式化」→「保留小数位数」,设置为2位(或按需调整),让结果更规整。
  4. 加载数据回Excel

    • 点击「开始」选项卡的「关闭并上载」,选择将处理后的数据加载到新工作表或指定位置即可。

公式说明:

  • Text.BeforeDelimiter(PriceText, " "):提取价格文本中空格前的部分(如£1000)
  • Text.Remove(..., {"£"}):移除英镑符号,得到纯数字文本
  • Number.From(...):将数字文本转换为数值类型
  • try...otherwise null:处理格式异常的单元格,避免报错
  • Text.Contains(Text.Lower(...), "month"):兼容不同大小写的"month"文本,确保判断准确

内容的提问来源于stack exchange,提问作者user3009918

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 06:05:22