Как разделить таблицу в эксель
Перейти к содержимому

Как разделить таблицу в эксель

  • автор:

Умножение и деление чисел в Excel

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

Умножение чисел

Предположим, требуется определить количество бутылок воды, необходимое для конференции заказчиков (общее число участников × 4 дня × 3 бутылки в день) или сумму возмещения транспортных расходов по командировке (общее расстояние × 0,46). Существует несколько способов умножения чисел.

Умножение чисел в ячейке

Для выполнения этой задачи используйте арифметический оператор * (звездочка).

Например, при вводе в ячейку формулы =5*10 в ячейке будет отображен результат 50.

Умножение столбца чисел на константу

Предположим, необходимо умножить число в каждой из семи ячеек в столбце на число, которое содержится в другой ячейке. В данном примере множитель — число 3, расположенное в ячейке C2.

Умножение чисел константой

    Введите =A2*$B$2 в новом столбце электронной таблицы (в приведенном выше примере используется столбец D). Обязательно включите символ $перед B и перед 2 в формулу и нажмите клавишу ВВОД.

Примечание: Использование символов $ указывает Excel, что ссылка на B2 является «абсолютной», что означает, что при копировании формулы в другую ячейку ссылка всегда будет на ячейку B2. Если вы не использовали символы $ в формуле и перетащите формулу вниз в ячейку B3, Excel изменит формулу на =A3*C3, что не будет работать, так как в B3 нет значения.

Примечание: В Excel 2016 для Windows ячейки заполняются автоматически.

Перемножение чисел в разных ячейках с использованием формулы

Функцию PRODUCT можно использовать для умножения чисел, ячеек и диапазонов.

Умножение чисел с помощью функции PRODUCT

Функция ПРОИЗВЕД может содержать до 255 чисел или ссылок на ячейки в любых сочетаниях. Например, формула =PRODUCT(A2;A4:A15;12;E3:E5;150;G4;H4:J6) умножает две отдельные ячейки (A2 и G4), два числа (12 и 150) и три диапазона (A4:A15, E3:E5 и H4:J6).

Деление чисел

Предположим, вы хотите узнать, сколько человеко-часов потребовалось для завершения проекта (общее количество часов проекта ÷ общее число людей в проекте) или фактическое количество миль на галлон для вашей недавней поездки по пересеченной местности (общее количество миль ÷ общее количество галлонов). Существует несколько способов деления чисел.

Деление чисел в ячейке

Для выполнения этой задачи используйте арифметический оператор / (косая черта).

Например, если ввести =10/5 в ячейке, в ячейке отобразится значение 2.

Важно: Обязательно введите знак равенства (=) в ячейке, прежде чем вводить числа и оператор / ; В противном случае Excel интерпретирует введенные данные как дату. Например, если ввести 7/30, в ячейке Excel может отображаться значение 30 июля. Или, если ввести 36.12.12, Excel сначала преобразует это значение в 12.01.1936 и отобразит в ячейке 1-Дек.

Примечание: В Excel нет функции DIVIDE .

Деление чисел с помощью ссылок на ячейки

Вместо ввода чисел непосредственно в формуле можно использовать ссылки на ячейки, такие как A2 и A3, для ссылки на числа, на которые нужно разделить и разделить.

Чтобы этот пример проще было понять, скопируйте его на пустой лист.

Копирование примера

  1. Создайте пустую книгу или лист.
  2. Выделите пример в разделе справки.

Быстро разбейте и разнесите таблицу на разные листы

Если вам нужно поделиться только конкретной выборкой из сводного отчёта или аккуратно разделить большую таблицу на части, чтобы они поместились во вложение email, тогда вам потребуется разбить данные. Напр., разбить сводный отчёт о продажах на подотчёты по категориям продуктов. Или разбить длинный список на небольшие перечни с фиксированным числом строк. Вместо утомительной сортировки, копирования и форматирования вручную, вы можете сэкономить время с надстройкой XLTools.

Инструмент «Разбить таблицу» автоматически разнесёт данные одного листа по нескольким листам:

Разнесение данных таблицы или диапазона на отдельные листы
Выбор метода разделения: по значениям столбца или по числу строк
Выбор способа именования листов результата
Сохранение заголовков и форматирования в таблицах результата
Разделение объединённых ячеек с дублированием значений

Перед началом работы добавьте «Разбить таблицу» в Excel

«Разбить таблицу» – это один из 20+ инструментов в составе надстройки XLTools для Excel. Работает в Excel 2019, 2016, 2013, 2010, десктоп Office 365.

Начните работу с инструментами XLTools

Скачать XLTools для Excel
– пробный период дает 14 дней полного доступа ко всем инструментам.

Как разбить таблицу на несколько листов на основе значений столбца

Вы можете разбить всю таблицу или диапазон, исходя из значений в одном ключевом столбце. Так, данные, относящиеся к каждому уникальному значению в ключевом столбце, будут вынесены на отдельные листы.

Нажмите кнопку Разбить таблицу на панели XLTools Откроется диалоговое окно.
Выберите таблицу или диапазон, который вы хотите разбить, включая заголовок.
Совет: нажмите на любую ячейку таблицы, и вся таблица будет выделена автоматически.
Если в таблице есть заголовок, он будет продублирован в таблицах результата.
Внимание: для лучшего результата, убедитесь, что в заголовке нет пустых ячеек.
Если в таблице нет заголовка, его также не будет в таблицах результата.
Если в таблице есть заголовок, найдите столбец по его названию в заголовке.
Если в таблице нет заголовка, найдите столбец по его общему буквенному обозначению (A, B, C, т.д.)
Выберите Значение в столбце , чтобы вкладкам присваивались имена по значениям ключевого столбца.

Внимание: если некоторые ячейки в вашем ключевом столбце пустые, пожалуйста, заполните пропуски или используйте другой способ именования листов.

Или, выберите Числовой ряд , чтобы вкладкам назначались имена последовательными числами (1, 2, 3…)
При необходимости, добавьте префикс или суффикс. Они будут повторяться в названии каждой вкладки.

Совет: рекомендуем использовать содержательные префиксы и суффиксы — позже будет проще искать и переключаться между листами.

Нажмите OK Готово. Обработка больших таблиц может занять некоторое время.

В результате: новые листы размещены по порядку сразу после исходного листа. Каждая вкладка содержит таблицу данных, связанных только с конкретным ключевым значением. Исходные данные в сохранности и не подвергались изменениям.

Разбить таблицу по листам по значению столбца

Как разбить таблицу на несколько листов по заданному числу строк

Вы можете разбить таблицу или диапазон, исходя из желаемого числа строк на листе, напр., разбивать данные после каждых 5 строк. Таким образом, каждые следующие 5 строк будут вынесены на отдельный лист.

Нажмите кнопку Разбить таблицу на панели XLTools Откроется диалоговое окно.
Выберите таблицу или диапазон, который вы хотите разбить, включая заголовок.
Совет: нажмите на любую ячейку таблицы, и вся таблица будет выделена автоматически.
Если в таблице есть заголовок, он будет продублирован в таблицах результата.
Если в таблице нет заголовка, его также не будет в таблицах результата.

Выберите По числу строк в качестве метода разделения Укажите фиксированное число строк для разделения таблицы.

Выберите Числовой ряд , чтобы вкладкам назначались имена последовательными числами (1, 2, 3…)
При необходимости, добавьте префикс или суффикс. Они будут повторяться на каждой вкладке.

Совет: рекомендуем использовать содержательные префиксы и суффиксы — позже будет проще искать и переключаться между листами.

Нажмите OK Готово. Обработка больших таблиц может занять некоторое время.

В результате: новые листы размещены по порядку сразу после исходного листа. Каждая вкладка содержит таблицу с фиксированным числом строк. Исходные данные в сохранности и не подвергались изменениям.

Разбить таблицу по листам по количеству строк

Как образом данные копируются на новые листы

Разнесение таблицы по нескольким рабочим листам по сути означает извлечение и копирование данных из исходнго листа на новые листы книги.

Формулы и ссылки на ячейки: Чтобы избежать искажения данных, вместо ссылок на ячейки, функций или формул на исходном листе, в листы результата надстройка XLTools «Разбить таблицу» вставляет их значения.

Форматирование: Надстройка «Разбить таблицу» сохраняет форматирование ячеек и таблиц такими же, как на исходном листе. Это относится к формату ячеек (число, дата, текст, т.д.), ширине столбцов, высоте строк, цвету заливки, т.д. Тем не менее, если к вашей исходной таблице применен стиль, то таблицы результата будут вставлены как диапазоны.

Объединённые ячейки: Если в таблице есть объединённые ячейки, объединение автоматически снимается, а соответствующие значения дублируются.

Как сохранить листы результата отдельными файлами

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

8 способов разделить ячейку Excel на две или несколько

Как разделить ячейку в Excel? С помощью функции «Текст по столбцам», мгновенного заполнения, формул или вставив в нее фигуру. В этом руководстве описаны все варианты, которые помогут вам выбрать технику, наиболее подходящую для вашей конкретной задачи.

Как правило, вам может потребоваться разделить ячейки в Excel в двух случаях. Чаще всего, когда вы импортируете данные из какого-то внешнего источника, где вся информация находится в одном столбце, а вы хотите – чтобы в отдельных столбцах. Или вы можете пожелать разбить отдельные позиции в существующей таблице для лучшей фильтрации, сортировки или подробного анализа.

1. Как разбить ячейки с помощью разделителей.

Функция преобразования текста в столбцы очень удобна, когда вам нужно разделить одну ячейку на две или более в Excel 2019, 2016, 2013 и более ранних версиях. Она позволяет разделять текстовые строки с помощью выбранного разделителя, такого как запятая, точка с запятой или пробел, а также делить на подстроки фиксированной длины. Посмотрим, как работает каждый сценарий.

Предположим, у вас есть список участников, в котором его имя, город проживания, страна и ожидаемая дата прибытия находятся в одном столбце:

Мы хотим разделить данные в одной ячейке на несколько: имя, фамилия, город, страна и дата. Для этого выполните следующие действия:

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

В этом примере мы вставляем 4 новых столбца, как показано на скриншоте ниже:

Если у вас нет никаких данных рядом со столбцом, который вы хотите разделить, просто пропустите этот шаг.

  • Выделите область, которую вы хотите разбить, и нажмите кнопку «Текст по столбцам» .
  • На первом шаге мастера преобразования вы выбираете, как разделить ячейки — по разделителю или по заданной ширине.

В нашем случае нужное нам содержимое разделяется пробелами и запятыми. Поэтому мы выбираем формат «с разделителями» и нажимаем Далее.

мастер распределения текста по столбцам

  • На следующем этапе вы указываете эти разделители и, при необходимости, ограничитель строк.
    Вы можете выбрать один или несколько разделителей, а также ввести свой собственный в поле «Другой». В этом примере мы выбираем пробел и запятую:

Подсказки:

  • Считать последовательные разделители одним целым. Обязательно выберите этот вариант, если ваши данные могут содержать два или более разделителя подряд, например, когда между словами есть несколько последовательных пробелов или данные разделены запятой и пробелом, например «Петров, Минск».
  • Указание ограничителя строк. Используйте эту опцию, если какой-то текст заключен в одинарные или двойные кавычки и вы хотите, чтобы такие части текста не были разорваны. Например, если вы выберете запятую (,) в качестве разделителя и кавычки («) в качестве ограничителя текста, то любые слова, заключенные в двойные кавычки, например «Минск, Беларусь» , будут помещены в одну ячейку. Если в качестве ограничителя строк выбрать , то Минск будет распределён в одну ячейку (вместе с открывающей кавычкой), а Беларусь» — в другую (вместе с закрывающей кавычкой).
  • Предварительный просмотр данных. Прежде чем нажать кнопку «Далее», имеет смысл просмотреть окно «Образец разбора данных», чтобы убедиться, что Excel правильно разделил все содержимое ячеек.

  1. Вам осталось сделать еще две вещи — выбрать формат данных и указать, куда вы хотите их вставить:
    • Формат. По умолчанию для всех столбцов установлен общий формат, который в большинстве случаев работает хорошо. В нашем примере нам нужен специальный формат для дат. Иначе они будут представлены в виде чисел. Чтобы изменить формат для определенного столбца, щелкните на нем в разделе Образец разбора, чтобы выбрать, а затем укажите один из форматов в разделе Формат данных столбца.
    • Место назначения. Чтобы указать Excel, где вы хотите вывести разделенные данные, выберите крайнюю левую верхнюю позицию целевого диапазона или введите ссылку на нее непосредственно в поле «Поместить в …». Будьте очень осторожны с этой опцией и убедитесь, что после вашего адреса назначения справа достаточно пустого места для вставки.

2. Как разделить на фрагменты фиксированной ширины.

В этом разделе объясняется, как в Экселе разделить ячейку на основе указанного количества символов. Чтобы упростить понимание, рассмотрим следующий пример.

Предположим, у вас есть артикулы товаров и их названия в одном столбце. Вы хотите извлечь артикулы в отдельный столбец:

Поскольку все идентификаторы продуктов содержат 9 символов, вариант с фиксированной шириной идеально подходит для работы:

  • Запустите мастер преобразования, как описано в приведенном выше примере. На первом шаге выберите «Фиксированная ширина» и нажмите «Далее» .

разделить ячейку по столбцам по фрагментам фиксированной ширины

  • Установите ширину каждого столбца в окне предварительного просмотра данных. Как показано на рисунке ниже, вертикальная линия обозначает границу столбца. Чтобы создать новую линию разрыва, вы просто щелкаете в желаемой позиции (в нашем случае 9 символов):
  • Чтобы удалить разрыв, дважды щелкните на разделителе; чтобы переместить его в другое место, просто перетащите мышью.

На следующем шаге выберите формат данных и место назначения для разделенных ячеек точно так же, как мы делали в предыдущем примере, и нажмите кнопку «Готово», чтобы завершить разделение.

3. Используем инструмент «Мгновенное заполнение».

Если вы используете любую версию Excel 2013 — Excel 2019, вы можете воспользоваться функцией Мгновенное заполнение, которая может не только автоматически заполнять диапазон данными, но и разделять их содержимое.

Если вы ещё не использовали эту функцию, то я быстро поясню ее работу. Программа анализирует данные, которые вы вводите в таблицу, и пытается определить, существует ли в них какая-либо закономерность. Как только Excel вычислит закономерность, то сразу предложит свой вариант.

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

Первым делом, убедитесь, что инструмент «Мгновенное заполнение» включен. Вы найдёте этот параметр на вкладке Файл > Параметры > Дополнительно > Автоматически выполнять мгновенное заполнение.

Теперь давайте посмотрим, как его можно использовать, чтобы автоматически разбить данные по нескольким столбцам. Итак, вы начинаете вводить с клавиатуры данные, которые нужно записать в отдельные позиции. По мере ввода Excel будет пытаться распознать закономерность в вводимых значениях, и как только он ее поймет, данные автоматически будут вставлены в остальные позиции ниже. Чтобы понять, как это работает, посмотрите на рисунок ниже:

Давайте возьмем столбец данных из нашего первого примера и посмотрим, как Мгновенное заполнение в Excel может помочь нам разделить ячейку пополам:

  1. Вставьте новый столбец рядом с столбцом с исходными данными и введите желаемую часть текста в первую ячейку (имя сотрудника в этом примере).
  2. Введите текст еще в пару ячеек. Как только программа обнаружит, по какому шаблону вводятся значения, он предложит заполнить остальные. В нашем случае, чтобы выяснить закономерность, потребовалось всего 2 записи:
  1. Если вас устраивает то, что вы видите, нажмите клавишу Enter, и все имена сразу будут вставлены ниже.

Если «Мгновенное заполнение» включено, но не предлагает вам никаких вариантов, можно принудительно запустить этот инструмент вручную на вкладке «Данные» или нажав сочетание клавиш Ctrl+E.

4. Как разделить ячейку по диагонали при помощи формата.

Разберем пошагово, как разбить по диагонали ячейку при помощи форматирования:

  1. Вызываем меню «Формат ячеек». На вкладке «Шрифт» определяем применяемый шрифт и его размер.
  2. На вкладке «Граница» выбираем тип линии.
  3. Здесь же кликаем на диагональную линию в окне «Отдельные».

Как разделить ячейку по диагонали при помощи формата

  1. При необходимости можно красиво расположить текст, чтобы он был как бы разделён наклонной линией. Это часто используют для шапки таблицы в первой колонке.

разбить ячейку по диагонали

На вкладке «Выравнивание» в окне «Ориентация» вы можете изменить наклон текста, чтобы получилось нечто подобное тому, что вы видите на скриншоте выше.

  1. Подтверждаем действие нажатием «ОК».

Замечание: при таком способе разбиения Excel по-прежнему воспринимает объект как одну клетку.

5. Как разделить ячейку по диагонали при помощи вставки фигуры

Этот вариант похож на предыдущий и также подходит для больших ячеек. Вместо форматирования мы идем на вкладку «Вставка» и среди различных фигур выбираем линию. Проводим ее по диагонали.

Как разделить ячейку по диагонали при помощи вставки фигуры

Текст располагаем красиво, изменив его горизонтальную ориентацию, как уже было описано чуть выше. Можно разбить его на строки внутри самой клетки таблицы при помощи комбинации клавиш ALT + Enter .

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

6. Как разбить ячейку с помощью формул

Какую бы разнообразную информацию ни содержала ваша таблица, формула для разделения ячейки в Excel сводится к нахождению позиции разделителя (запятая, пробел и т. д.). А затем уже мы извлекаем подстроку до, после или между разделителями. Как правило, вам нужно использовать функции ПОИСК или НАЙТИ для определения местоположения разделителя и одну из текстовых функций ( ЛЕВСИМВ, ПРАВСИМВ или ПСТР) для получения подстроки.

Например, вы должны использовать следующие формулы для разделения данных в A2, разделенных пробелом (см. скриншот ниже):

Чтобы извлечь артикул в B2:

Чтобы извлечь название товара в C2:

Более подробно о разделении ячейки при помощи формул читайте здесь: Как разделить текст из одной ячейки в несколько.

7. Разделяем ранее объединённые ячейки.

Ранее мы уже писали о том, как можно объединять ячейки и информацию в них. Но иногда по ряду причин их нужно разъединить обратно. Для этого устанавливаем курсор на объединенную область, затем жмем стрелочку рядом с кнопкой на ленте «Главная».

И выбираем «Отменить объединение». Весь текст будет помещен в крайнюю левую клетку, а остальные окажутся пустыми.

И этот объединенный текст можно разделить любым из способов, которые мы описали выше в этом руководстве.

8. Разделение ячеек с помощью инструмента разделения текста Split text.

Теперь, когда вы знакомы со встроенными функциями, позвольте мне показать вам альтернативный способ разделения ячеек в Excel. Я имею в виду инструмент «Разделить текст» , включенный в Ultimate Suite for Excel . Он может выполнять следующие операции:

  • Разделить ячейку по символам
  • Разделить ячейку по строке
  • Разделить ячейку по маске (шаблону)

Например, разделение сведений об участнике из одной ячейки в несколько можно выполнить за 2 быстрых шага. Вот пример исходных данных:

  1. Выделите ячейки, которые хотите разделить, и щелкните значок «Разделить текст (SplitText на вкладке «AblebitsData» в разделе «Текст».

Разделение ячеек с помощью инструмента разделения текста Split text Ultimate Suite for Excel

  1. На панели «Разделить текст» настройте следующие параметры:
    • Выберите в качестве разделителей запятую и пробел.
    • Установите флажок Считать последовательные разделители одним.
    • В разделе «Выбор способа разделения ячеек» выберите «Разбить на столбцы (Split by columns)».
    • Нажмите кнопку «Разделить (Split)» .

Готово! Между исходными столбцами вставляются четыре новых столбца с разделенными данными, и вам нужно только дать этим столбцам соответствующие имена:

Совет: Инструмент «Разделить текст» предоставляет еще два параметра для разделения ячейки в Excel. Дополнительные сведения см. В разделах «Как разделить ячейки по символу-разделителю» и «Как разделить ячейки по маске».

Если вам интересно увидеть в действии инструменты «Разделить текст» и «Разделить имена» , можете загрузить 14-дневную пробную версию Ultimate Suite for Excel.

Разделение таблицы по листам

В Microsoft Excel есть много инструментов для сборки данных из нескольких таблиц (с разных листов или из разных файлов): прямые ссылки, функция ДВССЫЛ (INDIRECT) , надстройки Power Query и Power Pivot и т.д. С этой стороны баррикад всё выглядит неплохо.
Но если вы нарвётесь на обратную задачу — разнесения данных из одной таблицы на разные листы — то всё будет гораздо печальнее. На сегодняшний момент цивилизованных встроенных инструментов для такого разделения данных в арсенале Excel, к сожалению, нет. Так что придется задействовать макрос на Visual Basic, либо воспольоваться связкой макрорекордер+Power Query с небольшой «доработкой напильником» после. Давайте подробно рассмотрим, как это можно реализовать.

Постановка задачи

Имеем в качестве исходных данных вот такую таблицу размером больше 5000 строк по продажам: Исходная таблица
Задача: разнести данные из этой таблицы по городам на отдельные листы этой книги. Т.е. на выходе нужно получить на каждом листе только те строки из таблицы, где продажа была в соответствующем городе: Результаты разнесенные по листам

Подготовка

Таблица продаж и справочник по городам

Чтобы не усложнять код макроса и сделать его максимально простым для понимания, выполним пару подготовительных действий.
Во-первых, создадим отдельную таблицу-справочник, где в единственном столбце будут перечислены все города, для которых нужно создать отдельные листы. Само-собой, в этом справочнике могут быть не все города, присутствующие в исходных данных, а только те, по которым нам нужны отчеты. Проще всего создать такую таблицу, используя команду Данные — Удалить дубликаты (Data — Remove duplicates) для копии столбца Город или функцию УНИК (UNIQUE) — если у вас последняя версия Excel 365. Поскольку новые листы в Excel по умолчанию создаются перед (левее) текущего (предыдущего), то имеет смысл также отсортировать города в этом справочнике по убыванию (от Я до А) — тогда после создания листы-города расположатся по алфавиту. Во-вторых, преобразуем обе таблицы в динамические («умные»), чтобы с ними было проще работать. Используем команду Главная — Форматировать как таблицу (Home — Format as Table) или сочетание клавиш Ctrl + T . На появившейся вкладке Конструктор (Design) назовём их таблПродажи и таблГорода, соответственно:

Способ 1. Макрос для деления по листам

На вкладке Разработчик (Developer) нажмите на кнопку Visual Basic или используйте сочетание клавиш Alt + F11 . В открывшемся окне редактора макросов вставьте новый пустой модуль через меню Insert — Module и скопируйте туда следующий код:

Sub Splitter() For Each cell In Range("таблГорода") Range("таблПродажи").AutoFilter Field:=3, Criteria1:=cell.Value Range("таблПродажи[#All]").SpecialCells(xlCellTypeVisible).Copy Sheets.Add ActiveSheet.Paste ActiveSheet.Name = cell.Value ActiveSheet.UsedRange.Columns.AutoFit Next cell Worksheets("Данные").ShowAllData End Sub

Здесь с помощью цикла For Each . Next реализован проход по ячейкам справочника таблГорода, где для каждого города происходит его фильтрация (метод AutoFilter) в исходной таблице продаж и затем копирование результатов на новый созданный лист. Попутно созданный лист переименовывается в то же имя города и на нем включается автоподбор ширины столбцов для красоты.
Запустить созданный макрос в Excel можно на вкладке Разработчик кнопкой Макросы (Developer — Macros) или сочетанием клавиш Alt + F8 .

Способ 2. Создаем множественные запросы в Power Query

У предыдущего способа, при всей его компактности и простоте, есть существенный недостаток — созданные макросом листы не обновляются при изменениях в исходной таблице продаж. Если обновление «на лету» необходимо, то придется использовать связку VBA+Power Query, а точнее — создавать с помощью макроса не просто листы со статическими данными, а обновляемые запросы Power Query. Макрос в этом случае частично похож на предыдущий (в нём тоже есть цикл For Each . Next для перебора городов в справочнике), но внутри цикла будет уже не фильтрация и копирование, а создание запроса Power Query и выгрузка его результатов на новый лист:

Sub Splitter2() For Each cell In Range("таблГорода") ActiveWorkbook.Queries.Add Name:=cell.Value, Formula:= _ "let" & Chr(13) & "" & Chr(10) & " Источник = Excel.CurrentWorkbook()[Content]," & Chr(13) & "" & Chr(10) & " #""Измененный тип"" = Table.TransformColumnTypes(Источник,, , , , , >)," & Chr(13) & "" & Chr(10) & " #""Строки с примененным фильтром"" = Table.Se" & _ "lectRows(#""Измененный тип"", each ([Город] = """ & cell.Value & """))" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & " #""Строки с примененным фильтром""" ActiveWorkbook.Worksheets.Add With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _ "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=" & cell.Value & ";Extended Properties=""""" _ , Destination:=Range("$A$1")).QueryTable .CommandType = xlCmdSql .CommandText = Array("SELECT * FROM [" & cell.Value & "]") .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .PreserveColumnInfo = True .ListObject.DisplayName = cell.Value .Refresh BackgroundQuery:=False End With ActiveSheet.Name = cell.Value Next cell End Sub

Созданные запросы для каждого города в Power Query

После его запуска мы увидим те же листы по городам, но формировать их будут уже созданные запросы Power Query:
При любых изменениях в исходных данных достаточно будет обновить соответствующую таблицу правой кнопкой мыши — команда Обновить (Refresh) или обновить сразу все города оптом, используя кнопку Обновить всё на вкладке Данные (Data — Refresh All) .

Ссылки по теме

  • Что такое макросы, как их создавать и использовать
  • Сохранение листов книги как отдельных файлов
  • Сборка данных со всех листов книги в одну таблицу

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *