SEARCH和SUBSTITUTE多个值

时间:2017-02-06 05:26:30

标签: excel substitution

D列是C列LOOKUP的结果

   A       B       C          D
1 1234   1234567   Person1   ASKXXXXXXXX
2 3692   8465837   Person2   AFTXXXX

我需要用B替换D中的X,如果有8个, 如果有4X,则将D中的X替换为A.

我尝试过下面的公式,但只适用于8X,而不是4X。

    =IF(SEARCH("XXXXXXXX",D2),SUBSTITUTE(D2,"XXXXXXXX",$B$2),IF(SEARCH("XXXX",D2),SUBSTITUTE(D2,"XXXX",$A$2),""))

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

如果SEARCH失败,则会得到#VALUE!作为结果。 IF公式不知道如何处理这个问题,所以它失败了。

您需要编写公式来处理错误。这样做:

=IF(NOT(ISERROR(SEARCH("XXXXXXXX",D2))),SUBSTITUTE(D2,"XXXXXXXX",$B$2),IF(NOT(ISERROR(SEARCH("XXXX",D2))),SUBSTITUTE(D2,"XXXX",$A$2),D2))

答案 1 :(得分:0)

这适用于您提供的数据

=LEFT(TRIM(D2),3)&IF(LEN(RIGHT(TRIM(D2),LEN(TRIM(D2))-3))=4,A2,B2)