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

Я пытался исследовать это около недели, но безуспешно:/

Вот что я пробовал до сих пор:

=IFERROR(INDEX('mainsheet'!F$13:F$1223,SMALL(IF('mainsheet'!E$13:E$1223="SI",ROW(B$7:B$1200)-ROW(B$7)+1),ROWS(B$7:B7))),"")

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

1 ответ1

0

Распределение данных по нескольким листам, а затем попытка составить отчет по всем листам - это всегда сложная задача. Лучший способ избежать этого - использовать золотое правило, согласно которому все данные должны начинаться с ОДНОГО листа.

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

Итак, что еще вы можете сделать?

Я предлагаю вам получить бесплатную надстройку Power Query от Microsoft.

Он доступен как надстройка для Excel 2010 и 2013 и встроен в Excel 2016 как «Get & Transform».

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

Нет кода, нет формул.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .