2016-11-10 78 views
0

我的任务是从报表中提取某些数据。我们在脚本软件中添加了一些内容,告诉我们通话顾问在脚本中花了多长时间。这在字符串中间几乎总是正确的,字符串的长度也不相同。如何在Excel中提取混合字符长度字符串中的vareid长度数字

我在下划线或者我需要提取更容易的文本一边补充说,不过我非常希望只使用一个下划线在最后分开了。下面是一些例子如何字符串出现:

ZZ测试脚本仅供测试:测试清单;是; 花费的时间在剧本:11

嗨,我们已经收到了来自客户女士就其发出呼叫:..._时间花在剧本:123_Q1 =要任务?:A1 =“其他”谁做的。 ...

我所追求的是一个方法来提取只是数字图后:“时间在剧本花:”这些数字可以长1-4个字符之间。可能5但不太可能。我尝试将字符提取到第二个下划线左侧(我可以删除第一个下划线,以便所有将来的报告都不会有这个),但是这是假设字符串中没有其他下划线。我们经常在那里有电子邮件地址,其中有些地址有下划线。

我知道有可能通过多种方式来做到这一点,一直停留在这几个小时,因为我来自一个SQL背景,所以Excel是不是我的专长。

+0

这可能是因为你将要使用正则表达式:http://stackoverflow.com/questions/22542834/how-to-use-regular-expressions-regex-in- microsoft-excel-in-cell-and-loops – maxhob17

+0

数字*总是*前面加上“在脚本中花费的时间:”? – tigeravatar

+0

嗨tigeravatar,是的,它将始终是这种格式。 Maxhob17,我目前正在通过这个阅读来了解更多信息,之前从未在宏中使用过宏,所以它很慢! –

回答

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))