[算表] SUMPRODUCT 和 INDIRECT 相关

楼主: TimcApple (肥鹅)   2024-12-05 23:07:43
软件: Excel 2019
版本: 2019 家用版
我希望能够将不同 sheet 中同一个位置的数字加起来
例如 113.12, 113.11, ..., 113.07 中的 L37 位置相加
正确的结果会得到 7 + 8 + 7 + 7 + 8 + 3 = 40
因此我将上述 6 个表的名字存在 F163:F168 中,L37 存在 G161 中
然后测试出了奇怪的结果
以下公式会跳 #VALUE
= SUM(INDIRECT(F163:F168&"!"&G$161)))
以下公式会得到 0
= SUMPRODUCT(INDIRECT(F163:F168&"!"&G$161))
以下公式会得到 40
= SUMPRODUCT(SUM(INDIRECT(F163:F168&"!"&G$161)))
所以现在我得到了正确结果,可是如果对上面那格做评估值公式会得到
= SUMPRODUCT(SUM(INDIRECT({"113.12!L37"; ...; "113.06!L37"})))
= SUMPRODUCT(SUM({#VALUE; ...; #VALUE}))
= SUMPRODUCT(40)
= 40
总之我搞不清楚这样算会正确的原因,希望有人能帮忙解惑,谢谢
(编辑) 另外以及,如果这样写不好,有没有比较好的写法
作者: freePrester (Prester)   2024-12-06 08:15:00
INDIRECT 里只能放一组文字,不能放阵列如果这些工作表是排在一起的,可以使用 3D SUM=SUM(113.12:113.07!L37)https://isvincent.pixnet.net/blog/post/50201080
作者: moon999tw (STAR)   2024-12-09 22:09:00
考虑用合并汇算吗

Links booklink

Contact Us: admin [ a t ] ucptt.com