自制Excel分栏模板
2021-06-12高大庆
高大庆



对于只有寥寥几列、宽度很小的Excel工作表,直接打印既不美观又浪费纸,可惜Excel没有分栏功能。利用公式设计一个分栏模板,分栏就方便了,设计步骤如下:
①新建工作簿,重命名三个工作表为“分栏数据”、“分栏参数”、“分栏结果”。
②设计输入提示。如图1,选中“分栏参数”表,在A1~A5单元格依次输入“请输入”、“顶端标题行数:”、“每页数据行数:”、“分栏数:”、“栏间距:”,在B2~B5单元格依次输入“1”、“46”、“2”、“1”,合并A1~B1单元格。
③计算“分栏数据”表的总列数和总行数。如图1,在D1~D3单元格依次输入“无需输入”、“原表列数加1”、“原表行数”,合并D1~E1单元格。在E2单元格输入公式“=SUMPRODUCT(MAX((分栏数据!$1:$7<>"")*COLUMN(分栏数据!$1:$7)))+1”,在E3单元格输入公式“=SUMPRODUCT(MAX((分栏数据!$A:$C<>"")*ROW(分栏数据!$A:$C)))”,对于Excel 2003,此公式应改为“=SUMPRODUCT(MAX((分栏数据!$A$1:$C$65535<>"")*ROW(分栏数据!$A$1:$C$65535)))”。
④定义名称使公式直观、简洁。选中B2单元格,单击“公式→定义名称”,打开新建名称对话框,如图2,Excel将为我们把引用位置“=分栏参数!$B$2”定义为在当前工作簿中的名称“顶端标题行数”,直接确定。用同样方法,把B3、B4、B5、E2、E3单元格也分别定义为名称“每页数据行数”、“分栏数”、“栏间距”、“原表列数加1”、“原表行数”。
⑤计算“分栏结果”表中的每个单元格引用的是“分栏数据”表中第几行和第几列的数据。选中“分栏结果”表,同上,打开新建名称对话框,如图2,在“名称”中输入“原表行号”,在“引用位置”中输入“=INT((ROW()-顶端标题行数-1)/每页数据行数)*每页数据行数*分栏数+INT((COLUMN()-1)/原表列数加1)*每页数据行数+MOD(ROW()-顶端标题行数-1,每页数据行数)+1+顶端标题行数”,确定。同样,定义名称“原表列号”的引用位置为“=MOD(COLUMN()-1,原表列数加1)+1”。
⑥计算“分栏结果”表中每个单元格数值并定义分栏公式。同上,定义名……
