在纯Excel中,如何引用范围中的列(无VBA)

时间:2012-02-01 17:57:26

标签: excel excel-formula

我在工作表上有一系列数字,从该范围开始,我如何引用索引给出的完整列或行?

我正在使用2007 ..我没有成功地查看了HLookup / Vlookup / Index

3 个答案:

答案 0 :(得分:12)

我猜你的意思是将整个列/行引用为另一个公式中的范围/数组?

如果是这样,我能想到的唯一方法就是使用OFFSET

=OFFSET($A:$A,,MyColIndex-1)
=OFFSET($1:$1,MyRowIndex-1,)

...这就是

=OFFSET(reference,rows,cols,[height],[width])

但是,如果您在A的左侧插入一列,或在1之上插入一行,则无效。

编辑:刚刚找到解决这个小问题的方法......

=OFFSET($A:$A,,MyColIndex-Column($A:$A))
=OFFSET($1:$1,MyRowIndex-Row($1:$1),)

答案 1 :(得分:4)

如果您可以将范围转换为表格,则可以使用结构化引用来引用表格中的列。

实施例

  • 您的表格名为Table1,其列Column1Column2Column3
  • 单元格E1具有列名称(例如Column1

在这种情况下,您可以计算(例如)E1指定的列的总和:

=SUM(INDIRECT("Table1["& E1 &"]"))

答案 2 :(得分:3)

如下:

=SUM(INDEX(2:1048576,0,2))

这对指定范围内的整个第二列求和,即B2:B1048576。它起作用,因为index函数的row参数中的0返回整个列 - 在指定的范围内。以下将仅仅B2:B3:

=SUM(INDEX(2:3,0,2))

......这将总结C2:C3

=SUM(INDEX(B2:F3,0,2))