删除Excel中字符串的尾随斜杠

cfh9epnr  于 2023-06-25  发布在  其他
关注(0)|答案(5)|浏览(147)

Excel中有多个行。下面是示例模式:

/xxx/yyy/zzz////
/xxx/yyy/zzz//
/xxx/yyy/zzz//////
/xxx/yyy/zzz

删除斜杠后,输出将如下所示:

/xxx/yyy/zzz
/xxx/yyy/zzz
/xxx/yyy/zzz
/xxx/yyy/zzz

请让我知道Excel公式剥离斜线。最后一个示例模式不包含任何斜线。谢谢!
我试过这个公式,它不起作用-

=IF(RIGHT(A1,1)="/",LEFT(A1,LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))+1),A1)
30byixjq

30byixjq1#

尝试使用TEXTSPLIT()和TEXTJOIN()

·单元格B1中使用的公式

="/"&TEXTJOIN("/",,TEXTSPLIT(A1,"/",,1))
    • 编辑:**

使用TEXTJOIN()TAKE()& TEXTSPLIT()

·单元格B1中使用的公式

=TEXTJOIN("/",0,TAKE(TEXTSPLIT(A1,"/"),,4))

或者
·单元格C1中使用的公式

=TEXTJOIN("/",0,TAKE(TEXTSPLIT(A1,,"/"),4))

或者,如果你喜欢与DAF一起溢出

·在单元格B1

=MAP(A1:A4,LAMBDA(m,TEXTJOIN("/",0,TAKE(TEXTSPLIT(m,,"/"),4))))
    • 警告:**我认为添加警告对于第二种方法是有意义的。因为我已经假设了在/4th出现之前的任何东西都需要保留,并且其余部分被删除,如果没有4th,它应该是原样。

这是我的两分钱,不能比这更好。使用TEXTBEFORE()

·单元格B1中使用的公式

=TEXTBEFORE(A1&"/","/",4)

或者,一个溢出的:

=TEXTBEFORE(A1:A4&"/","/",4)

由于我不知道您的Excel版本,添加一个替代版本,适用于Excel 2010+。

·单元格B1中使用的公式

=LEFT(SUBSTITUTE(A1&"/","/","@",4),
FIND("@",SUBSTITUTE(A1&"/","/","@",4))-1)
prdp8dxp

prdp8dxp2#

如果你的模式真的很有代表性,那么

=LEFT(A1,FIND("//",A1&"//")-1)

flmtquvp

flmtquvp3#

删除字符的尾随位置

=LET(data,A2:A11,ch,"/",dch,"@",es,"",od,"",
    BYROW(data,LAMBDA(br,
        IF(LEN(br)=0,es,LET(
            rd,REDUCE(br,SEQUENCE(LEN(br)),LAMBDA(rr,r,LET(
                    ri,RIGHT(rr,1),
                IF(ri=dch,rr,IF(ri=ch,LEFT(rr,LEN(rr)-1),rr&dch))))),
            IF(LEN(rd)=0,od,LEFT(rd,LEN(rd)-1)))))))
osh3o9ms

osh3o9ms4#

你是不是特别要求只使用尾随的正斜杠?如果是这样,你可以尝试:

B1中的公式:

=MAP(A1:A6,LAMBDA(x,TEXTBEFORE(x,TEXTAFTER(x,TEXTSPLIT(x,"/",,1),-1),-1)))

或者,稍微严格一点(如果你只有正斜杠:

=MAP(A1:A7,LAMBDA(x,LEFT(x,@TOCOL(FIND(REPT("/",SEQUENCE(LEN(x),,LEN(x)-1,-1))&"@",x&"@")-1,3))))
m4pnthwp

m4pnthwp5#

“最后一个示例模式不包含任何斜线。”假设最后一个单元格是A4

=LEFT(A1;LEN($A$4))

相关问题