В Excel, как проверить, находится ли ячейка в списке значений (диапазон ячеек)

У меня есть диапазон (A3: A10), который содержит имена, и я хотел бы проверить, соответствует ли содержимое другой ячейки (D1) одному из имен в моем списке.

Я назвал диапазон A3: A10 'some_names', и мне нужна формула excel, которая даст мне True / False или 1/0 в зависимости от содержимого.

= СЧЕТЕСЛИ (some_names, D1)

Должен работать (1, если имя присутствует – больше, если более одного экземпляра).

Мой предпочтительный ответ (измененный от Ian's):

=COUNTIF(some_names,D1)>0 

Который возвращает TRUE, если D1 находится в диапазоне some_names хотя бы один раз, или FALSE в противном случае.

(COUNTIF возвращает целое число, сколько раз критерий найден в диапазоне)

Я знаю, что OP конкретно заявлял, что список поступает из ряда ячеек, но другие могут наткнуться на это, ища определенный диапазон значений.

Вы также можете искать определенные значения, а не диапазон, используя функцию MATCH . Это даст вам номер, где это соответствует (в этом случае второе место, так что 2). Он вернет # N / A, если нет совпадения.

 =MATCH(4,{2,4,6,8},0) 

Вы также можете заменить первые четыре на ячейку. Поместите 4 в ячейку A1 и введите это в любую другую ячейку.

 =MATCH(A1,{2,4,6,8},0) 

Если вы хотите превратить countif в другой выход (например, boolean), вы также можете сделать:

= IF (COUNTIF (some_names, D1)> 0, TRUE, FALSE)

Наслаждайтесь!

Для разнообразия вы можете использовать MATCH, например

=ISNUMBER(MATCH(D1,A3:A10,0))

Вы можете вложить --([range]=[cell]) в аргумент IF , SUMIFS или COUNTIFS . Например, IF(--($N$2:$N$23=D2),"in the list!","not in the list") . Я считаю, что это может использовать память более эффективно.

Кроме того, вы можете обернуть ISERROR вокруг ISERROR , все обернуты вокруг оператора IF . Например, IF( ISERROR ( VLOOKUP() ) , "not in the list" , "in the list!" ) .

В подобных ситуациях я хочу только предупредить о возможных ошибках, поэтому я решил бы эту ситуацию решить …

 =if(countif(some_names,D1)>0,"","MISSING") 

Затем я бы скопировал эту формулу с E1 до E100 . Если значение в столбце D отсутствует в списке, я получаю сообщение MISSING, но если это значение существует, я получаю пустую ячейку. Это означает, что недостающие значения выделяются намного больше.

Версия формулы массива (введите с помощью Ctrl + Shift + Enter):

 =OR(A3:A10=D1) 
  • Excel уничтожает специальный символ при сохранении как CSV
  • Показать данные фильтра столбца Excel в ячейках
  • Справка Excel. Возможно ли вернуть номер столбца второго совпадения в горизонтальном массиве?
  • Добавить пробел после n-й запятой в Excel, Notepad ++ или emEditor?
  • Можно ли разбить таблицу на несколько файлов на основе столбца в Excel 2007?
  • Как исправить ошибку округления с плавающей запятой в Microsoft Excel для Macintosh 2011?
  • Как вы планируете время на оси X в excel?
  • Ссылка на несколько полей и элементов из одной ячейки - GETPIVOTDATA
  • Как построить несколько наборов данных с разными значениями x и y на одном графике?
  • Предотвратите удаление Excel скопированных данных для вставки после определенных операций без буфера обмена Office
  • Как иметь ячейку, которая отображает кумулятивное значение всех значений, введенных в другую ячейку?
  • Interesting Posts
    Давайте будем гением компьютера.