作者TimcApple (肥鹅)
看板Office
标题[算表] SUMPRODUCT 和 INDIRECT 相关
时间Thu Dec 5 23:07:43 2024
软体: 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
总之我搞不清楚这样算会正确的原因,希望有人能帮忙解惑,谢谢
(编辑) 另外以及,如果这样写不好,有没有比较好的写法
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 124.218.195.174 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1733411265.A.8FA.html
※ 编辑: TimcApple (124.218.195.174 台湾), 12/05/2024 23:09:28
1F:→ freePrester: INDIRECT 里只能放一组文字,不能放阵列 12/06 08:15
2F:→ freePrester: 如果这些工作表是排在一起的,可以使用 3D SUM 12/06 08:15
3F:→ freePrester: =SUM(113.12:113.07!L37) 12/06 08:16
5F:→ moon999tw: 考虑用合并汇算吗 12/09 22:09