INDIRECT函数转换成适合打印的多行多列

尤其打印单位人员名单时 , 单列数据太长 , 要做成多行多列适合打印的形式:

INDIRECT函数转换成适合打印的多行多列

文章插图
关键操作
公式:
在D2单元格输入公式:
=INDIRECT(“A”&6*ROW(A1)-5+COLUMN(A1))&”” , 然后向右向下填充 , 即可变成适合打印的6列多行数据 。
公式解析:
6*ROW(A1)-5+COLUMN(A1)
这部分在D2的运算结果是2 , 当公式向下填充时 , ROW(A1)会自动变成ROW(A2)、ROW(A3)…… , 计算结果也会变成8、14、20、…… , 即生成一个步长为6的数值系列;
当公式向右填充时 , COLUMN(A1)会自动变成COLUMN(B1)、COLUMN(C1)…… , 这部分结果会变成3、4、5、6、7步长为1的数值系列 。
“A”&6*ROW(A1)-5+COLUMN(A1)
【INDIRECT函数转换成适合打印的多行多列】“A”与上述数值系列连接成一个动态的单元格地址“An”;
INDIRECT(“A”&6*ROW(A1)-5+COLUMN(A1))
用INDIRECT函数返回上述动态单元格“An”的单元格内容;
=INDIRECT(“A”&6*ROW(A1)-5+COLUMN(A1))&””
当INDIRECT函数指向的单元格内容为空时 , 返回值会是0 , 公式最后连接一个空文本 , 使0值显示为空白 。

    推荐阅读