使用INDIRECT对另一个电子表格中的单元格求和

时间:2014-12-05 20:03:25

标签: excel excel-formula excel-indirect

在我的名为“数据!”的工作表中,我有以下成功的公式:

=SUM(INDIRECT(CHAR(64+MATCH(E3,A3:N3,0))&MATCH($B165,$A$1:$A$900,0)&":"&(CHAR(64+MATCH(E3,A3:N3,0))&MATCH($B165,$A$1:$A$900,0)+$O$2-1)))

请不要理会细节,因为我的问题与引用另一个电子表格有关,如下所述。但总之,上述公式通过求和单元格E124至E133按预期工作。在单元格E3中,我有所需的列名称。在B165,我有想要的一年。

我需要将公式放在不同的工作表中。所以,在我写的第二份工作表中:

=SUM(INDIRECT("Data!"&(CHAR(64+MATCH(Data!E3,Data!A3:N3,0))&MATCH($O3,Data!A1:A900,0)&":"&"Data!"&(CHAR(64+MATCH(Data!E3,Data!A3:N3,0)&MATCH($O$3,Data!A1:A900,0)))))

然而,这给我带来了#VALUE错误。

当我将公式分成两部分时,它起作用。

也就是说,这有效:     CHAR(64 + MATCH(数​​据E3,数据A3:!N3,0))及MATCH(!$ O3,数据A1:A900,0)

这有效:     (!CHAR(64 + MATCH(数​​据E3,数据A3:N3,0)及MATCH($ $ø3数据A1:!A900,0)))

但是,当我将两者合并时,它会崩溃。我想这个错误与我引用我的初始工作表的下面粗体部分有关。

=SUM(INDIRECT(**"Data!"**&(CHAR(64+MATCH(Data!E3,Data!A3:N3,0))&MATCH($O3,Data!A1:A900,0)&":"**&"Data!"**&(CHAR(64+MATCH(Data!E3,Data!A3:N3,0)&MATCH($O$3,Data!A1:A900,0))))))

非常感谢任何指导!!

2 个答案:

答案 0 :(得分:0)

更新
我更新了我的公式,现在这种方法很完美。
以下是您公式的更正版本:

=SUM(INDIRECT("Data!"&(CHAR(64+MATCH(Data!E3,Data!A3:N3,0))&MATCH($G3,Data!A1:A900,0)&":"&CHAR(64+MATCH(Data!E3,Data!A3:N3,0))&(MATCH($G$3,Data!A1:A900,0)+Data!$O$2-1))))

我认为这会奏效。

答案 1 :(得分:0)

正确的公式是:

=SUM(INDIRECT("Data!"&(CHAR(64+MATCH(Data!E3,Data!A3:N3,0)))
   &MATCH($O3,Data!A1:A‌​900,0)&":"&CHAR(64+MATCH(Data!E3,Data!A3:N3,0))
   &MATCH($O$3,Data!A1:A900,0)+Data!$‌​O$2-1))