根据行号和列号获取单元格的内容

我想得到一个单元格的行和列号的内容。 行号和列号存储在单元格中(这里是B1,B2)。 我知道以下解决scheme的工作,但他们感觉有点哈克。

溶胶1

=CELL("contents",INDIRECT(ADDRESS(B1,B2))) 

溶胶2

 =CELL("contents",OFFSET($A$1, B1-1,B2-1)) 

有没有更less的详细的方法? (如= CellValue(行,列)或其他)?

编辑/澄清:我只想使用Excel工作表公式。 没有VBA。 简而言之,我非常喜欢将Excel中的VBA Cells()方法作为Excel的公式。

你不需要公式的CELL()部分:

 =INDIRECT(ADDRESS(B1,B2)) 

要么

 =OFFSET($A$1, B1-1,B2-1) 

都将工作。 请注意, INDIRECTOFFSET都是易失性函数。 易失性函数可能会减慢计算速度,因为它们是在每次重新计算时计算的。

Try = index(ARRAY,ROW,COLUMN)

其中:数组:select整个工作表行,列:您的行和列引用

那些看公式的人应该更容易理解。

我花了一段时间,但这是如何使它dynamic。 它不依赖于已sorting的表。

首先,我从一列国家名称(A栏)和每个州的一列飞机(B栏)开始。 (第1行是标题行)。

查找包含飞机数量的单元格为:= MATCH(MAX($ B $ 2:$ B $ 54),$ B $ 2:$ B $ 54,0)+ MIN(ROW($ B $ 2:$ B $ 54)) – 1

我把它放到一个单元格中,然后给这个单元格一个名字,“StateRow”然后使用上面的提示,我结束了这个:= INDIRECT(ADDRESS(StateRow,1))这将返回dynamic行“StateRow”列1中的值

现在,随着更多数据input,计数栏中的数值随时间变化,我总是知道哪个状态的飞机数量最多。