如何从 Excel 单元格中提取多个 URL?

How could I pull out multiple URLs from an Excel Cell?

在 excel 2007 年,我怎样才能从包含以下内容的单元格中仅提取 URLs?

"ITEMIMAGEURL1=http://d3d71ba2asa5oz.cloudfront.net/73001099/images/ap1240__a.jpg,ITEMIMAGEURL2=http://d3d71ba2asa5oz.cloudfront.net/73001099/images/ap1240__b.jpg"

有些单元格最多有 12 个不同的 URLs。

理想情况下,我可以提取 URL 1 并将其放在自己的列中,然后 URL 2 并将其放在自己的列中。

在不进入 VBA 的情况下,这里有一些有用的东西。

选择您的单元格,然后转到“数据”选项卡,"Text to Columns"。选择 "Delimited",作为分隔符,在 "Other" 空白处输入 =。单击 "Finish" 和 Excel 将分隔同一行中的 URL。

然后,在这些下面,您可以输入这个公式(假设您的数据在第 1 行): =IF(LEFT(B1,4)<>"Item",IFERROR(LEFT(B1,SEARCH(",",B1)-1),B1),"") 拖过去。

您的 A1 将只有 "ITEMIMAGEURL1",但在 B1 中,它将是空白的。 B2 将只是第一个 URL 的 URL,C2 将是第二个 URL,等等

Here's a .gif 向您展示我所做的。

用A2中的第一个多URL把这个公式放到B2中,

=MID(TRIM(MID(SUBSTITUTE(","&$A2, ",ITEMIMAGEURL", REPT(" ", 999)), COLUMN(A:A)*999, 999)), 3+(COLUMN(A:A)>9), 999)

再向右填写 11 列。根据需要填写。

用A1中的第一个multi-URL,把这个公式放在B1中

=MID($A1,FIND("IMAGEURL"&COLUMN()-1,$A1)+10,IF(ISERR(FIND("IMAGEURL"&COLUMN(),$A1)),LEN($A1),FIND(",",$A1,FIND("IMAGEURL"&COLUMN()-1,$A1))-10-FIND("IMAGEURL"&COLUMN()-1,$A1)))

再向右填写 11 列。根据需要填写。