if函数如何使用searchfunction
我的Excel表有银行名称,IFSC代码和帐号。
我想从IFSC代码中得到银行名称。 为此,我使用了以下公式:
=IF(SEARCH("DNB",P17),"DELHI NAGRIK SEHKARI BANK",IF(SEARCH("SBIN",P17),"STATE BANK OF INDIA",IF(SEARCH("PUNB",P17),"PUNJAB NATIONAL BANK",IF(SEARCH("CNRB",P17),"CANARA BANK","TYPE BANK NAME")))).
它只适用于第一个选项(这里,公式显示'德里Nagrik银行')和其他选项显示#值。
请告诉我我的错误。
我build议你把你的公式分解成较小的组成部分,然后testing一下,以了解根本原因。
了解问题
SEARCH("DNB",P17)
如果find,则返回一个数字,否则返回错误。
发生该错误时, IF
语句也会返回一个错误。 这是因为IF
需要inputtrue或false。
此外,这就是为什么你的公式在“DNB”的情况下工作,但产生一个错误,并没有实际testing任何进一步的情况下(例如“SBIN”)。
解
您需要更新IF
语句参数中使用的函数,以便返回逻辑真值或假值。
方便的是,如果input是一个数字, ISNUMBER()
函数返回true,否则返回false。
TLDR
而不是IF(SEARCH())
,使用IF(ISNUMBER(SEARCH()))
。 您的公式将按预期工作。