【问题标题】:Split the Sub-String from a String in Excel在 Excel 中从字符串中拆分子字符串
【发布时间】:2016-10-13 18:48:04
【问题描述】:

例如这里是单元格 A1 中的字符串:

产品图片文件:2eeb_1_b__57081.JPG

产品图片网址:http://www.example.com/product_images/p/759/2eeb_1_b__57081.JPG

产品图片文件:r__06677.jpg

产品图片网址:http://www.example.com/product_images/e/130/r__06677.jpg

它包含两个图像 URL,我想在单元格 B1 和 C1 中填充这两个 URL。

【问题讨论】:

  • 你不能只使用文本到列(数据功能区)并将分隔符设置为逗号吗?
  • 很遗憾,在第二个文件名之后有一个逗号,但在第一个文件名之后没有 - 只是复制/粘贴到这个问题中的效果不佳,还是您的数据真的是这样设置的?
  • 共有 2 个网址。我想从提到的字符串中获取这两个 URL,并将它们放在两个单独的列中。

标签: excel macros excel-formula excel-2007 vba


【解决方案1】:

B1中输入这个公式:

=IFERROR(MID($A1,
SEARCH("http:",$A1),
SEARCH(".jpg",$A1,SEARCH("http:",$A1))
-SEARCH("http:",$A1)+LEN(".jpg")),"")

C1中输入这个公式:

=IFERROR(MID(SUBSTITUTE($A1,$B1,""),
SEARCH("http:",SUBSTITUTE($A1,$B1,"")),
SEARCH(".jpg",SUBSTITUTE($A1,$B1,""),
SEARCH("http:",SUBSTITUTE($A1,$B1,"")))
-SEARCH("http:",SUBSTITUTE($A1,$B1,""))+LEN(".jpg")),"")

D1中输入这个公式:

=IFERROR(MID(SUBSTITUTE(SUBSTITUTE($A1,$B1,""),$C1,""),
SEARCH("http:",SUBSTITUTE(SUBSTITUTE($A1,$B1,""),$C1,"")),
SEARCH(".jpg",SUBSTITUTE(SUBSTITUTE($A1,$B1,""),$C1,""),
SEARCH("http:",SUBSTITUTE(SUBSTITUTE($A1,$B1,""),$C1,"")))
-SEARCH("http:",SUBSTITUTE(SUBSTITUTE($A1,$B1,""),$C1,""))+LEN(".jpg")),"")

E1中输入这个公式:

=IFERROR(MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($A1,$B1,""),$C1,""),$D1,""),
SEARCH("http:",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($A1,$B1,""),$C1,""),$D1,"")),
SEARCH(".jpg",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($A1,$B1,""),$C1,""),$D1,""),
SEARCH("http:",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($A1,$B1,""),$C1,""),$D1,"")))
-SEARCH("http:",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($A1,$B1,""),$C1,""),$D1,""))+LEN(".jpg")),"")

这个公式在F1:

=IFERROR(MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($A1,$B1,""),$C1,""),$D1,""),$E1,""),
SEARCH("http:",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($A1,$B1,""),$C1,""),$D1,""),$E1,"")),
SEARCH(".jpg",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($A1,$B1,""),$C1,""),$D1,""),$E1,""),
SEARCH("http:",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($A1,$B1,""),$C1,""),$D1,""),$E1,"")))
-SEARCH("http:",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($A1,$B1,""),$C1,""),$D1,""),$E1,""))+LEN(".jpg")),"")

【讨论】:

  • 完美!这正是我正在寻找的。谢谢你永远祝福!
  • 如果 String 中有超过 2 个 URL 并且我们想在 D1、E1 等中填充怎么办?
  • 请编辑您的答案,最多 5 个 URL。它非常有帮助,解决了我今天的问题。请记住网址不能重复。
  • 因此您最多可以有五个网址,并且可以包括重复。对吗?
  • 如果它解决了您的原始问题,请接受答案。同时,我会查看其他网址,谢谢。
【解决方案2】:

设置 b1=left(a1,150);设置 c1=right(a1, 150)
(玩 150 以获得最佳长度)

在 b1/c1 中粘贴特殊/值

B1: 找到 *url: 并替换为空

B1:找到 jpg* 并替换为 jpg

C1: 找到 *url: 并替换为空

您可以对 B 列和 C 列执行此操作,而不仅仅是单元格。

【讨论】:

    猜你喜欢
    • 2019-10-11
    • 2012-01-04
    • 2023-04-02
    • 2014-09-26
    • 2015-01-16
    • 1970-01-01
    • 2020-12-01
    • 2016-04-28
    • 2018-09-07
    相关资源
    最近更新 更多