不要显示#VALUE! 如果没有计算发生

我的Excel工作表有一个评论栏“O”。 如果“O”中的评论包含一个电子邮件地址,那么“Q”列将会使用下面的内容:

=IF(O7="","",TRIM(RIGHT(SUBSTITUTE(LEFT(O7,FIND(" ",O7&" ",FIND("@",O7))-1)," ",REPT(" ",LEN(O7))),LEN(O7))))

如果列“O”不包含任何信息,那么=IF(O7="","",FORMULA部分将使列Q保留为空,但如果列O包含信息但不包含电子邮件地址,我得到#VALUE!的填充错误,如果公式没有捕获到电子邮件地址,我需要这个字段为空,因为这会导致使用这个文档的脚本出现问题。

有没有人知道如何使列“Q”没有显示,如果它没有成功计算的基​​础上它的公式? 如果列“Q”中的公式没有解决任何信息,我需要列“Q”来显示任何内容。

谢谢您的帮助。

就像Felix说的那样,试试IFERROR:

 =IFERROR( IF(O7="","",TRIM(RIGHT(SUBSTITUTE(LEFT(O7,FIND(" ",O7&" ",FIND("@",O7))-1)," ",REPT(" ",LEN(O7))),LEN(O7)))), "" ) 

第一个参数是您尝试计算的值。 如果发生错误,则第二个参数将是结果。