我使用以下公式并尝试了几种方法来消除#VALUE!错误,但没有成功。
公式如下:
=IF(SEARCH("Agent Name & ID:",A14)>0,(A15)*60*24,"")
如果搜索有效,我会得到正确的结果,但是如果搜索无效,我会得到错误#VALUE!
而不是“”指示的空白单元格。
请帮忙,我不确定我做错了什么。
答案1
您的 SEARCH 公式似乎在到达 IF 公式之前就返回了 #Value! 错误。请尝试使用 IFERROR 包装您的 SEARCH,以便在 IF 公式对其进行评估之前处理该错误。
=IF(IFERROR(SEARCH("Agent Name & ID",A14),"")<>"",(A15)*60*24,"")
这将评估 SEARCH,如果找到字符串,则返回 A14 中的值,否则返回空白。然后,IF 语句将返回空白(对于空白)或从 A15 计算的值。
您也可以使用单个 IFERROR 公式执行此操作,如 Milena Petrovic 所建议的那样,但您需要添加额外的计算。这也应该有效:
=IFERROR((SEARCH("Agent ID & Name",A14)*0)+((A15)*60*24),"")
如果找到搜索文本,它将返回一个通过乘法转换为 0 的值。然后可以安全地将此 0 添加到计算字段中。如果找不到该值,则错误将像以前一样转换为简单的空白。
答案2
正如您所说,问题出在 SEARCH 函数上。当 Ir 未找到指定字符串(“代理名称和 ID:”)时,它会返回 #VALUE(本例中为“代理名称和 ID:”)
尝试使用 IfError 函数而不是 IF
http://office.microsoft.com/en-001/excel-help/iferror-function-HA001231765.aspx