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

如何在Power Query中使用MID函数提取指定列中的日期

Power Query提取日期并填充整列的解决方案

1. 提取目标日期

假设你的数据源在Power Query中名为Source,第33列的标识是Column33,且目标字符串"AUC as on October 15 2022"位于该列第一行。用M语言的Text.Middle(对应Excel的MID函数)提取日期:

// 提取日期文本
DateText = Text.Middle(Source{0}[Column33], 11, Text.Length(Source{0}[Column33]) - 10)
  • 起始位置设为11:因为"AUC as on "共10个字符,跳过这部分直接取后续的日期内容。
  • Text.Length(...) -10确保提取从第11位到末尾的所有字符,适配不同长度的日期格式。

2. 填充到第1列所有行

有两种快速实现方式:

  • 方式一:直接修改第1列
    选中第1列(假设列名为Column1),将其表达式替换为:
= List.Repeat({DateText}, Table.RowCount(Source))

这段代码会把提取到的日期重复数据源的总行数,直接填充整列。

  • 方式二:一次性完成(合并步骤)
    用完整M代码替换你的查询:
let
    Source = 你的数据源引用, // 替换成实际数据源,比如Excel.CurrentWorkbook(){[Name="表1"]}[Content]
    DateText = Text.Middle(Source{0}[Column33], 11, Text.Length(Source{0}[Column33]) - 10),
    UpdatedTable = Table.ReplaceValue(Source, each [Column1], DateText, Replacer.ReplaceValue, {"Column1"})
in
    UpdatedTable

这段代码会直接将第1列的所有值替换为提取到的日期。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 23:01:04