从一串文本中提取数字 - Excel

时间:2013-11-14 14:13:26

标签: excel excel-formula

我正试图从excel中的一串文本中间拉出一个数字。 字符串是alpha,numeric和一些字符的混合。

示例数据字符串: -

Web Address 
/products_list.php?retailer=8&cat=43
/products_list.php?retailer=22&cat=43
/products_list.php?retailer=8&cat=1011
/products_list.php?retailer=81&cat=1023
/products_list.php?retailer=147&cat=1224
/products_list.php?retailer=8&cat=1
/products_list.php?retailer=147&cat=4
/products_list.php?retailer=147&cat=401

我想要实现的是

example excel

我从文本中删除了所有数字,但实际上无法解决如何将数字放在中间或最后的数字。

我尝试修复此问题的代码是: -

=SUM(MID(0&A3,LARGE(ISNUMBER(--MID(A3,ROW(INDIRECT("1:"&LEN(A3))),1))*ROW(INDIRECT("1:"&LEN(A3))),ROW(INDIRECT("1:"&LEN(A3))))+1,1)*10^ROW(INDIRECT("1:"&LEN(A3)))/10)

SCE表示数组公式。

如果可能的话,我更喜欢宏观上的公式。

哦,以防它使用Excel 2010产生影响。

2 个答案:

答案 0 :(得分:5)

零售商(B2):

=LEFT(RIGHT(A2,LEN(A2)-FIND("=",A2)),FIND("&",RIGHT(A2,LEN(A2)-FIND("=",A2)))-1)

Cat编号(C2):

=RIGHT(A2,LEN(A2)-(FIND("cat=",A2)+3))

拖动公式并

enter image description here

答案 1 :(得分:2)

这看起来很丑陋(我不是excel专家),但它适用于你提供的列表。

零售商公式:

=MID(A2,FIND("retailer=",A2)+9,FIND("&",A2)-(FIND("retailer=",A2)+9))

猫号的公式:

=MID(A2,FIND("cat=",A2)+4,100)