Объединение столбца A из нескольких рабочих листов в Excel

Вопрос или проблема

В настоящее время использую Excel 2021 Home Office. У меня есть лист с именем ‘Total’.

Цель: Отобразить все слова из Колонки A на нескольких листах от Sheet1 до Sheet9.

Таким образом, все слова из Колонки A будут отображаться в одном большом объединенном столбце.

  • Автомобиль
  • Мебель
  • Трава
  • Дерево
  • Океан…

Изначально у меня было это уравнение ниже с TOCOL и VSTACK, но оно больше не работает по какой-то причине (после копирования в Google Sheets и обратно в Excel). Наш офис не позволяет использовать VBA или PowerPivot. Реализуйте с помощью RangedSheets, вместо того чтобы перечислять все 10. Пытаюсь использовать только формулы Excel. Есть способ это сделать. Пытаюсь вспомнить.

=_xlfn.TOCOL(_xlfn.VSTACK(Sheet1:Sheet9!A1:A99),1)

Вы можете попробовать использовать следующую формулу:

=FILTERXML("<m><b>"&TEXTJOIN("</b><b>",1,Sheet1:Sheet9!A1:A99)&"</b></m>","//b")

Вышеупомянутая формула работает здесь, однако у нее есть некоторые ограничения из-за функции TEXTJOIN(), поэтому можно использовать Power Query здесь тоже. Все данные на листах необходимо преобразовать в Структурированные Ссылки или Таблицы, а затем вставить следующий код m в пустой запрос, чтобы импортировать его обратно в Excel:

let
    Source = Excel.CurrentWorkbook(),
    Filter = Table.SelectRows(Source, each not Text.Contains([Name], "Query")),
    Expand = Table.ExpandTableColumn(Filter, "Content", {"Header"}, {"Header"}),
    RemoveCol = Table.RemoveColumns(Expand,{"Name"})
in
    RemoveCol

Ответ или решение

Объединение столбца A из нескольких листов в Excel

При выполнении задачи по объединению данных из столбца A на нескольких листах Excel, важно учитывать, что имеется несколько способов достичь этой цели. Вы используете Excel 2021, и в вашем распоряжении есть несколько доступных функций. Рассмотрим наиболее эффективные методы без использования VBA или PowerPivot.

Способы объединения данных

  1. Использование функции FILTERXML и TEXTJOIN

    Один из работающих способов объединения данных из нескольких листов — это использование функций FILTERXML и TEXTJOIN. Формула, которую вы уже упоминали, выглядит следующим образом:

    =FILTERXML("<m><b>"&TEXTJOIN("</b><b>", TRUE, Sheet1:Sheet9!A1:A99)&"</b></m>", "//b")

    Примечание: важно учесть, что эта формула может давать сбои, если используется в Google Sheets и затем возвращается в Excel. Данная комбинация функций объединяет содержимое всех указанных диапазонов в один текст и затем разбивает его на отдельные строки.

  2. Использование Power Query (опционально)

    Если у вас есть возможность использовать Power Query, это предоставит более мощный инструмент для обработки данных. Необходимо будет предварительно преобразовать данные в таблицы, а затем использовать следующий код:

    let
       Source = Excel.CurrentWorkbook(),
       Filter = Table.SelectRows(Source, each not Text.Contains([Name], "Query")),
       Expand = Table.ExpandTableColumn(Filter, "Content", {"Header"}, {"Header"}),
       RemoveCol = Table.RemoveColumns(Expand,{"Name"})
    in
       RemoveCol

    Этот скрипт соберёт данные со всех листов, и вы сможете легко управлять конечным результатом.

  3. Формулы для динамических консолидаций

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

Важные рекомендации

  • Структура данных: Убедитесь, что все данные в столбцах идентичны по типу и формату. Это предотвратит возникновение ошибок при объединении.
  • Ограничение по строкам: Убедитесь, что диапазоны не превышают 1048576 строк в Excel, иначе часть данных может быть потеряна.
  • Проверка формул: Каждую формулу следует проверять на корректность перед использованием, чтобы исключить возможность неправильного отображения данных.

Заключение

Объединение данных из нескольких листов в Excel не является сложной задачей, особенно с использованием правильных функций и инструмента Power Query. Подход с комбинацией функций FILTERXML и TEXTJOIN позволяет быстро собирать и обрабатывать данные, тогда как Power Query предлагает более глубокую и гибкую обработку, улучшая удобство работы с большими наборами данных. Важно предварительно протестировать каждую методику и адаптировать её под ваши специфические нужды. Будьте внимательны к структуре своих данных и используйте дополнительные инструменты Excel для оптимизации процесса.

Оцените материал
Добавить комментарий

Капча загружается...