Excel Power Query-替换新列中的文本
我不熟悉Excel中的Power Query,我的问题是: 我有一个带有日期的文本栏,格式为“09-Feb-17a”。为了删除文本“A”并在新列(自定义列?)中填充日期信息,我使用了以下代码:Excel Power Query-替换新列中的文本,excel,powerquery,Excel,Powerquery,我不熟悉Excel中的Power Query,我的问题是: 我有一个带有日期的文本栏,格式为“09-Feb-17a”。为了删除文本“A”并在新列(自定义列?)中填充日期信息,我使用了以下代码: = Table.AddColumn(#"Changed Type", "Start Date", each Replacer.ReplaceText([Start], " A","")) 问题是一些日期格式正确,即没有“A”。对于这些日期,我得到一个错误: 表达式.错误:无法将值#date(2019,1
= Table.AddColumn(#"Changed Type", "Start Date", each Replacer.ReplaceText([Start], " A",""))
问题是一些日期格式正确,即没有“A”。对于这些日期,我得到一个错误:
表达式.错误:无法将值#date(2019,1,11)转换为
键入文本。细节:
价值=2019年1月11日
类型=类型
在power query中是否有解决此问题的方法
提前谢谢。也许吧
- 将列数据类型更改为
(日期-->日期时间)Text
- 提取
空格前面的字符串部分
- 可选将列数据类型更改为
Date
或许
- 将列数据类型更改为
(日期-->日期时间)Text
- 提取
空格前面的字符串部分
- 可选将列数据类型更改为
Date
您可以使用
try
来处理这两种数据类型:
= Table.AddColumn(#"Changed Type", "Start Date", each try Date.FromText(Replacer.ReplaceText([Start], " A","")) otherwise DateTime.Date([Start]), type date)
或者,它将提取第一个空格之前的日期,而不管后面是哪个(或多少)字符:
= Table.AddColumn(#"Changed Type", "Start Date", each try Date.FromText(Text.BeforeDelimiter([Start], " ")) otherwise DateTime.Date([Start]), type date)
您可以使用try
来处理这两种数据类型:
= Table.AddColumn(#"Changed Type", "Start Date", each try Date.FromText(Replacer.ReplaceText([Start], " A","")) otherwise DateTime.Date([Start]), type date)
或者,它将提取第一个空格之前的日期,而不管后面是哪个(或多少)字符:
= Table.AddColumn(#"Changed Type", "Start Date", each try Date.FromText(Text.BeforeDelimiter([Start], " ")) otherwise DateTime.Date([Start]), type date)
谢谢罗恩,但不能让它工作-显然是因为我的知识有限。谢谢罗恩,但不能让它工作-显然是因为我的知识有限。