DSUM函數是一個數據庫函數,求列表或者數據庫中滿足指定條件的記錄的字段數據數字之和。
什么情況下使用DSUM函數?
在Excel中,有許多函數都能夠實現匯總求和,DSUM函數就是其中之一。DSUM函數對于列表或數據庫中滿足條件的記錄,對其字段列中的值執行相加操作。DSUM函數使用獨立的條件區域,不適合于多行,但可以滿足復雜條件下的求和。它能夠:
求滿足指定條件的數字之和
計算班級科目總成績
精確設置條件求和
設置多條件求和
在條件單元格區域使用公式
DSUM函數語法
DSUM函數具有3個參數,其語法如下:
DSUM(database,field,criteria)
1.database:構成列表或數據庫的單元格區域。(數據庫是包含一組相關數據的列表,其中包含相關信息的行稱為記錄,包含數據的列稱為字段。列表的第一行包含每一列的標題)
2.field:指定函數所使用的列??梢允褂昧袠祟},但必須將其放置在雙引號內;或者使用代表在列表中位置的數字:1表示第一列,2表示第二列,依此類推。
3.criteria:包含指定條件的單元格區域,至少包含一個列標題且在列標題下至少有一個在其中指定條件的單元格。
3個參數都是必需的參數。若要對數據庫中的一個完整列執行操作,則在條件區域中該列標題下方添加一個空行。條件區域的設置規則可以參考高級篩選條件的設置規則。
DSUM函數陷阱
雖然條件區域可以位于工作表的任意位置,但不要將條件區域置于列表的下方。因為如果列表下方不為空,在列表添加新信息時將無法添加新的信息。如果求和字段下的數據不是數字,則會返回結果0。數據庫函數不支持數組,如果在函數中使用數組作為參數,則會返回錯誤值#VALUE!。如果沒有滿足指定條件的記錄,則返回錯誤值#VALUE!。如果引用的數據庫不存在,則返回錯誤值#NAME!。如果會將條件區域中的文本視為以該文本開始的內容,因此在查找時以該文本開始的記錄都視為滿足條件。如果你想只查找該文本,則需要以=”=文本”的方式輸入。
示例1: 求滿足指定條件的數字之和
本示例來源于Excel幫助,如圖所示。單元格區域A1:F3是條件區域,單元格區域A5:E11是列表區域。
在單元格I2中的公式:
=DSUM(A5:E11,"利潤",A1:A2)
獲得蘋果樹的利潤總和。
在單元格I5中的公式:
=DSUM(A5:E11,"利潤",A1:F3)
獲得所有梨樹和高度在10至16之間的蘋果樹的利潤之和。
示例2:計算班級科目總成績如圖所示,單元格區域B1:C2是條件區域,單元格區域B5:G19為數據庫表(保留默認名“表2”)。單元格E2中的公式求二年級201班語文成績之和:
=DSUM(B5:G19,E5,B1:C2)
也可以使用結構化的表引用:
=DSUM(表2[#全部],表2[[#標題],[語文]],B1:C2)
示例3: 精確設置條件求和
本示例數據庫表名為tblOrders,包含訂單銷售信息,放置在工作簿的一個單獨的工作表中,如圖所示。我們在其他的工作表中設置條件區域,獲取滿足條件的數值之和。
如圖所示,獲取指定銷售人員銷售指定產品的數量。其中,單元格區域E1:F2為條件區域。放置求和結果的單元格B4中的公式為:
=DSUM(dbOrders,"Units",E1:F2)
可以看到,公式中并沒有使用數據庫表名tblOrders,而是使用了我們給數據庫表自定義的名稱dbOrders,這是因為如果使用tblOrders的話,DSUM函數會返回#VALUE!錯誤。在添加命名的表時,函數不會自動更新其名稱。
因此,我們定義名稱dbOrders作為數據庫表的名稱并在DSUM函數公式中使用,如圖6所示。
注意,由于DSUM函數將文本條件視為“開始于”而不是“等于”,因此,上面的查找將包含數據庫中所有以“pen”開頭的數據,例如pen、pencils。如果只想查找等于“Pen”的記錄,則應將條件修改為:
=”=Pen”
此時,計算的結果如圖7所示。
示例4: 設置多條件求和
仍以示例3提供的數據庫表為例。
在條件區域中可以設置多行,例如可以添加更多的銷售人員和銷售項,如圖所示。此時,不同行之間是“或”的關系,即計算Jones銷售Pen、或者Gill銷售Binders、或者Gill銷售Pen的數量之和。在單元格B4中的公式:
=DSUM(dbOrders,"Units",E1:F4)
示例5: 在條件單元格區域使用公式
仍以上文數據庫表為例。如果想使用多個條件行,可以會混淆和創建大的條件區域。作為替代方法,可以在條件單元格中使用公式。如果在條件區域中使用公式,那么可以將標題單元格留空或者使用沒有用于數據庫標題的名字作為標題。
如圖所示,條件區域中的標題已被修改為RepCount和ItemCount。在其旁邊有兩個表,分別為tblRepSel和tblItemSel,已經輸入了想要在DSUM函數匯總中使用的雇員名和項。
在單元格E2和F2中,使用COUNTIF函數來檢查是否數據庫表中的雇員名稱和項目在tblRepSel表和tblItemSel表中。
在條件公式中,會使用相對引用來引用數據庫表中數據的第一行的單元格。我們可以使用命名的表引用作COUNTIF函數的單元格區域參數,但是必須使用正常的單元格引用作為其條件參數,否則會得到錯誤的結果。
在單元格E2中的公式:
=COUNTIF(tblRepSel[Rep],Orders!D2)
在單元格F2中的公式:
=COUNTIF(tblItemSel[Item],Orders!E2)
如圖所示,在單元格B4中的求和公式為:
=DSUM(dbOrders,"Units",E1:F2)
假如你學習到了這個新技能不妨轉發推薦給你的小伙伴。并動動小指頭收藏,以免下次走丟。
我們將定期更新Word、Excel、PPT等操作技巧。pdf轉換器供在線免費的PDF轉word、PDF轉Excel、PDF轉PPT服務。