我每天都收到一些我需要分开的短信。我有数百行类似于下面的摘录:
COMMODITY PRICE DIFFERENTIAL: FEB50-FEB40 (APR): COMPANY A OFFERS 1000KB AT $0.40我需要从文本中提取单个片段,因此对于每个单独的单元格,我的结果需要日期、月份、公司、大小和价格。在这种情况下,结果将是:
FEB50-40
APR
COMPANY A
100
0.40我正在努力解决的问题是一致性。例如,一行可能有FEB50-FEB40、另一个FEB5-FEB40或FEB50-FEB4。另一个给我带来困难的例子是,一些行可能有'COMPANY A'和另一个'COMPANYA' (一个单词而不是两个)。
有什么想法吗?我一直在尝试下面的组合,但我不能得到一致的结果。
=TRIM(MID(SUBSTITUTE($D7," ",REPT(" ",LEN($D7))), (5)*LEN($D7)+1,LEN($D7)))
=MID($D7,20,21-10)
=TRIM(RIGHT(SUBSTITUTE($D6,"$",REPT("$",2)),4))有时我会
FEB40-50(' OR 'FEB40-FEB5' 当它应该是
'FEB40-FEB50'`感谢你能帮助我。
发布于 2021-02-16 21:58:59
在这种情况下,您可能会达到公式的极限,但是使用Power Query,您仍然可以工作。
在我看来,您希望应用以下逻辑从该字符串中提取文本:
COMMODITY PRICE DIFFERENTIAL: FEB50-FEB40 (APR): COMPANY A OFFERS 1000KB AT $0.40在第一个(
AT
OFFERS之后,在AT之后
这些可以很容易地转换成Power中的几个“拆分”场景。
由自定义分隔符(即冒号和空格)拆分的ocurrence
OFFERS
(拆分新的第一列--即空格和括号--用于leftmost
),第二列中没有任何内容,
AT拆分第四列。
屏幕截图在重命名列和将查询加载到工作表之前,在Power编辑器中显示输入数据和结果。
加载查询后,可以在输入表中添加/删除数据,只需刷新查询即可获得结果。没有公式,只需点击带状命令。

您可以进一步从列中删除"KB“,将其转换为一个数字,再除以100。您的业务处理逻辑将驱动您想要做的事情。一步一步就行了。
https://stackoverflow.com/questions/66232607
复制相似问题