我正在使用这个公式
=IF((LEFT($B26,2)="<p"),0,IF($B26="",0,IF($F26<>"",0,(FIND("""../",$B26)))))
解析类似如下的数据。
<nobr> contractor information</nobr><br>
<a href="../City_Electrical_Inspectors.htm"><b> City Electrical Inspectors</b></a><br>
<nobr> <a href="../City_Electrical_Inspectors.htm"><b>inspection</b></a></nobr><br>
我的问题出现在第一行这样的情况中,其中该行既不是新段落也不是链接,并且我FIND
返回一个错误#VALUE!
我想创建一个IF
测试,在处理该语句之前扫描该行以查找该语句中是否存在模式FIND
。我认为寻找错误条件可能是可行的方法。但是,我能想到的唯一方法是将其作为一个自引用公式,类似于以下伪代码。
IF(ISERROR($L26)=TRUE,$L26=0,L$26=上述公式的结果)
可以用公式来完成这个吗?还是我需要使用新的辅助列?
谢谢。
答案1
如果您使用的是 Excel 2007 或更新版本,则可以将该FIND()
函数包装在IFERROR()
函数中。
=IF((LEFT($B26,2)="<p"),0,IF($B26="",0,IF($F26<>"",0,IFERROR(FIND("""../",$B26),0))))
对于不支持的旧版 Excel IFERROR()
,您可以使用以下更长的解决方案。
=IF((LEFT($B26,2)="<p"),0,IF($B26="",0,IF($F26<>"",0,IF(ISERROR(FIND("""../",$B26)),0,FIND("""../",$B26))))