我想根据行号和列号获取单元格的内容 . 行号和列号存储在单元格中(此处为B1,B2) . 我知道以下解决方案有效,但他们觉得有点hacky .
索尔1
=CELL("contents",INDIRECT(ADDRESS(B1,B2)))
索尔2
=CELL("contents",OFFSET($A$1, B1-1,B2-1))
有没有更简洁的方法? (比如= CellValue(row,col)或者其他什么)?
编辑/澄清:我只想使用excel工作表公式 . 没有VBA . 简而言之,我几乎都在寻找相当于VBA Cells()方法作为excel公式 .
3 回答
您不需要公式的CELL()部分:
要么
都会奏效 . 请注意,
INDIRECT
和OFFSET
都是易失性函数 . 易失性函数可以减慢计算速度,因为它们是在每次重新计算时计算的 .Try = index(ARRAY,ROW,COLUMN)
where:Array:选择整个工作表Row,Column:您的行和列引用
对于那些关注公式的人来说,这应该更容易理解 .
我花了一段时间,但这就是我如何使它充满活力 . 它不依赖于排序表 .
首先,我开始使用一列州名(A栏)和每个州的一列飞机(B栏) . (第1行是 Headers 行) .
找到包含飞机数量的单元格是:
我将它放入一个单元格然后给了那个单元格一个名字,“StateRow”然后使用上面的提示,我结束了这个:
这将从“StateRow”行第1列中的动态值返回状态名称
现在,随着更多数据的输入,计数列中的值随着时间的推移而变化,我总是知道哪个州拥有最多的飞机 .