在一列中显示一个string中的数字

我有一列(B)(超过3k细胞):

TestUrl __________________________________ http://www.testing.eu/test123.html http://www.testing.eu/test154.html http://www.testing.eu/test983.html .. and so on ... 

我想在列C,只有数字:

 Numbers __________ 123 154 983 ..and so on.. 

我怎样才能做到这一点?

使用列B中的公式:

 =MID(A1,LEN("http://www.testing.eu/test") + 1, LEN(A1) - LEN(".html") - LEN("http://www.testing.eu/test")) 

使用VBA和正则expression式:

 Sub GetNumberFromURL() Dim regEx As Object, matches As Object, cl As Range Set regEx = CreateObject("vbscript.regexp") regEx.Pattern = "([0-9]+)" For Each cl In Range("A1:A10") //Update to suit your needs Set matches = regEx.Execute(cl) cl.Offset(0, 1) = matches.Item(0) Next End Sub 

使用数组公式..假设你的数据从B2开始。 在C2的公式栏中input。 然后而不是按ENTER键,请按CTRL + SHIFT + ENTER。 然后只需向下拖动即可复制到下面的其他单元格。

= SUMPRODUCT(MID(0& B2 ,LARGE(INDEX(ISNUMBER( – MID( B2 ,ROW($ 1:$ 50),1)* ROW($ 1:$ 50),0),ROW($ 1:$ 50) ,1)* 10 ^ ROW($ 1:$ 50)/ 10)

如果您的数据从其他地方开始,则更改公式中的B2。 更改后,请确保按下CTRL + SHIFT + ENTER而不是ENTER。

得到这个: http : //www.extendoffice.com/documents/excel/1622-excel-extract-number-from-string.html

在记事本中复制B列数据,用空string代替http://www.testing.eu/test ,然后用.html做同样的事情。 在replace/删除这些string后,粘贴列C中的记事本内容