2013-06-26 1 views
3

Кто-нибудь знает, как я могу быстро скрыть/удалить все строки в sheet1, содержащие любую информацию о строках из листа2?Excel содержит фильтр с более чем 2 значениями

Он должен содержать фильтр, так как он не был бы точным совпадением.

Например

Лист1:

http://www.google.com/something/else 
http://www.yahoo.com/whatever 
www.microsoft.com/hahha 

Лист2:

google.com 

Таким образом, конечный результат был бы первой линии в Лист1 будет скрыта

На практике я работаю с тысячами строк в листе1 и вокруг в Листе2.

Чтобы уточнить, я пытаюсь сделать фильтр с более чем двумя значениями - фильтр по умолчанию допускает только 2 значения.

Также я работаю с Excel для Mac 2011.

+0

Каковы имена листов и какие столбцы являются вашими данными? –

ответ

4

Вы можете сделать это быстро с помощью простого хелперов колонки без большого цикла диапазона.

Для простоты в качестве образца:

  • Предполагая, что список Лист 1 был в A1:A1000
  • ваш частичный список Лист 2 был в C1:C5 (на том же листе для на рисунке)
  • затем в диапазон B1:B1000 ввести эту формулу массива, =MAX(IF(ISERROR(FIND($C$1:$C$5,A1)),0,1))=1

(Введите как формулу массива, нажав Ctrl + Сдвиг + Enter)

  • Затем AutoFilter в TRUE строк (какой флаг любые совпадения) и скрыть их

enter image description here

+0

По какой-то причине все они верны для меня, и это говорит, что Формула относится к пустым ячейкам. У меня он настроен так же, как и с этой формулой. = MAX (IF (ISERROR (FIND ($ C $ 1: $ C $ 579, A1)), 0,1)) = 1, и я убедился, что удерживает команду + shift + enter, поэтому это формула массива. (он показывает фигурные скобки). Это один из Mac Excel, так это будет иметь значение? – zen

+0

Новая информация :) У меня нет опыта работы с Mac Excel - я бы не подумал, что это изменит ситуацию, особенно если ваш массив, похоже, сработал (командный ключ или клавиша Ctrl?), Но я передам это экспертом Mac. – brettdj

+0

И когда формула копируется вниз, строка A увеличивает число за пределы строки 1, т.е. 'B2 = = MAX (IF (ISERROR (FIND ($ C $ 1: $ C $ 5, A2)), 0,1)) = 1' etc – brettdj

2

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

Из вашего комментария кажется, что у вас проблема с пустой ячейкой при использовании его решения. Вы уверены, что вы заменили $C$1 : $c$5 на правильные значения?

В вашем случае вы должны сначала обратиться к правому листу (Sheet2, если вы его не переименовали), а затем в правом столбце (если у вас есть его в столбце A листа 2).

Вы должны написать =MAX(IF(ISERROR(FIND(sheet2!$A$1:$A$5,sheet1!A1)),0,1))=1.

+1

Ahh просто нашел проблему. У меня действительно была пустая ячейка, скрытая в середине этих 700 или около того ячеек. Как только я удалил их, он работал как шарм! – zen

+0

+ 1 Yup Это была проблема. Извините, не видел вашего сообщения :) –

 Смежные вопросы

  • Нет связанных вопросов^_^