
答案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
or時rrr
,公式會查找r
Betweenrr
和 in rrr
,並且每次都會計算$E2+$AY$3
而不是$E2+$AY$4
or $E2+$AY$5
。
如果L2
包含除rr
或之外的任何文本,則rrr
相同的公式將起作用。
@Muji 做到了這一點,以相反的順序使用搜尋字串,以便公式找到第一個rrr
then rr
& r
inrrr
並正常工作。
簡單的人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))))
根據需要調整公式中的儲存格引用。