Как сделать повторяющиеся строки в excel

Повторение определенных строк или столбцов на каждой печатной странице

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

Чтобы добавить на таблицу заголовки для печати, выполните указанные здесь действия.

На листе, который нужно напечатать, на вкладке Разметка страницы нажмите кнопку Печатать заголовки в группе Настройка страницы.

Печать заголовков

Примечание: Если выбрана диаграмма на том же или на том же компьютере или на компьютере не установлен принтер, команда Печатать заголовки будет неактривна. Дополнительные сведения об установке принтера см. в этой Windows Vista. Обратите внимание, что корпорация Майкрософт прекратила поддержку Windows XP; для дальнейшей поддержки драйверов обратитесь на веб-сайт изготовителя принтера.

На вкладке Лист в области Печатать заголовкисделайте одно или оба из следующих титров:

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

В поле Столбцы, которые нужно повторить слева введите ссылку на столбцы, содержащие подписи строк.

Например, чтобы напечатать метки столбцов в верхней части каждой страницы, введите в поле сквозные строки значение $1:$1.
Вкладка «Лист» в диалоговом окне «Параметры страницы»

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

Примечание: Если выделено более одного листа, поля сквозные строки и сквозные столбцы будут недоступны в диалоговом окне Параметры печати. Чтобы отменить выделение нескольких листов, щелкните любой невыделенный лист. Если невыделенных листов нет, щелкните правой кнопкой мыши ярлычок выделенного листа и в контекстном меню выберите команду Разгруппировать листы.

Генерация дубликатов строк

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

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

Исходные данные

Каждому билету нужно присвоить уникальный 6-значный номер, который формируется здесь простой функцией СЛУЧМЕЖДУ (RANDBETWEEN) , генерирующей целое случайное число в заданном диапазоне 100000-999999. Да, я знаю, что теоретически совпадения могут быть, но вероятность очень невелика и пока нас, допустим, устраивает (кого не устраивает — см.эту статью). Проблема в другом: для тех, кто заказал больше одного билета, нужно вставить в таблицу новые строки-дубли (по количеству заказанных билетов), т.е. на выходе получить вот такое:

Генерация дубликатов строк

Руками такое делать — тоскливо, формулами — сложно. Так что остаются два наиболее удобных варианта — макросы и Power Query.

Способ 1. Создание дубликатов строк макросом

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

Принцип тут не самый сложный:

  1. проходим сверху-вниз по столбцу начиная с B2 до первой пустой ячейки
  2. если число в ячейке >1, то вставляем пустых строк под ячейкой на одну меньше, чем число билетов
  3. заполняем пустые ячейки (метод FillDown — аналог "протягивания за черный крестик" в правом нижнем углу ячейки)
  4. переходим к следующей ячейке и т.д.

Способ 2. Создание дубликатов строк в Power Query

Тем, кто хотя бы немного сталкивался с Power Query, рекламировать его мощь не нужно 🙂 Для тех, кто не знаком (если коротко), то Power Query — это бесплатная надстройка для Excel от Microsoft, умеющая делать с данными практически все, что только можно себе представить: загрузку из любых источников, очистку, трансформацию, анализ данных и т.д. Для Excel 2010-2013 ее можно скачать с сайта Microsoft (появится отдельная вкладка Power Query после установки), а в Excel 2016 она уже встроена по-умолчанию (группа Получить внешние данные на вкладке Данные).

Power Query может легко и красиво решить нашу проблему с генерацией дубликатов.

Для начала, выделим нашу таблицу и загрузим ее в Power Query кнопкой Из таблицы/диапазона (From Table/Range) на вкладке Данные (Data) или Power Query:

Загрузка данных в Power Query

После окна подтверждения увидим редактор запросов и нашу таблицу. Добавим пользовательский столбец на вкладке Добавить столбец (Add Column — Custom Column) :

Добавляем вычисляемый столбец

В появившемся окне введем имя столбца и формулу, которая создает список чисел от 1 до количества билетов в каждой строке:

Формула столбца

После нажатия на ОК появится новый столбец со списками, элементы которых можно развернуть в строки, используя кнопку в шапке таблицы:

Разворачиваем списки

В итоге, получаем практически то, что хотелось:

Сгенерированные дубликаты строк

Осталось удалить ненужный больше столбец Список (правой кнопкой мыши по заголовку — Удалить столбец) и выгрузить данные обратно на лист на вкладке Главная (Home) с помощью кнопки Закрыть и загрузить — Закрыть и загрузить в. (Close&Load — Close&Load to. ) и указать подходящее место для результирующей таблицы:

Выгружаем на лист

И останется совсем простая часть — добавить к таблице столбец с формулой СЛУЧМЕЖДУ (RANDBETWEEN) для генерации случайных номеров билетов:

Результат

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

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

Также можно, для наглядности, склеивать через дефис номер билета и порядковый номер из столбца Список прямо в Power Query, используя команду Объединить столбцы на вкладке Преобразование (Transform) .

Ссылка на основную публикацию