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)
“A”与上述数值系列连接成一个动态的单元格地址“An”;
INDIRECT(“A”&6*ROW(A1)-5+COLUMN(A1))
用INDIRECT函数返回上述动态单元格“An”的单元格内容;
=INDIRECT(“A”&6*ROW(A1)-5+COLUMN(A1))&””
当INDIRECT函数指向的单元格内容为空时,返回值会是0,公式最后连接一个空文本,使0值显示为空白。