首页 文章

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

提问于
浏览
90

我想根据行号和列号获取单元格的内容 . 行号和列号存储在单元格中(此处为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 回答

  • 27

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

    =INDIRECT(ADDRESS(B1,B2))
    

    要么

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

    都会奏效 . 请注意, INDIRECTOFFSET 都是易失性函数 . 易失性函数可以减慢计算速度,因为它们是在每次重新计算时计算的 .

  • 2

    Try = index(ARRAY,ROW,COLUMN)

    where:Array:选择整个工作表Row,Column:您的行和列引用

    对于那些关注公式的人来说,这应该更容易理解 .

  • 135

    我花了一段时间,但这就是我如何使它充满活力 . 它不依赖于排序表 .

    首先,我开始使用一列州名(A栏)和每个州的一列飞机(B栏) . (第1行是 Headers 行) .

    找到包含飞机数量的单元格是:

    =MATCH(MAX($B$2:$B$54),$B$2:$B$54,0)+MIN(ROW($B$2:$B$54))-1
    

    我将它放入一个单元格然后给了那个单元格一个名字,“StateRow”然后使用上面的提示,我结束了这个:

    =INDIRECT(ADDRESS(StateRow,1))
    

    这将从“StateRow”行第1列中的动态值返回状态名称

    现在,随着更多数据的输入,计数列中的值随着时间的推移而变化,我总是知道哪个州拥有最多的飞机 .

相关问题