Существует ли прямой способ сохранить данные, сохраненные на одном листе, автоматически отфильтрованными и отображаться в другой электронной таблице. Я хочу иметь возможность обновлять данные на одном листе, а фильтрованное представление на другом листе обновляется автоматически.
2 ответа
Не уверен, что вы подразумеваете под прямым, но вы можете, как показано в моем примере ниже, использовать формулы для фильтрации и возврата совпадающих строк:
Из данных в моем листе1 я могу фильтровать данные с конкретным текстом в столбце
на листе 2 добавьте заголовки и введите текст, который вы хотите отфильтровать в B1.
В 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, и таблица должна автоматически фильтроваться.
Это проверено нормально для Excel 2010
Вы можете автоматизировать это далее, добавив Список проверки данных для ячейки B1.
Другой метод с использованием таблицы данных
Использование тех же данных Sheet1
На Листе 3 выберите ячейку A5 и нажмите Ctrl + T, чтобы создать таблицу данных, и выберите в моей таблице заголовки, а затем нажмите ОК.
Выделите ячейки A5 и A6 и проведите пальцем по необходимому количеству столбцов.
и редактировать текст в заголовки столбцов
В ячейку А6 добавьте следующую формулу
=IF(Sheet1!A2="","",Sheet1!A2)
и перетащите A6 через необходимые столбцы, затем вниз по необходимым строкам
затем используйте фильтры по мере необходимости.