如果公式返回包含“ @”的值,则返回空白

时间:2019-11-04 14:46:37

标签: excel excel-formula

我正在使用这个方程式

  

= IF(ISBLANK(A2),“”,PROPER(LEFT(A2,FIND(“。”,A2)-1)))

要返回电子邮件地址的名字,但是,如果电子邮件采用johnj@test.com格式而不是john.johnson@test.com格式,则会返回johnj @ test。

如果单元格返回包含“ @”符号的值,我希望该单元格返回空白。

3 个答案:

答案 0 :(得分:0)

对此进行考虑的另一种方法是,相对于找到的.的位置来测试找到的@的位置。如果@前没有句号,则只需返回一个空白字符串即可。

您可以在当前公式中轻松添加此检查:

=IF(OR(ISBLANK(A2),FIND(".",A2)>FIND("@",A2)),"",PROPER(LEFT(A2,FIND(".",A2)-1)))

enter image description here

编辑:

您可能希望使用这种方法来处理空白单元格:

=IFERROR(IF(FIND(".",A2)>FIND("@",A2),"",PROPER(LEFT(A2,FIND(".",A2)-1))),"")

答案 1 :(得分:0)

使用IF()并检查点的位置是否在@之前。

=IF(FIND(".";A2)>FIND("@";A2);"";LEFT(A2;FIND(".";A2)-1))

编辑:OP似乎有作为参数分隔符,而不是;

=IF(FIND(".",A2)>FIND("@",A2),"",LEFT(A2,FIND(".",A2)-1))

答案 2 :(得分:0)

这是另一种方式:

=IFERROR(IF(ISBLANK(A2),"",PROPER(LEFT(A2,MIN(FIND(".",A2), FIND("@",A2))-1))),"")

上面的命令返回第一个.@左边的内容,该位置先出现。如果输入的内容没有子串,IFERROR将会返回一个空白单元格