答案1
这是因为公式在“rr”和“rrr”单元格值中都找到了单个“r”。尝试更改 ISNUMBER 条件的顺序。从“rrr”开始,然后是“rr”,最后是“r”。应该可以。
=IF(ISNUMBER(SEARCH("N/A",$L2)),$E2+$AY$2,IF(ISNUMBER(SEARCH("rrr",$L2)),$E2+$AY$5,IF(ISNUMBER(SEARCH("rr",$L2)),$E2+$AY$4,IF(ISNUMBER(SEARCH("r",$L2)),$E2+$AY$3))))
祝好,卢卡斯
答案2
按照我们看到的公式:
IF( ISNUMBER(SEARCH("N/A",$L2)),
$E2+$AY$2,
IF( ISNUMBER(SEARCH("r",$L2)),
$E2+$AY$3,
IF( ISNUMBER(SEARCH("rr",$L2)),
$E2+$AY$4,
IF( ISNUMBER(SEARCH("rrr",$L2)),
$E2+$AY$5
)
)
)
)
现在我们看到:
- 最后一个(最里面的)IF() 不包含 ELSE 部分;
- 对于由更多内部 IF() 测试的任何值,第二个 IF() 都会给出 True - 因此没有内部 IF() 可以给出 True,因为外部 IF() 已经这样做了。
建议:用简单的方程测试代替SEARCH()。
答案3
该SEARCH
函数ISNUMBER
可用于检查单元格是否包含特定文本。
SEARCH
如果找到,则返回搜索字符串的位置,并且公式通过使用ISNUMBER
查找其数字位置来测试是否找到搜索字符串。
在您的情况下,在查找rr
或时,公式会在和中rrr
找到并且每次计算而不是或。r
rr
rrr
$E2+$AY$3
$E2+$AY$4
$E2+$AY$5
如果L2
包含除rr
或以外的任何文本,则rrr
相同的公式将起作用。
@Muji 耍了个花招,以相反的顺序使用搜索字符串,以便公式首先找到然后rrr
找到&rr
并正常工作。r
rrr
简单的人IF function
就能成功测试所有这些。
=IF($L$2="N/A",$E$2+$AY$2,IF($L$2="r",$E$2+$AY$3,IF($L$2="rr",$E$2+$AY$4,IF($L$2="rrr",$E$2+$AY$5))))
根据需要调整公式中的单元格引用。