[算表] 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