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),""))
感谢您的帮助。
答案 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)