【问题标题】:Excel remove text before last "|" character in stringExcel删除最后一个“|”之前的文本字符串中的字符
【发布时间】:2023-03-21 20:16:01
【问题描述】:

我在 Excel 文件中有一些以| 分隔的多张图片 例如:

http://s3.supplyhouse.com/images/products/small/gt2700-15-3.jpg|http://s3.supplyhouse.com/images/products/small/gt2700-15-4.jpg|http://s3.supplyhouse.com/images/products/small/gt2700-15-1.jpg

我想从单元格中提取最后一张图像。

我需要配置=RIGHT 公式,该公式将删除所有文本在最后一个 | 字符。

在某些单元格中有 | 字符 3 次,某处,2,某处 4。 所以我需要找到最后一个并删除它之前的所有字符,我不需要像“查找第三个 | 字符并删除它之前的所有字符”之类的东西。

【问题讨论】:

标签: excel excel-formula


【解决方案1】:

我结合了一些 excel 公式并制作了这个有效的公式:

=RIGHT($D1,LEN($D1)-SEARCH("^^",SUBSTITUTE(D1,"|","^^",LEN(D1)-LEN(SUBSTITUTE(D1,"|","")))))

如果有人认为缺少某些东西,请发表评论。

【讨论】:

    【解决方案2】:

    更简洁的方法是使用 1 个公式来识别图像中断,然后使用另一个公式来提供图片字符串。然后只需使用偏移功能来捕获您的答案的最后一张图像。

    注意:我把你的图片串插入了A1

    第 1 列:图片#

    第 2 列:每张图片的字符串 =IFERROR(SEARCH(".jpg",$A$1),"")

    第 3 列:图片文字:=IFERROR(LEFT($A$1,B4+3),"")

    【讨论】:

    • 也许这是一个更好的设计,但您没有解决所提出的问题。
    • 如果你使用偏移量就可以了。因此,如果您在第 2 列或第 3 列使用 counta,它将告诉您字符串中有多少张图片。然后,您可以使用偏移量仅抓取最后一张图片或字符串,而忽略其他所有内容
    【解决方案3】:

    仅获取图像文件名,

    =TRIM(RIGHT(SUBSTITUTE(A2,"/",REPT(" ",LEN(A2))),LEN(A2)))
    

    要获取完整链接,

    =TRIM(RIGHT(SUBSTITUTE(A2,"|",REPT(" ",LEN(A2))),LEN(A2)))
    

    【讨论】:

    • 我相信这是正确的答案(也是最短的公式)。
    【解决方案4】:

    Col A - 要处理的数据

    Col b - =TRIM(IF(ISERROR(FIND("-",A2)),"",MID(A2,FIND(CHAR(1),SUBSTITUTE(A2,"-",CHAR( 1),LEN(A2)-LEN(SUBSTITUTE(A2,"-","")))),255)))

    Col c - =SUBSTITUTE(A5,B5,"")

    Col c 将是您的输出列

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-12
      • 2011-12-15
      • 2016-10-11
      • 2020-12-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多