在Excel工作表中,有一類函數成為資料庫函數,也被稱為D函數,共計有12個,但我們常用的有7個,今天,我們來了解和學習這7個資料庫函數。
一、Excel工作表資料庫函數:Dsum。
功能:求滿足給定條件的資料庫中記錄的欄位(列)數據的和。
語法結構:=Dsum(資料庫區域,返回值所在的相對列數(列標題的相對引用、列標題),條件區域)。
注意事項:
1、參數「資料庫區域」和「條件區域」必須包含有效的列標題。
2、第二個參數用「列標題」作為返回依據時,其值必須包含在""(英文雙引號)中,如「月薪」、「婚姻」等。
(一)資料庫函數Dsum:單欄位單條件求和。
目的:根據「性別」統計「月薪」。
方法:在目標單元格中輸入公式:=DSUM(C2:G12,"月薪",I2:I3)。
解讀:1、參數「資料庫區域」和「條件區域」,即第一個參數和第三個參數,必須包含列標題,C2:G12、I2:I3,而不是C3:G12、I3。
2、第二個參數「返回值相對的列數(列標題的相對引用、列標題)」,除了用「月薪」外,還可以使用G2或5,因為「月薪」在G2單元格,在C2:G12的資料庫區域中,「月薪」處於第5列。在實際的應用中,完全根據自己的愛好選擇。
3、單欄位單條件求和相當於用單條件Sumif求和,公式為:=SUMIF(D3:D12,I3,G3:G12)。
(二)資料庫函數Dsum:單欄位多條件求和。
目的:一次性統計學歷為「大本」、「大專」、「中專」的員工「月薪」。
方法:在目標單元格中輸入公式:=DSUM(F2:G12,2,I2:I5)。
解讀:1、第二個參數用「2」不用「5」的原因在於「資料庫區域」發生了變化,現在的資料庫區域為F2:G12,而要返回的「月薪」處於當前區域的第2列。
2、上述功能也可以用Sum+Sumif數組組合公式來實現,公式為:=SUM(SUMIF(F3:F12,{"大本","大專","中專"},G3:G12))。
(三)資料庫函數Dsum:多欄位單條件求和。
目的:根據「性別」,統計相應「學歷」的「月薪」。
方法:在目標單元格中輸入公式:=DSUM(D2:G12,G2,I2:J3)。
解讀:1、要返回的值也可以用返回列的列標題單元格地址表示;「條件區域」除了單列(單欄位)外,也可以是多列(多欄位),只需將具體的條件值和列標題包含在範圍內即可。
2、Dsum函數的多欄位單條件求和相當於多條件求和函數Sumifs,公式為:=SUMIFS(G3:G12,D3:D12,I3,F3:F12,J3)。
(四)資料庫函數Dsum:多欄位多條件求和。
目的:按年齡段統計學歷為「大本」、「大專」、「中專」的「月薪」。
方法:在目標單元格中輸入公式:=DSUM(C2:G12,"月薪",I2:J5)。
解讀:上述功能也可以用Sum+Sumifs數組組合公式來實現,公式為:=SUM(SUMIFS(G3:G12,C3:C12,I3,F3:F12,{"大本","大專","中專"}))。
二、Excel工作表資料庫函數:Daverage。
功能:計算給定條件的列表或資料庫的列中數值的平均值。
語法結構:=Daverage(資料庫區域,返回值所在的相對列數(列標題的相對引用、列標題),條件區域)。
注意實現:
1、參數「資料庫區域」和「條件區域」必須包含有效的列標題。
2、第二個參數用「列標題」作為返回依據時,其值必須包含在""(英文雙引號)中,如「月薪」、「婚姻」等。
目的:根據需求計算平均「月薪」。
方法:在目標單元格中輸入公式:=DAVERAGE(D2:G12,"月薪",I2:I3)、=DAVERAGE(F2:G12,2,I4:I7)、=DAVERAGE(D2:G12,G2,I8:J9)、=DAVERAGE(C2:G12,"月薪",I10:J12)。
解讀:公式=DAVERAGE(D2:G12,"月薪",I2:I3)為單欄位單條件計算平均「月薪」;=DAVERAGE(F2:G12,2,I4:I7)為單欄位多條件計算「月薪」、=DAVERAGE(D2:G12,G2,I8:J9)為多欄位單條件計算「月薪」、=DAVERAGE(C2:G12,"月薪",I10:J12)為多欄位多條件計算「月薪」;具體的目的可以參閱條件進行理解。
三、Excel工作表資料庫函數:Dcount。
功能:從給定條件的資料庫記錄的欄位(列)中,計算數值單元格數目。
語法結構:=Dcount(資料庫區域,返回值所在的相對列數(列標題的相對引用、列標題),條件區域)。
注意事項:
1、參數「資料庫區域」和「條件區域」必須包含有效的列標題。
2、第二個參數用「列標題」作為返回依據時,其值必須包含在""(英文雙引號)中,如「月薪」、「婚姻」等。
目的:根據需求統計數值個數。
方法:在目標單元格中輸入公式:=DCOUNT(D2:G12,"月薪",I2:I3)、=DCOUNT(F2:G12,2,I4:I7)、=DCOUNT(D2:G12,G2,I8:J9)、=DCOUNT(C2:G12,"月薪",I10:J12)。
解讀:1、公式=DCOUNT(D2:G12,"月薪",I2:I3)為單欄位單條件計數,目的為根據「性別」統計人數;=DCOUNT(F2:G12,2,I4:I7)為單欄位多條件計數,目的為統計「學歷」為「大本」、「大專」、「中專」的人數;=DCOUNT(D2:G12,G2,I8:J9)為多欄位單條件計數,目的為根據「性別」統計相應「學歷」的人數;=DCOUNT(C2:G12,"月薪",I10:J12)為多欄位多條件計數,目的為統計相應「年齡」段學歷為「大本」、「大專」的人數。
2、因為Dcount函數的統計對象為數值,所以通過計算「月薪」的個數來達到目的,也可以使用「年齡」欄位作為統計依據。
四、Excel工作表資料庫函數:Dcounta。
功能:對滿足指定條件的資料庫中記錄欄位(列)的非空單元格進行計數。
語法結構:=Dcounta(資料庫區域,返回值所在的相對列數(列標題的相對引用、列標題),條件區域)。
注意事項:1、參數「資料庫區域」和「條件區域」必須包含有效的列標題。
2、第二個參數用「列標題」作為返回依據時,其值必須包含在""(英文雙引號)中,如「月薪」、「婚姻」等。
目的:根據需求統計非空單元格的個數。
方法:在目標單元格中輸入公式:=DCOUNTA(D2:F12,"性別",I2:I3)、=DCOUNTA(F2:F12,1,I4:I7)、=DCOUNTA(D2:F12,F2,I8:J9)、=DCOUNTA(C2:F12,"學歷",I10:J12)。
解讀:1、公式=DCOUNTA(D2:F12,"性別",I2:I3)為單欄位單條件計數,目的為根據「性別」統計人數;=DCOUNTA(F2:F12,1,I4:I7)為單欄位多條件計數,目的為統計學歷為「大本」、「大專」、「中專」的人數;=DCOUNTA(D2:F12,F2,I8:J9)為多欄位單條件計數,目的為根據「性別」統計相應「學歷」的人數;=DCOUNTA(C2:F12,"學歷",I10:J12)為多欄位多條件計數,目的為統計相應「年齡」段,學歷為「大本」、「大專」的人數。
2、由於Dcounta函數的統計對象為文本,所以第二個參數必須為「資料庫區域」中的文本列。
五、Excel工作表資料庫函數:Dget。
功能:從資料庫中提取符合指定條件且唯一存在的記錄。
語法結構:=Dget(資料庫區域,返回值所在的相對列數(列標題的相對引用、列標題),條件區域)。
注意事項:
1、參數「資料庫區域」和「條件區域」必須包含有效的列標題。
2、第二個參數用「列標題」作為返回依據時,其值必須包含在""(英文雙引號)中,如「月薪」、「婚姻」等。
(一)資料庫函數Dget:正向(單條件)查詢。
目的:根據「員工姓名」查詢對應的「月薪」。
方法:在目標單元格中輸入公式:=DGET(B2:G12,"月薪",I2:I3)。
解讀:Dget函數為查詢引用函數,上述功能也可以用函數Lookup或Vlookup等實現。
(二)資料庫函數Dget:反向查詢。
目的:根據「員工姓名」查詢對應的編號(No)。
方法:在目標單元格中輸入公式:=DGET(A2:B12,"No",I2:I3)。
解讀:根據需求填寫對應的參數範圍即可。
(三)資料庫函數Dget:多條件查詢。
目的:根據「婚姻」狀況查詢員工的「月薪」。
方法:在目標單元格中輸入公式:=DGET(B2:G12,"月薪",I2:J3)。
(四)資料庫函數Dget:精準查詢。
目的:查詢「魯肅」的「月薪」。
方法:在目標單元格中輸入公式:=DGET(B2:G12,"月薪",I2:I3)。
解讀:1、分析公式,並不存在錯誤,但返回錯誤代碼#NUM! ,分析原因是因為查詢值「魯肅」不唯一,存在多條符合條件的記錄,Why?這是因為Dget函數默認在「查詢條件」的後面帶有通配符,條件「魯肅」相對於「魯肅*」,分析數據源,員工中除了「魯肅」之外,還有「魯肅-1」,再用Dget函數時,這兩個條件是相同的,所以返回#NUM!
2、為了達到「精準」一對一的查詢,只需在條件的前面添加等號(=)即可。
六、Excel工作表資料庫函數:DMAX。
功能:返回滿足給定條件的資料庫中記錄的欄位(列)中數據的最大值。
語法結構:=Dmax(資料庫區域,返回值所在的相對列數(列標題的相對引用、列標題),條件區域)。
注意事項:
1、參數「資料庫區域」和「條件區域」必須包含有效的列標題。
2、第二個參數用「列標題」作為返回依據時,其值必須包含在""(英文雙引號)中,如「月薪」、「婚姻」等。
目的:根據需求查詢最高「月薪」。
方法:在目標單元格中輸入公式:=DMAX(D2:G12,"月薪",I2:I3)、=DMAX(F2:G12,2,I4:I7)、=DMAX(C2:G12,G2,I8:J9)、=DMAX(C2:G12,"月薪",I10:J12)。
解讀:公式=DMAX(D2:G12,"月薪",I2:I3)為單欄位單條件,目的為根據「性別」計算最高「月薪」;=DMAX(F2:G12,2,I4:I7)為單欄位多條件,目的為統計「學歷」為「大本」、「大專」、「中專」中的最高「月薪」;=DMAX(C2:G12,G2,I8:J9)為多欄位單條件,目的為按照「性別」統計相應「學歷」下的最高「月薪」;=DMAX(C2:G12,"月薪",I10:J12)為多欄位多條件,目的為統計指定「年齡」範圍下相應「學歷」的最高「月薪」。
七、Excel工作表資料庫函數:Dmin。
功能:返回滿足給定條件的資料庫中記錄的欄位(列)中數據的最小值。
語法結構:=Dmin(資料庫區域,返回值所在的相對列數(列標題的相對引用、列標題),條件區域)。
注意事項:
1、參數「資料庫區域」和「條件區域」必須包含有效的列標題。
2、第二個參數用「列標題」作為返回依據時,其值必須包含在""(英文雙引號)中,如「月薪」、「婚姻」等。
目的:根據需求查詢最低「月薪」。
方法:在目標單元格中輸入公式:=DMIN(D2:G12,"月薪",I2:I3)、=DMIN(F2:G12,2,I4:I7)、=DMIN(C2:G12,G2,I8:I9)、=DMIN(C2:G12,"月薪",I10:I12)。
解讀:公式=DMAX(D2:G12,"月薪",I2:I3)為單欄位單條件,目的為根據「性別」計算最低「月薪」;=DMAX(F2:G12,2,I4:I7)為單欄位多條件,目的為統計「學歷」為「大本」、「大專」、「中專」中的最低「月薪」;=DMAX(C2:G12,G2,I8:J9)為多欄位單條件,目的為按照「性別」統計相應「學歷」下的最低「月薪」;=DMAX(C2:G12,"月薪",I10:J12)為多欄位多條件,目的為統計指定「年齡」範圍下相應「學歷」的最低「月薪」。