1

我只想使用 Excel 公式(没有 VB 脚本)来解决这个问题。这是A列,每一行都是另一个单元格(我将URL中的冒号替换为星号,因为我无法发布它们):

dkfl kdf l sfljdsgfs http*//www.ebay.com/haha.jpg" sfkld fk
dl san djfms djd http*//www.amazon.com/ka.jpg" js ka jfo jdjs http*//www.google。 com/lilo.jpd fd sfdg
sdf sdf jpg https*//www.microsoft.com/img.jpg" kkl lla

目标是提取每个单元格中的所有 URL。如果可能的话,也用逗号分隔(但只是得到它们会很好,我可以稍后在结果中添加一个逗号)。

我在单元格 B1(然后是 B2 和 B3)=LEFT(A1,FIND("jpg"" ",A1)+2)中使用了它,这给了我:

dkfl kdf l sfljdsgfs http*//www.ebay.com/haha.jpg
dl san djfms djd http*//www.amazon.com/ka.jpg
sdf sdf jpg https*//www.microsoft.com/img.jpg

在单元格 C1 中,我进一步使用了结果=RIGHT(B1,LEN(B1)-FIND(" http:",B1))

C列中的结果:

http*//www.ebay.com/haha.jpg
http*//www.amazon.com/ka.jpg
https*//www.microsoft.com/img.jpg

一切都很好,除了单元格 A2 有两个不同的 URL,我只能得到一个。提取所有 URL 的更好方法是什么?是否可以仅使用 Excel 公式?

4

2 回答 2

0

我并不完全清楚您的要求(一个单元格中超过 2 个/.jpd 或 .jpg/更好的方法是主观的),但下面的公式可能适合:

=MID(A1,FIND("http",A1),LEN(A1)-FIND("http",A1)+1)&"//"&C1&"/"&LEFT(D1,FIND(".jpg", D1)+3)&IF(ISBLANK(F1),"",",,"&MID(D1,FIND("http",D1),LEN(D1)-FIND("http",D1)+1)&" //"&F1&"/"&LEFT(G1,FIND(".jpg",G1)+3))

如果 columnA 首先分为列(数据 > 数据工具 > 文本到列,分隔,其他:/Finish)。

于 2013-07-23T13:43:15.617 回答
0

至少你必须把这个公式..

= MID(A1,INSTR(A1,"http"),INSTR(A1,"jpg")-INSTR(A1,"http")+2)
于 2013-07-04T12:50:49.983 回答