2016-11-10 77 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))