Excel公式计算第一次出现' /'从字符串的右侧

时间:2017-06-18 02:35:28

标签: excel excel-formula

我正在寻找一个可以在最后一次出现之前提取所有字符串的excel函数' /'

样品:

http://teamspace.abb.com/sites/Product/NAM_MASTERDATA

预期产出:

http://teamspace.abb.com/sites/Product

我可以通过使用下面的excel公式来实现这一点。但这种逻辑被认为是' /'发生在第5位。我正在寻找一个更灵活的公式,其中公式应计算第一次出现' /'从字符串的右侧。感谢您对此的任何帮助

=MID(A1,1,FIND("~",SUBSTITUTE(A1,"/","~",5))-1)

2 个答案:

答案 0 :(得分:3)

使用此:

=LEFT(A1,FIND("~",SUBSTITUTE(A1,"/","~",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))))-1)

它会找到最后一个" /"通过比较带有和没有" /"的字符串的长度。 enter image description here

答案 1 :(得分:2)

使用AGGREGATE的解决方案;首先找到最后一个" /"的位置。然后截断左:

=LEFT(A1, AGGREGATE(14,6,ROW($1:$200)/(MID(A1,ROW($1:$200),1)="/"),1)-1)

200代表最后"/"位置的任何上限。

要使数组的大小自动适应A1中字符串的长度,它的公式会更长但速度更快:

=LEFT(A1, AGGREGATE(14,6,ROW(OFFSET($A1,0,0,LEN(A1)))/
  (MID(A1,ROW(OFFSET($A1,0,0,LEN(A1))),1)="/"),1)-1)
相关问题