條件求和,應該是Sumif、Sumifs以及Sumproduct的拿手好戲,專利,但在實際的辦公和數據處理中,應用的人越來越少,那是因為他們掌握了更為好用的數據庫函數Dsum。
一、功能及語法結構。
功能:計算滿足條件的數據庫中記錄的字段(列)數據的和。
語法結構:=Dsum(數據區域,返回值的相對列,條件區域)。
解讀:
1、用Dsum函數求和時,需要注意的是第1個參數“數據區域”和第3個參數“條件區域”必須包含有效的列标題,否則無法正常計算;也就是說:“數據區域”和“條件區域”是由列标題和數據或條件構成的多行區域。
2、第2個參數“返回值的相對列”有3種引用方式:
(1)可以直接是數字:如要計算相對範圍中第5列的和值,此參數直接寫成數字5即可;
(2)列标題單元格地址:如要計算相對範圍中第5列的和值,第5列列标題的單元格地址為E3,此參數直接寫成E3即可。
(3)列标題:如要計算相對範圍中第5列的和值,第5列的列标題為“月薪”,此參數直接寫成“月薪”即可。需要注意的時列标題必須用""(雙引号)括起來,否則無法正确執行。
二、應用案例
1、單字段單條件求和。
目的:根據“學曆”計算相應的“月薪”。
方法:
在目标單元格中輸入公式:=DSUM(F2:G12,2,J2:J3)、=DSUM(F2:G12,"月薪",J2:J3)、=DSUM(F2:G12,G2,J2:J3)。
解讀:
1、“數據區域”和“條件區域”中包含了列标題,數據範圍是F2:G12、J2:J3,并不是F3:G12、J3,和平時使用的公式還是不同的,這個需要特别的注意。
2、對3個公式進行比較,唯一不同的就是第2個參數,可以是相對列數、列标題或者列标題的單元格地址,完全可以根據自己喜好進行選擇使用!
2、單字段多條件求和。
目的:計算“學曆”為“大本”和“大專”的總“月薪”。
方法:
在目标單元格中輸入公式:=DSUM(B2:G12,6,J2:J4)。
解讀:
1、首先提個問題,同樣是計算“月薪”,為什麼此公式中的第2個參數為6,而不是2?此參數除了6之外,還可以是什麼?留言區告訴小編哦!
2、條件區域J2:J4中的字段包括“大本”和“大專”,這兩者之間的關系為“和”、“或”的關系,可以理解為統計的時“大本”和“大專”的總“月薪”。
3、單字段是指隻有一個條件,就是“學曆”;多條件是指此字段下有“大本”、“大專”兩個條件。當然還可以有更多的條件。
4、如果用Sumif或Sumifs函數去實現此功能,又改如何編寫公式呢?
3、多字段單條件求和。
目的:計算相應“學曆”下“已婚”或“未婚”人員的總“月薪”。
方法:
在目标單元格中輸入公式:=DSUM(B2:G12,G2,J2:K3)。
解讀:
1、問題:第2個參數除了是G2外,還可以怎麼寫?
2、多字段指有多個條件,例如此示例中的“學曆”和“婚姻”,當然還可以增加其它條件,根據實際情況設置即可;單條件是指每個字段下面隻能有一個條件,這兩個條件之間是“并且”的關系,例如:計算“學曆”為“大本”,并且“已婚”的人員“月薪”總和。
4、多字段多條件求和。
目的:計算相應“學曆”下“已婚”或“未婚”的人員總“月薪”。
方法:
在目标單元格中輸入公式:=DSUM(B2:G12,6,J2:K4)。
解讀:
1、根據前面的示例,“多字段多條件”應該很好理解了,“多字段”就是有多個條件;“多條件”就是每個字段下面有多個值。
2、“字段”和“條件”之間的關系:同一行中的2個或多個值是“并且”的關系,例如“大本”和“已婚”,就是計算學曆必須為“大本”,而且婚姻必須為“已婚”的,這2個條件必須成立的總“月薪”;但行與行之間的關系為“或”,這個是要特别注意的。
5、時間範圍求和。
目的:計算9月份的銷量。
方法:
在目标單元格中輸入公式:=DSUM(B2:F12,"銷量",I2:J3)。
解讀:
第3個參數為I2:J3,但仔細觀察标題均為“銷售日期”,隻是具體的值不同而已,也就是說:同一個列标題,可以多次作為“字段”出現。
6、數值區間求和。
目的:計算銷量≥200,且<600的總銷量。
方法:
在目标單元格中輸入公式:=DSUM(B2:F12,D2,I2:J3)。
解讀:
同一個列标題,可以多次作為“字段”出現。
7、用邏輯值作為條件字段。
目的1:計算9月份的總銷量。
方法:
在目标單元格中輸入:=DSUM(B2:F12,3,I2:I3)。
解讀:
1、當邏輯值參與計算時,列标題為空,如本示例中的I2。
2、在條件區域編輯公式,如本示例中的:=MONTH(E3)=9。
目的2:計算高于平均銷量的銷量之和。
方法:
在目标單元格中輸入公式:=DSUM(B2:F12,3,I2:I3)。
8、精準求和。
目的:計算“鼠标”的總銷量。
方法:
在目标單元格中輸入公式:=DSUM(B2:F12,3,I2:I3)。
解讀:
條件區域中的條件為“=鼠标”,Why?不應該是“鼠标”麼?此問題就涉及到精準匹配的問題,如果為“鼠标”,就是包含“鼠标”的所有字段都在計算範圍内,而“=鼠标”就為精準匹配。所以字段有包含關系,而需要精準查詢時,需要在字段的前面加上“=”(等号)。
最美尾巴:
本文從實際的案例中詳細介紹了Dsum函數的應用技巧,相對于Sumif、Sumif等常規求和函數來說,還是有很多優勢,尤其是區間計算時,顯得尤為方便。
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!