代码之家  ›  专栏  ›  技术社区  ›  ImaginaryHuman072889

Excel:间接(地址(…))与偏移(…)

  •  4
  • ImaginaryHuman072889  · 技术社区  · 8 年前

    似乎使用Excel函数 INDIRECT(ADDRESS(...)) OFFSET(...)

    例如,以下两个公式将相同的结果返回到绝对参考:

    = INDIRECT(ADDRESS(1,1))
    
    = OFFSET(<current cell>,1-ROW(),1-COLUMN())
    

    = OFFSET(<current cell>,1,0)
    
    = INDIRECT(ADDRESS(ROW()+1,COLUMN()))
    

    我的问题是:一种方法总是优于另一种吗?在我看来 间接(地址(…)) 偏移(…) 有助于更相对的类型引用,但如上所示,这两种方法都可以用于完成任何一种类型的引用。或者,是否有一种完全不同的替代方法来使用这两种功能,它优于这两种选项?

    1 回复  |  直到 8 年前
        1
  •  7
  •   Scott Craner    8 年前

    两者都不是首选函数,因为两者都是易失函数,过多会影响计算时间。

    每次应用程序重新调用时,即使底层数据没有更改,也会重新调用Volatile函数。

    使用索引,因为它是非易失性的:

    =INDEX($1:$1048576,ROW()+1,COLUMN())
    

    仅当其引用的数据更改时,才会重新调用。

    偏移量几乎总是可以替换为索引。

    推荐文章