indirect嵌套row对结构相同个数不定工作表汇总
1、如下图所示需要在汇总表中将全年各个月份的利润表中各项数据在汇总表内汇总,1月、2月到6月的工作表内存放的是每个月份利润表的数据。

2、各个月份中的利润表的结构是一样的,左侧列的各个项目的名称也是完全一致的,但是左侧列名称中由于利润表的固有格式使得单元格中的内容存在空格,所有在使用单元格中的项目作为条件时,必须要保证空格数是一致的才能使用sumif函数。


5、另一种方法更适合这种汇总,以为每月的利润表中只有一列数值数据,可以直接使用indirect函数结合row函数进行引用,从而实现滚动汇总,在汇总表的b2单元格内输入函数=INDIRECT(B$1&"!b"&ROW()),这里indirect函数的作用是返回由文本字符串指定的引用。此函数立即对引用进行计算,并显示其内容。

7、选中b2单元格然后点击编辑栏在原来公式的前面插入函数indirect,然后添加一对括号,将原来编辑栏内的内容括起来,然后吹涡皋陕用鼠标选中'1月',此时'1月'变成黑色底色,再用鼠标点击一下b1单元格或者直接输入b1,再公式向右复制,然后再向下复制的时候,只允许b1向右变化,不允许b1向下变化,因此需要选中b1单元格,然后点按键盘上的f4键,将b1变为B$1,这样就锁定了应用的行,而不会锁定引用的列。




10、在输入完成这个函数之前还需要为其添加一个屏蔽错误值的函数嵌套,选中b2单元格中的I鲍伊酷雪NDIRECT(B$1&"!B"&ROW烫喇霰嘴()),然后点按键盘上的ctrl+x将行数剪切到剪切板上,然后再等号后面输入一个if函数,鼠标点击if函数后面的括号,当光标在括号内闪动的时候按键盘上的ctrl+a,此时if函数的参数名称已经出现在括号内部,并且被逗号间隔开了,将三个参数分别改变为iserror(),空值,和空白,然后将刚才剪切的内容粘贴在iserror后面的括号内以及第三个参数的空白位置,最终的到的函数是这样的=IF(ISERROR(INDIRECT(B$1&"!B"&ROW())),"",INDIRECT(B$1&"!B"&ROW())),将其向右侧复制,然后再向下复制。

