Excel с использованием заполнения столбцов из строк

287
Oxmaster

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

Допустим, у меня есть таблица в sheet1, содержащая: название, имя, фамилию, название улицы, город и почтовый индекс. В sheet2 я могу использовать CONCATENATE или ссылки на ячейки, чтобы создать комбинацию всех этих значений для создания метки адреса для конверта. На листе 2 я использую макет страницы, чтобы лучше понять, как они будут печататься, настроить размеры ячеек и поля.

Допустим, что страница sheet2 имеет 8 строк и 3 столбца. Я могу заполнить 1-й столбец, перетащив автозаполнение ячейки, но затем я попадаю в конец страницы, чтобы заполнить следующий столбец, мне нужно скопировать формулу из последней строки 1-го столбца и вручную изменить данные на +1 а затем перетащите снова. Как: =CONCATENATE(Sheet1!A9;" ";Sheet1!B9;" ";Sheet1!C9;CHAR(10);Sheet1!D9)до =CONCATENATE(Sheet1!A10;" ";Sheet1!B10;" ";Sheet1!C10;CHAR(10);Sheet1!D10) и затем перетащить его до конца колонны и снова изменить формулу.

Есть ли способ автоматически заполнить все ячейки сверху вниз слева направо? example image

Я хотел бы избежать VBA, если это возможно.

0
Самый простой способ добиться того, что вы пытаетесь сделать, - это слияние почты в слове. Откройте слово и выберите шаблон этикетки. Установите источник данных на свой лист Excel, и он автоматически заполнит метки в правильном порядке. user218076 6 лет назад 1

1 ответ на вопрос

0
p._phidot_

Ссылаясь на :

«8 строк и 3 столбца»

Предполагая, что в 1-й строке ячейка 1-го столбца равна А1. Таким образом, последняя ячейка (3-й столбец, 8-й ряд) будет C8.

Так что вместо того Sheet1!A9, чтобы использовать indirect("Sheet1!A"&(9+(COLUMN(A1)-1)*8+ROW(A1)-1).. так у вас полная формула будет:

=CONCATENATE(Sheet1!Aindirect("Sheet1!A"&(9+(COLUMN(A1)-1)*8+ROW(A1)-1));" ";Sheet1!Bindirect("Sheet1!A"&(9+(COLUMN(A1)-1)*8+ROW(A1)-1));" ";Sheet1!Cindirect("Sheet1!A"&(9+(COLUMN(A1)-1)*8+ROW(A1)-1));CHAR(10);Sheet1!Dindirect("Sheet1!A"&(9+(COLUMN(A1)-1)*8+ROW(A1)-1))) 

Похожие вопросы