如何在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
相关产品推荐
相关产品推荐

