使用间接访问另一个工作表中的单元格区域

时间:2019-05-18 13:50:20

标签: excel

以下是一些示例数据:

enter image description here

目标是访问工作表名称May-然后在单元格标题(起始索引位置)和(最大值的获取索引位置)中指定范围(至/自)之间求和。

我可以使用以下间接函数来实现所需的总和

=SUM(INDIRECT("'" &T8 & "'!d$8:m$9"))

但是,随着我的数据改变-最大值的索引位置也会改变-因此,我需要让indirect()从单元格值中获取这些范围。

有没有简单的方法可以做到这一点?

五月工作表中的单元格数据已引用:d$9:o$9

上述公式的总和:d$9:m$9其中= 36

enter image description here

起始索引=硬编码(这有关系吗?

最大位置=ADDRESS(CELL("row",INDEX(INDIRECT("'" & C17 & "'!d$9:o$9"),MATCH(MAX(INDIRECT("'" & C17 & "'!d$9:o$9")),INDIRECT("'" & C17 & "'!d$9:o$9"),))),CELL("col",INDEX(INDIRECT("'" & C17 & "'!d$9:o$9"),MATCH(MAX(INDIRECT("'" & C17 & "'!d$9:o$9")),INDIRECT("'" & C17 & "'!d$9:o$9"),))))

1 个答案:

答案 0 :(得分:0)

这有效:

=SUM(INDIRECT("'"&C17&"'!"&"d$9" & ":"&ADDRESS(CELL("row",INDEX(INDIRECT("'"&C17&"'!d$9:o$9"),MATCH(MAX(INDIRECT("'"&C17&"'!d$9:o$9")),INDIRECT("'"&C17&"'!d$9:o$9"),))),CELL("col",INDEX(INDIRECT("'"&C17&"'!d$9:o$9"),MATCH(MAX(INDIRECT("'"&C17&"'!d$9:o$9")),INDIRECT("'"&C17&"'!d$9:o$9"),))))),0)

它的工作原理:

=SUM(INDIRECT("'"&sheet name cell reference&"'!"&"starting cell id" & ":"& max value index position formula)

最大值指标位置公式

=ADDRESS(CELL("row",INDEX(INDIRECT("'" & C17 & "'!d$9:o$9"),MATCH(MAX(INDIRECT("'" & C17 & "'!d$9:o$9")),INDIRECT("'" & C17 & "'!d$9:o$9"),))),CELL("col",INDEX(INDIRECT("'" & C17 & "'!d$9:o$9"),MATCH(MAX(INDIRECT("'" & C17 & "'!d$9:o$9")),INDIRECT("'" & C17 & "'!d$9:o$9"),))))