用direct函数对列进行引用时用列号就行,比如indirect("'!A:A") ,,但是需要对行进行引用时应该怎么表示呢?
具体公式如下:SUMIF(INDIRECT("'"&ROW(INDIRECT("1:31"))&"'!C:C"),$C14,INDIRECT("'"&ROW(INDIRECT("1:31"))&"'!F:F")) 这个计算中是计算的工作表1到工作表31中C列里与C14相同的值对应的F列的值的和,但如果想要计算工作表1到工作表31中第5行里于C5相同的值对应的第6行的值的和。两种情况一样的,只是一个是引用列,一个是引用行。数据表中明明有对应的值,但是在上面的公式中用"5:5" 、"6:6"代替"'!C:C","'!F:F"计算出来的总是错误值,怎么办呢
indirect函数对单元格引用的两种方式。
=INDIRECT("A1"),结果为C3。这种使用,简单的讲,就是将这些引用地址套上双引号,然后再传递给INDIRECT函数。
=INDIRECT(C1),结果为C2。解释:因为C1的值就是 "A1",在公式编辑栏,选中“C1”,然后按下F9键,计算值,可以看到变为“"A1"”,本质没变,都是对单元格引用。
上面两者的区别在于:前者是A1单元格内文本的引用,后者是引用的C1单元格内的地址引用的单元格的内容。