在Excel中提取文本

安东尼

我每天收到一些需要分开的文字。我有几百行类似于下面的摘录:

COMMODITY PRICE DIFFERENTIAL: FEB50-FEB40 (APR): COMPANY A OFFERS 1000KB AT $0.40

我需要从此文本中提取单个代码段,因此对于每个单独的单元格,我的结果都需要是日期,月份,公司,大小和价格。在这种情况下,结果将是:

FEB50-40
APR
COMPANY A
100
0.40

我正在努力解决的问题是统一性。例如一行可能有FEB50-FEB40,另一FEB5-FEB40FEB50-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'`

谢谢谁能提供帮助。

竖琴

在这种情况下,您可能会遇到公式的限制,但是使用Power Query仍可以工作。

如我所见,您想应用以下逻辑从该字符串中提取文本:

COMMODITY PRICE DIFFERENTIAL: FEB50-FEB40 (APR): COMPANY A OFFERS 1000KB AT $0.40
  • 第一个之后和第一个:之前的文本(
  • 方括号之间的文字
  • 单词之后OFFERS和之前的文本AT
  • 'AT'之后的文字

这些可以轻松转换为Power Query中的几个“拆分”方案。

  • 按自定义分隔符: -冒号和空格-每次出现
  • 删除第一列
  • 将新的第一列拆分为 (-这是空格和括号-最左边
  • )在第二栏中替换为空
  • 用定界符分割第三列 OFFERS
  • 用定界符分割新的第四列 AT

屏幕快照在重命名各列之后以及将查询加载到工作表中之前,在Power Query编辑器中显示了输入数据和结果。

加载查询后,您可以在输入表中添加/删除数据,只需刷新查询即可获得结果。没有公式,只需单击功能区命令。

在此处输入图片说明

您可以通过从列中删除“ KB”,将其转换为数字并除以100来进行进一步处理。您的业务处理逻辑将推动您要做的事情。一次只迈出一步。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章