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"))