Вопрос или проблема
В настоящее время использую 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.
Способы объединения данных
-
Использование функции
FILTERXML
иTEXTJOIN
Один из работающих способов объединения данных из нескольких листов — это использование функций
FILTERXML
иTEXTJOIN
. Формула, которую вы уже упоминали, выглядит следующим образом:=FILTERXML("<m><b>"&TEXTJOIN("</b><b>", TRUE, Sheet1:Sheet9!A1:A99)&"</b></m>", "//b")
Примечание: важно учесть, что эта формула может давать сбои, если используется в Google Sheets и затем возвращается в Excel. Данная комбинация функций объединяет содержимое всех указанных диапазонов в один текст и затем разбивает его на отдельные строки.
-
Использование 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
Этот скрипт соберёт данные со всех листов, и вы сможете легко управлять конечным результатом.
-
Формулы для динамических консолидаций
Если вам нужно будет объединять содержимое в будущем, можно рассмотреть динамическое использование диапазонов. Для этого можно задуматься о создании формул, которые будут автоматически расширяться по мере добавления новых данных на листах.
Важные рекомендации
- Структура данных: Убедитесь, что все данные в столбцах идентичны по типу и формату. Это предотвратит возникновение ошибок при объединении.
- Ограничение по строкам: Убедитесь, что диапазоны не превышают 1048576 строк в Excel, иначе часть данных может быть потеряна.
- Проверка формул: Каждую формулу следует проверять на корректность перед использованием, чтобы исключить возможность неправильного отображения данных.
Заключение
Объединение данных из нескольких листов в Excel не является сложной задачей, особенно с использованием правильных функций и инструмента Power Query. Подход с комбинацией функций FILTERXML
и TEXTJOIN
позволяет быстро собирать и обрабатывать данные, тогда как Power Query предлагает более глубокую и гибкую обработку, улучшая удобство работы с большими наборами данных. Важно предварительно протестировать каждую методику и адаптировать её под ваши специфические нужды. Будьте внимательны к структуре своих данных и используйте дополнительные инструменты Excel для оптимизации процесса.