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())) 。 您的公式将按预期工作。