Excel IF语句不按预期工作

美好的一天。

我试图在Excel工作表中使用下面的if语句来查看是否包含在同一个Excel文件的辅助工作表中的两个分隔的列上列出的任何string。 这些话是用巴西葡萄牙语,但它并不重要:

IF语句:它search单元格,看它是否包含第一个列表中的任何单词,否则在单元格中search第二个单元格中的任何单词,如果没有find任何单词,则说明不确定:

=IF(ISNUMBER(SEARCH('Sheet2'!$A$1:$A$14;D2));"Cancel";IF(ISNUMBER(SEARCH('Sheet2'!$B$1:$B$16;D2));"Sincronize";"Inconclusiv")) 

列A中的单词列表:

 Cancelar Cancelamento Desativar Desativação Desativacao Exclusão Excluir 

B列中的单词列表:

 Sincronização Sincronizar Sincronia Restaurar Restauração Restauracao Recuperar Recuperação 

无论出于何种原因,有时候这是有效的,有些时候它没有,所以为了testing它,我决定简单地把“取消”写入每个单元格,并使用上面的语句。 它仍然不起作用,我不知道原因,这里是我的Excel表显示的一个例子。

 Cancelar; Cancel Cancelar; Inconclusive Cancelar; Inconclusive Cancelar; Inconclusive Cancelar; Inconclusive Cancelar; Inconclusive Cancelar; Inconclusive Cancelar; Cancel 

我不知道是什么导致这个错误。

在SUMPRODUCT()中包装ISNUMBER

并且,将SEARCH参数限制为仅列表中的数据,如果包含空单元格,则会发现误报。 ""被发现在一切。

 =IF(SUMPRODUCT(--ISNUMBER(SEARCH(Sheet2!$A$1:$A$7;D2)));"Cancel";IF(SUMPRODUCT(--ISNUMBER(SEARCH(Sheet2!$B$1:$B$8;D2)));"Sincronize";"Inconclusiv")) 

我认为你最好使用VLOOKUP而不是search。

 =IF(VLOOKUP(D2;'Sheet2'!$A$1:$A$14;1;false)=D2;"Cancel";IF(VLOOKUP(D2;'Sheet2'!$B$1:$B$16;1;FALSE)=D2;"Sincronize";"Inconclusiv"))