一般情況下,建議數據都在一個檔(工作簿)裡,可以分開sheet(工作表)存放,這樣不僅是操作方便,在使用公式以及其他统计工具(例如透視表)都非常容易。但是不可避免的也會遇到一些不在同一文件的情況,這就會帶來一些問題,今天著重討論一下跨文件進行條件求和的問題。
一般我們在進行跨工作簿條件求和時,經常會遇到的是以下兩個問題:
1、跨工作簿的區域應該如何寫?
2、關閉工作簿後,求和出來的結果變成錯誤值怎麼辦?
說到條件求和,首先想到的一定是用SUMIF函數進行統計。
函數語法:
=SUMIF(條件區域,條件,求和區域)
其實跨工作簿的情況下,區域的選取跟在同一個工作簿一樣,都是用滑鼠選取,而不是手寫。有一點必須要記住:兩個工作簿必須同時打開。
具體操作參考動畫演示:
最終公式為: =SUMIF([跨工作簿統計1.xlsx]Sheet1!$B:$B,A2,[跨工作簿統計1.xlsx]Sheet1!$D:$D)
但是一旦我們將跨工作簿統計1.xlsx關閉,修改統計月份,金額就變成錯誤值。
在Excel中,並不是所有函數都支援跨工作簿,如SUMIF、COUNTIF函數就不支援,而VLOOKUP、SUMPRODUCT函數就支援。這裡可以藉助SUMPRODUCT函數實現跨工作簿統計。
函數語法: =SUMPRODUCT((條件區域=條件)*求和區域)
我們重新看一下出錯的單元格,公式可能會變成 =SUMIF('C:UserschenxiluDesktop[跨工作簿統計1.xlsx]Sheet1'!$B:$B,A2,'C:UserschenxiluDesktop[跨工作簿統計1.xlsx]Sheet1'!$D:$D)
C:UserschenxiluDesktop 這個是路徑,意思就是說這個表格存在我電腦的桌面。
[跨工作簿統計1.xlsx]Sheet1 這個是工作簿名稱跟工作表名稱。
不要看公式很長,其實拆分開真的沒什麼,都是很簡單的東西。
SUMPRODUCT函數不支援引用整列,這裡只要將原來的區域改小,稍作變動就完成了最終的統計。
=SUMPRODUCT(('C:UserschenxiluDesktop[跨工作簿統計1.xlsx]Sheet1'! $B$2:$B$100 =A2)*'C:UserschenxiluDesktop[跨工作簿統計1.xlsx]Sheet1'! $D$2:$D$100 )
這樣即使工作簿不打開的情況下,也能正確統計。
一句話總結:可以用SUMPRODUCT函數實現跨工作簿統計,直接打開兩個工作簿,用滑鼠選取區域,路徑是原來的表格關閉後自動生成的。