在纯Excel中,如何引用一个范围内的列(无VBA)
我在表单上列出了一系列数字,从那个范围,我如何引用由索引给出的完整列或行?
我正在使用2007 ..我没有成功地看着HLookup / Vlookup / Index
我猜你是指将整个列/行作为另一个公式中的范围/数组?
如果是这样,我能想到的唯一办法就是使用OFFSET
=OFFSET($A:$A,,MyColIndex-1) =OFFSET($1:$1,MyRowIndex-1,)
那是…
=OFFSET(reference,rows,cols,[height],[width])
但是,如果您在A的左侧插入一列,或者在1以上的行插入一列,这将不起作用。
编辑:只是find了一个解决这个小问题的方法…
=OFFSET($A:$A,,MyColIndex-Column($A:$A)) =OFFSET($1:$1,MyRowIndex-Row($1:$1),)
感觉如何?
=SUM(INDEX(2:1048576,0,2))
这将指定范围内的整个第二列相加,即B2:B1048576。 它的工作原理是索引函数的row参数中的0返回整个列 – 在指定的范围内。 以下将总结B2:B3:
=SUM(INDEX(2:3,0,2))
…这将总结C2:C3
=SUM(INDEX(B2:F3,0,2))
如果可以将范围转换为表格,则可以使用结构化引用来引用表格中的列。
例
- 您的表称为
Table1
并具有列Column1
,Column2
,Column3
- 单元格
E1
具有列的名称(例如Column1
)
在这种情况下,您可以计算(例如)E1指定的列的总和:
=SUM(INDIRECT("Table1["& E1 &"]"))