表达式。错误:名称';Text.BeforeDelimiter';不是';我没认出。Excel 2016

表达式。错误:名称';Text.BeforeDelimiter';不是';我没认出。Excel 2016,excel,powerquery,excel-2016,Excel,Powerquery,Excel 2016,我有一个来自Power Query editor的excel“添加列”。我的数据是这样的 26567-5698 51254-5458 6954-1545 45415 56541 5621 .. 有些在-之前有4位,有些在-之前有5位。对于介于-之间的值,我想提取第一部分(在分隔符之前) 我试了以下方法 if Text.Length(Text.BeforeDelimiter([MyCol], "-")) = 4 then "0" & Text.Start([

我有一个来自Power Query editor的excel“添加列”。我的数据是这样的

26567-5698
51254-5458
6954-1545
45415
56541
5621
..
有些在
-
之前有4位,有些在
-
之前有5位。对于介于
-
之间的值,我想提取第一部分(在分隔符之前)

我试了以下方法

if  
    Text.Length(Text.BeforeDelimiter([MyCol], "-")) = 4   
  then
    "0" & Text.Start([MyCol],4)
 else if  
     Text.Length(Text.BeforeDelimiter([MyCol], "-")) = 5   
  then 
     Text.Start([MyCol],5)
else
   [MyCol]
如果分隔符前面的长度为0,则添加一个
0
和前4位数字。否则,我要前5位数字

执行上述操作时,会出现以下错误:

表达式。错误:无法识别名称“Text.BeforeDelimiter”。 确保拼写正确

这是我正在关注的问题


我正在使用Excel 2016。我一直在搜索,没有找到任何与此相关的内容。任何帮助都将不胜感激

您可以使用其他文本函数进行变通

Left  = try Text.Start([MyCol], Text.PositionOf([MyCol], "-")) otherwise [MyCol]
Right = try Text.Range([MyCol], Text.Length([Left]) + 1) otherwise null

@AlexisOlson的可能重复在power query中实现我的目标有其他方法吗?还有其他方法,但您无法更新Excel吗?现在应该通过正常更新将其转入Excel 2016。@Wedge“现在应该通过正常更新将其转入Excel 2016”我正在使用Excel 2016,现在仍然是一个问题@Wedge你能给我一个其他方面的提示吗?我本想用分隔符分隔文本,但在分割后很难理解第一部分