Динамическая фильтрация данных из одного листа Excel для отображения на другом

0

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

акаши
источник
Что за фильтрация? Можете ли вы привести несколько примеров (некоторые из которых составлены данные и фильтрация, не должно быть ничего реального)?
Jehad
Пожалуйста, отредактируйте свое сообщение и добавьте критерии для сортировки и фильтрации, такие как один или несколько критериев, лучше добавьте пример данных.
Раджеш С
Продолжайте ,, если вы хотите автоматизировать метод для сортировки, тогда фильтр ,,, макрос VBA был бы хорошим вариантом ,, вам удобно работать с макросом? ,, Редактировать сообщение и добавить TAG VBA.
Раджеш С.

Ответы:

0

Не уверен, что вы подразумеваете под прямым, но вы можете, как показано в моем примере ниже, использовать формулы для фильтрации и возврата совпадающих строк:

Из данных в моем листе1 я могу фильтровать данные с конкретным текстом в столбце

Лист1

на листе 2 добавьте заголовки и введите текст, который вы хотите отфильтровать в B1.

Sheet2 заголовки

В A5 добавьте следующую формулу массива

=IFERROR(INDEX(Sheet1!$A$2:$C$7,SMALL(IF(Sheet1!$B$2:$B$7=$B$1,ROW(Sheet1!$B$2:$B$7)-ROW(Sheet1!$B$2)+1),ROWS(Sheet1!A$2:Sheet1!A2)),1), "")

Нажмите Ctrl + Shift + Enter, чтобы ввести формулу в виде массива, и вы увидите, что формула будет заключена в фигурные скобки {}

Перетащите формулу из A5 через B5 в C5, чтобы заполнить строку требуемым количеством столбцов данных.

Изменить формулы, чтобы увеличить номер столбца индекса.

Не забудьте убедиться, что вы повторно вводите формулу в виде формулы массива, нажимая Ctrl + Shift + Enter.

B5 должен теперь показать индексный столбец № 2

{=IFERROR(INDEX(Sheet1!$A$2:$C$7,SMALL(IF(Sheet1!$B$2:$B$7=$B$1,ROW(Sheet1!$B$2:$B$7)-ROW(Sheet1!$B$2)+1),ROWS(Sheet1!B$2:Sheet1!B2)),2), "")}

и C5 с индексом столбца 3 следующим образом

{=IFERROR(INDEX(Sheet1!$A$2:$C$7,SMALL(IF(Sheet1!$B$2:$B$7=$B$1,ROW(Sheet1!$B$2:$B$7)-ROW(Sheet1!$B$2)+1),ROWS(Sheet1!C$2:Sheet1!C2)),3), "")}

Перетащите эти формулы вниз для ожидаемого максимального количества строк данных

Напечатайте Животное растительное или Минерал в ячейке Листа B1, и таблица должна автоматически фильтроваться.

Лист2 заполнен

Это проверено нормально для Excel 2010

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

Antony
источник
Это лучше, чем предыдущий ответ ,, или вы можете объединить оба метода 1 и 2 ,, но вы пропустили одну проблему SORT, а затем Filter !!
Раджеш
Жизнь движется! Предложите свой ответ @RajeshS
Antony
0

Другой метод с использованием таблицы данных

Использование тех же данных Sheet1

данные листа1

На Листе 3 выберите ячейку A5 и нажмите Ctrl + T, чтобы создать таблицу данных, и выберите в моей таблице заголовки, а затем нажмите ОК.

Выберите ячейки A5 и A6 и перетащите через нужное количество столбцов

и редактировать текст в заголовки столбцов

Sheet3 Заголовки

В ячейку А6 добавьте следующую формулу

=IF(Sheet1!A2="","",Sheet1!A2)

и перетащите A6 через необходимые столбцы, затем вниз по необходимым строкам

введите описание изображения здесь

затем используйте фильтры по мере необходимости.

Antony
источник