首页 > 解决方案 > 如何在 Excel 单元格中替换字符并删除 no

问题描述

我的 Excel 单元格中有此内容“ TS_Bud03A”我有其他单元格内容,其中的内容不应被下面的第 1 号项目符号触及。例如细胞与P_Har02b

我想要一个用于 2 次操作的嵌套公式

  1. 用“TVS_”替换“TS_”
  2. 如果存在,则删除 2 位数字后的最后一个字母

对于第一次操作,我制定了这个公式

=SUBSTITUTE(K12;"TS_";"TVS_")

有用。但是我如何嵌套另一个替代品,它将删除 2 位数字之后的最后一个字母(任何情况下 - 如果它存在)?

通过结合下面的2个答案,我想我几乎明白了。像这样:

=SUBSTITUTE(REPLACE(LEFT(K15;LEN(K15)--ISNUMBER(RIGHT(K15;1)*1)-1);2;0;"V");"TS_";"TVS_")

但是它仍然将其更改为此P_Bud04aPV_Bud04这是错误的。P 细胞必须保持不变。有什么想法可以删除添加我在问题中的公式的 V 部分的替换吗?

标签: excelexcel-formula

解决方案


看看以下是否适合您:

在此处输入图像描述

中的公式B1

=REPLACE(LEFT(A1,LEN(A1)--ISNUMBER(RIGHT(A1,1)*1)-1),2,0,"V")

  • REPLACE(<string>,2,0,"V")- 就像将子字符串粘贴到字符串中一样。
  • LEFT(A1,LEN(A1)-<number>- 我们在第一个参数中的字符串REPLACE()必须是全长或减一。这个数字仍有待确定。
  • -ISNUMBER(RIGHT(A1,1)*1)-1- 将检查最后一个字符A1是否为数字,然后将返回一个布尔值TRUEFALSE. 它们的等效数值是10。所以如果TRUE它会返回0,如果FALSE它会返回1

编辑:在您发表评论后,我了解您的数据并不总是以 开头TS_,因此您需要简单地REPLACE()与交换SUBSTITUTE(),例如:

=SUBSTITUTE(LEFT(A1,LEN(A1)--ISNUMBER(RIGHT(A1,1)*1)-1),"TS_","TVS_")

推荐阅读