【发布时间】:2021-02-16 21:42:32
【问题描述】:
我每天都会收到一些需要分开的短信。我有数百行类似于下面的摘录:
COMMODITY PRICE DIFFERENTIAL: FEB50-FEB40 (APR): COMPANY A OFFERS 1000KB AT $0.40
我需要从该文本中提取单独的 sn-ps,因此对于单独的单元格中的每个,我的结果需要是日期、月份、公司、大小和价格。在这种情况下,结果将是:
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'`
感谢能提供帮助的人。
【问题讨论】:
-
您的问题和您的previous one 一样不清楚。为什么大小输出是 100 而不是 1000?
-
所以如果 Date 总是在第一个冒号和第一个左括号之间,那么这个 sn-p 将返回日期: [=MID(LEFT(A1,FIND("(",A1)- 1),FIND(":",A1)+1,LEN(A1))]。创建类似的或其他的部分。调整空格。
-
@BigBen 大小无关紧要。 100 或 1000 是文本而不是数字,我只是对在单独的单元格中分离提取 100 感兴趣。
标签: excel parsing text trim left-recursion