2011-12-23 2 views
20

Существует ли функция типа «IN», подобная той, которая используется в sql, которая может использоваться в excel? Например, если я пишу заявление, если в Excel, и я хочу, чтобы проверить содержимое ячейки для 5 различных слов я могу написать что-то вроде:Использование функции SQL «IN» в Excel

=If(A1=IN("word1","word2","word3","word4","word5"),"YES","NO") 

ответ

24

Вы можете использовать MATCH:

=MATCH(A1, {"word1","word2","word3","word4","word5"}, 0) 

, который вернет индекс соответствующего элемента в списке массивов. Конец 0 означает, что это должно быть точное совпадение. Она возвращает # N/A, если он не существует, так что вы можете пометить IF(ISNA( на фронт, чтобы заставить его вести себя, как ваш «IN»:

=IF(ISNA(MATCH(A1, {"word1","word2","word3","word4","word5"}, 0)),"NO","YES") 

Обратите внимание на изменение порядка "YES" и "NO"

+0

Если диапазон не является статичным, как будто вы его набрали, но представляет собой диапазон ячеек на листе, вы можете использовать VLOOKUP в качестве альтернативы. – Mikeb

+0

Работает для меня. Благодарю. –

14
=IF(OR(A1={"word1","word2","word3","word4","word5"}),"YES","NO") 
+0

Работал отлично. Благодарю. –

+0

Работает ли он на Excel 2000? – Oneide

+1

Ничего. Я только что нашел, что это работает. - Не забудьте использовать Ctrl-Shift-Enter, когда закончите редактирование ячейки. – Oneide