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

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

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

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

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

1 ответ1

0

Ссылаясь на :

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

Предполагая, что 1-й ряд, ячейка 1-го столбца является A1 .. Таким образом, ваша последняя ячейка (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)))

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .