使用INDIRECT()和INDEX()函数
我有一个公式,我希望能够拖下来自动完成一些行。
=COUNTA(INDEX(1:100,0,ROW(A1)))
此公式的目的是计算每个列中的非空白单元格的数量。 我知道我可以使用另一个公式…
=COUNTA(EIM!A$1:A$100)
…并拖动它,粘贴特殊值,然后粘贴特殊的转置,但我想知道是否有另一种(更优雅)的方式。 正如你在第二个公式中看到的那样,我正在努力拉取另一个工作表的值。 因此,我认为INDIRECT()是要走的路。
我的问题是:如何使用INDIRECT()与我的第一个使用INDEX()函数的公式结合使用?
下面是当前公式的截图,它评估(不知道是否有帮助):
当然可以 ,但是,应该吗?
要做到这一点,你可以使用R1C1风格,通过间接指定false
:
=COUNTA(INDIRECT("EIM!R1C"&ROW(A1)&":R100C"&ROW(A1),FALSE))
要不就:
=COUNTA(INDEX(INDIRECT("EIM!$1:$100"),0,ROW(A1)))
通常,如果你使用INDIRECT,你做错了什么。 我所看到的唯一合理的使用情况是(a)按公式select另一个工作表(在Excel中没有好的方法),(b)编写一个引用命名单元格的Excel教程示例。
如果您始终引用特定的工作表,则可以使用:
=COUNTA(INDEX(EIM!$1:$100,0,ROW(A1)))
如果每列代表不同的工作表,那么间接可能是可以接受的。