【问题标题】:Excel Offset formula in a cell by itselfExcel偏移公式本身在一个单元格中
【发布时间】:2019-09-09 19:14:50
【问题描述】:

这句话嵌入在我工作表上的许多公式中:

OFFSET(Table1[ReportDate],0,$B$1)

它返回对 Table1 中列的引用。

为了使这些公式更短,我想将此 OFFSET 公式提取到一个单独的单元格中以供其他人参考。

OFFSET 返回一个引用。将OFFSET(…) 放入单元格中只会返回#VALUE,INDIRECT(OFFSET(…)) 也是如此。

编辑:“许多公式”是 SUMIFS,OFFSET 选择要求和的列:

=SUMIFS(OFFSET(Table1[ReportDate],0,$B$1),Table1[ColumnB],$H10,Table1[Report Date],"<="&rYesterday)

【问题讨论】:

  • 你能说明它是如何在其他公式中使用的吗?它应该返回一个值数组。
  • 它返回表中的一列,一个值数组。这不能包含在单个单元格中。但是您可以将它们替换为以下非易失性索引:INDEX(Table1,0,MATCH("ReportDate",Table1[#Headers],0)+$B$1))
  • 要删除它,您需要输入引用的地址,但最终您将使用 INDIRECT。 Address 和 Indirect 都是不稳定的,如果使用太多时间会减慢计算速度,因为每次 Excel 重新计算时都需要重新计算它们。

标签: excel excel-formula


【解决方案1】:

如果我理解正确,您想用更简单的公式替换原来的 OFFSET 公式,以便在其他公式中使用。

您可以为此OFFSET 公式指定一个名称

在上面的模型示例中,我为 OFFSET 公式命名了 SUM_Rng,并在我的第二个公式中使用了它,这与您原来的 SUMIFS 公式相同。

您可以按Ctrl+F3在Excel中调出名称管理器并添加或修改名称它可以表示对单元格或范围的引用,要么是硬编码的,要么是由公式返回的。我注意到您已经在 SUMIFS 公式中使用了名称 rYesterday,因此您可以将此公式添加到名称管理器中。

干杯:)

【讨论】:

  • 这很有用,但我不想用“更简单”的东西替换 OFFSET。我的目标是让它只出现一次,而不必为每个公式计算。但是 +1 因为我应该使用这个技巧。
  • @ShawnV.Wilson 您能否详细说明您的only have it appear once, and not have to calculate for every formula 目标?据我了解,它返回当前在 SUMIFS 公式中使用的一系列数据。如何从 SUMIFS 公式中删除此范围以完成计算?
  • 我希望我能以某种方式将 OFFSET 公式放入 $A$5,然后我可以用 =SUMIFS($A$5....=SUMIFS(INDIRECT($A$5).... 代替 =SUMIFS(OFFSET(Table1[ReportDate],0,$B$1)....。偏移量只需要计算一次,而不是我使用较长公式的所有地方。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-30
相关资源
最近更新 更多