Excel - извлечение данных на основе другого списка

17

У меня есть лист Excel с двумя столбцами (имя / идентификатор), а затем еще один список, который является подмножеством имен только из большего вышеупомянутого списка. Я хочу просмотреть список подмножеств, а затем вытащить данные из большего списка (имя / идентификатор) и поместить его в другое место ... по существу только захват данных из большего списка, если имя находится в подмножестве.

Я попытался использовать фильтры, но не смог заставить его работать. Мысли?

Спасибо.

    
задан pnuts 19.06.2009 в 16:41
источник

4 ответа

26

Новые версии Excel

=IF(ISNA(VLOOKUP(A1,B,B,1,FALSE)),"",A1)

Предыдущие версии Excel

=IF(ISNA(VLOOKUP(A1;B:B;1;FALSE));"";A1)

То есть: «Если значение A1 существует в столбце B, отобразите его здесь. Если он не существует, оставьте его пустым».

    
ответ дан l0b0 19.06.2009 в 16:57
источник
  • +1; правильно, лаконично, понятно. Хороший ответ. –  Carl Manaster 19.06.2009 в 16:59
  • Я пробовал использовать это, но думаю, что я делаю что-то неправильно. У меня есть мои данные как таковые: Список A - Список B - Статус - Номер Я отредактировал формулу к этому: = IF (ISNA (VLOOKUP (A1, B $ 1: D $ 8371,1, FALSE)), "", A1) Если значения в списке A существуют в списке BI, необходимо отобразить запись в списке B вместе со статусом и номером. Мысли? Спасибо еще раз за помощь! –  Jun 19 '09 at 15:19 19.06.2009 в 17:19
  • Чтобы иметь номер и функцию на этом номере в том же столбце, вам нужно будет указать число в функции. Это означает, что вам придется обменивать «B $ 1: D $ 8371» с номером для каждой строки. Более простым и гибким решением является одно дело в каждом столбце, например, значения в A & B, = IF (ISNA (VLOOKUP (A1, B $ 1: D $ 8371,1, FALSE)), "", A1) в C, статус в D и конкатенацию C и D в E (или везде, где вы хотите отобразить его). –  l0b0 22.06.2009 в 09:13
  • Это очень старый вопрос / ответ, но просто для того, чтобы это было ясно, если кто-то еще на мгновение путается - в ответе есть ;; когда это необходимо ",". –  MikeBaz - MSFT 14.06.2011 в 14:50
  • @MikeBaz: Это зависит от вашего языка, к сожалению. ; используется во многих странах Европы, поскольку это десятичный разделитель. –  l0b0 16.06.2011 в 11:06
12

Я не мог заставить первый метод работать, и я знаю, что это старая тема, но это то, что я сделал для решения:

=IF(ISNA(MATCH(A1,B:B,0)),"Not Matched", A1)

В принципе, MATCH A1 в столбец B точно (0 означает совпадение точно со значением в столбце B). ISNA-тесты для ответа # N / A, которые совпадают, будут возвращены, если совпадение не найдено. Наконец, если ISNA истинна, напишите «Not Matched» в выбранную ячейку, иначе напишите содержимое сопоставленной ячейки.

    
ответ дан dardo 20.04.2011 в 23:30
источник
  • Это сработало для меня отлично! Если кому-то это нужно для испанского языка, это переводимая формула: = SI (ESNOD (COINCIDIR (A2; B: B; 0)), «No concuerda», A2) –  Soph 18.06.2013 в 14:45
2

Вы пробовали расширенный фильтр? Использование вашего короткого списка в качестве «Критерии» и длинного списка как «Диапазон списка». Используйте параметры: «Фильтровать на месте» и «Уникальные значения».

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

В качестве альтернативы вы можете вставить свой уникальный список в другое место (на том же листе), если хотите. Выберите опцию «Копировать в другое местоположение» и в поле «Копировать в» введите ссылку на ячейку (скажем F1), где вы хотите список «Уникальный».

Примечание. Это также будет работать с двумя столбцами (имя / идентификатор), если вы выберете два столбца как «Критерии» и «Диапазон списка».

    
ответ дан JustPlainBill 20.06.2009 в 20:01
источник
1

Я так хреновал, как другие люди.

Я использовал критерии;

=countif(matchingList,C2)=0

, где matchList - это список, который я использую в качестве фильтра.

взгляните на это

Ссылка

Обман, который я нашел, состоит в том, что обычно вы должны иметь заголовок столбца в критериях, соответствующих заголовку столбца данных. это не будет работать для критериев, которые являются формулой.

То, что я нашел, было, если бы я оставил заголовок столбца пустым только для критериев, которые имеют формулу countif в расширенном фильтре. Если у меня заголовок столбца, т. Е. Заголовок столбца для столбца C2 в моем примере формулы, тогда фильтр не возвращает выход.

Надеюсь, что это поможет

    
ответ дан Saltubar 26.09.2013 в 03:49
источник