Use a excel cell reference to indicate tab name inside a formula?

我有一个包含 52 个标签的文档,每周一个。他们的名字是
Week (1), ...,Week (52)。在第 53 个选项卡中,我对输入到每个选项卡中的数据进行了汇总。
这个想法是我的主管每周复制和粘贴数据,当她完成那一周时隐藏选项卡,第 53 个摘要页面将显示每周细分的全年。
我的问题是,其中一个单元格的公式是 =SUMIF('Week (1)'!$B:$B,B3,'Week (1)'!$G:$G),其中的重点是将第 (1) 周中的 G 列相加,其中 B3 等于第 (1) 周 B 列中的相应单元格同一行。
因为我复制了 52 次,所以我通常必须手动将每个选项卡输入到各种不同的公式中,将第 (1) 周替换为第 (2) 周,依此类推,直到第 (52) 周。
有没有办法代替以下公式:
=SUMIF('[REFERENCE TO CELL CONTAINING TAB NAME]'!$B:$B,B3,'[REFERENCE]'!$G:$G)
通过使用 INDIRECT,您可以使用单元格值创建工作表引用。而不是图片中的示例:
=SUMIF('[E1]1!$B:$B,F3,'[E3]'!$G:$G)
你可以使用:
=SUMIF(INDIRECT("'"&E1&"'!$B:$B"),F3,INDIRECT("'"&E3&"'!$G:$G"))
你可以使用函数EVAL
更多细节在这里
https://www.mrexcel.com/forum/excel-questions/62067-eval-function-without-morefunc-add.html
- EVALUATE 仅适用于命名范围和 VBA。该链接似乎暗示此 EVAL 公式是基于 EVALUATE 的 UDF。如果这里真的有答案,那就埋了!
-
是的,我建议 VBA 可用于可变函数 Function Eval(Ref As String) Application.Volatile Eval = Evaluate(Ref) End Function