【问题标题】:Excel- indirect function (Increment the sheet reference)Excel-间接函数(增加工作表引用)
【发布时间】:2016-11-01 17:21:34
【问题描述】:

我正在尝试增加间接函数中引用的单元格(按行)。 这是一个例子

=SUMIF(INDIRECT("'"&E4&"'!$D$3:$D$5000"),OFFSET($D$5,ROW()-5)*1,0),INDIRECT("'"&E4&"'!$E$3:$E$5000"))

由于我在接下来的几列中复制(自动填充)这个公式,我不能将&E4&(在间接函数中使用)保持不变。但我想在此单元格下方的行中复制(自动填充)相同的公式,我想保持 E 列不变但更新行号,以便在下一行中选择 E5,然后选择 E6,依此类推。 E5 和 E6 等有我在我的 excel 中的工作表名称。

【问题讨论】:

  • 我认为使用 E4 作为工作表名称会造成混淆。我原以为这会导致您的公式出错。

标签: excel


【解决方案1】:

如果您在列符号前面添加 $,则运算符 this 将使该引用变为静态。您还可以通过突出显示范围并按 F4 来切换所有可能的组合,即 A1、$A$1、A$1、$A1。在复制之前,您的公式应如下所示:

=SUMIF(INDIRECT("'"&$E4&"'!$D$3:$D$5000"),OFFSET($D$5,ROW()-5)*1,0),INDIRECT("'"&$E4&"'!$E$3:$E$5000"))

注意 E 前面的 $。请注意,如果您通过行向下复制公式,则自动填充不应改变相对列,因此在任何情况下都不需要这样做。

【讨论】:

    【解决方案2】:

    =SUMIF(INDIRECT("'"&E4&"'!$D$3:$D$5000"),OFFSET($D$5,ROW()-5)*1,0),INDIRECT("'"&E4&" '!$E$3:$E$5000"))

    我在你的公式中发现了一个错误:

    Offset() 需要三个参数和另外两个可选参数:

        OFFSET(reference, rows, cols, [height], [width])
    
        Your code:
        OFFSET($D$5,ROW()-5)*1,0)
    

    您的偏移函数只有两个参数:OFFSET($D$5,ROW()-5)

    如果您尝试将星号用作 sumif 函数的通配符,则由于此不完整的偏移函数而无法正确处理它,因此您为什么会遇到单元格引用问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-16
      • 1970-01-01
      • 2020-04-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多