使用替换或替换以特定顺序将指定字符更改为另一个单元格中的字符 Excel

问题描述 投票:0回答:2

想象一下,如果您愿意,单元格 A1 具有以下内容:Abba 是一支很棒的乐队。

单元格 2 应该使用替换和/或替换将 a 的六次出现更改为单元格 3 中的替换

Cell 3 具有以下内容:123456

所以单元格 2 应该看起来像:1bb2 w3s 4 gre5t b6nd.

到目前为止,我找不到任何允许我这样做的东西。我有可能在给定的单元格中获得“19 个结果”。我想我可以做一个 60 单元格系统,使用 left 来拉每个字符,检查它们,然后在替换项目上使用 left 来按顺序放置它,但这看起来非常繁琐

excel replace substitution
2个回答
2
投票

用字符序列替换字符

  • 如果设置总是那么方便,您可以使用:
=LET(d,A1,s,C1,dl,"a",
TEXTJOIN(MID(s,SEQUENCE(LEN(s)),1),0,TEXTSPLIT(d,,dl,,1)))

...这是简短的(可读性较差):

=LET(d,A1,s,C1,dl,"a",
   se,MID(s,SEQUENCE(LEN(s)),1),
   sp,TEXTSPLIT(d,,dl,,1),
TEXTJOIN(se,0,sp))

2
投票

一个选项:

A2
中的公式:

=REDUCE(A1,MID(B1,SEQUENCE(LEN(B1)),1),LAMBDA(a,b,REPLACE(a,SEARCH("a",a),1,b)))

另一个更详细的选项:

=TEXTJOIN(MID(B1,SEQUENCE(LEN(B1)),1),,TEXTSPLIT(TEXTBEFORE(A1,"a",7,1,,A1),"a"))&TEXTAFTER(A1,"a",7,1,,"")

如果你想用适当的数字替换它,我想它会变得更容易一些:

=REDUCE(A1,SEQUENCE(LEN(B1)),LAMBDA(a,b,IFERROR(REPLACE(a,SEARCH("a",a),1,b),a)))
© www.soinside.com 2019 - 2024. All rights reserved.