我的任务是从报告中提取某些数据。我们在脚本软件中添加了一些内容,告诉我们调用顾问在脚本中花了多长时间。这几乎总是在字符串的中间,字符串的长度不同。
我在下划线中添加了我需要提取的文本的任何一侧以使其更容易,但理想情况下我想在末尾仅使用一个下划线来分隔它。以下是字符串出现的一些示例:
ZZ TEST SCRIPT仅供测试:库存测试;是; 脚本花费的时间:11
嗨,我们收到了客户关于他们问题的电话:... _在脚本上花费的时间:123_Q1 =您想要执行任务的人?:A1 ='其他'....
我所追求的是一种只提取数字图的方法:“脚本花费的时间:”这些数字的长度可以在1-4个字符之间。潜在的5但不太可能。我尝试提取第二个下划线左侧的字符的方式(我可以删除第一个下划线,以便所有未来的报告都不会有这个),但这是假设字符串中没有其他下划线。我们经常有电子邮件地址,其中一些有下划线。
我知道可能有很多方法可以做到这一点,因为我来自SQL背景,所以坚持了几个小时,所以Excel不是我的专长。
答案 0 :(得分:0)
虽然下面介绍了一种更加迂回的方式来获得答案,但它确实避免了对宏的需求。
假设您的字符串位于A1
:
B1 (目标字符串的起始字符):=FIND("Time spent in script:",A1)
C1 (目标字符串的长度):=LEN("Time spent in script:") = 21
D1 (第一个位置" _"目标字符串后):=FIND("_",A1,B1)
E1 (结果):=INT(MID(A1,B1+C1,D1-B1-C1))