Excel 使用从行填充列

Excel 使用从行填充列

我不知道如何命名以便其他人可以更轻松地搜索该主题。

假设 Sheet1 中有一张表格,其中包含:标题、名字、姓氏、街道名称、城市和邮政编码。在 Sheet2 中,我可以使用 CONCATENATE 或引用单元格来组合所有这些值,从而为信封创建地址标签。在 Sheet2 中,我使用页面布局来更好地查看如何打印它们,调整单元格大小和边距。

假设 sheet2 页面有 8 行 3 列。我可以通过拖动单元格自动填充来填充第一列,但当我到达页面末尾时,要填充下一列,我需要从第一列的最后一行复制公式并手动将数据更改为 +1,然后再次拖动。例如:=CONCATENATE(Sheet1!A9;" ";Sheet1!B9;" ";Sheet1!C9;CHAR(10);Sheet1!D9)然后=CONCATENATE(Sheet1!A10;" ";Sheet1!B10;" ";Sheet1!C10;CHAR(10);Sheet1!D10) 将其拖到列末尾并再次更改公式。

有什么方法可以自动填充从左上角到右下角的所有单元格? 示例图片

如果可能的话我想避免使用 VBA。

答案1

参考:

“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)))

相关内容