前幾日,我們介紹了高級篩選的使用,不少朋友反映的確好用,但是它只能篩選出數據記錄,想要對這些記錄進行求和、求平均值…怎么辦呢?很簡單,用數據庫函數。
數據庫函數主要用于對存儲在數據庫中的數據進行求和、求平均值等的統計。常用的數據庫函數有DSUM、DCOUNT、DMAX、DMIN、DAWERAGE、DGET六個。
這些函數的語法結構都是“函數名(Datebase,Field,Criterie)”通俗的理解就是“函數名(數據區域,統計數據區域的第幾列,條件是什么)
database:構成列表或數據庫的單元格區域。
field:指定函數所使用的列。可以使用列標題,但必須將其放置在雙引號內;或者使用代表在列表中位置的數字:1表示第一列,2表示第二列,依此類推。
criteria:包含指定條件的單元格區域,至少包含一個列標題且在列標題下至少有一個在其中指定條件的單元格。3個參數都是必需的參數。使用數據庫函數,最關鍵的就是學會設置條件區域。條件區域的設置規則同高級篩選條件的設置規則基本一致。
下面我們以某公司1-7月份銷售臺賬表(8月5日講高級篩選用的案例表,922條記錄)為例,結合高級篩選的條件設置,來介紹六個常用數據庫函數條件設置要點及函數用法。
一、設置單字段單條件:求銷售員“張迎東”的銷售額
二、設置單字段“或”條件:求銷售員“張迎東”及“劉云香”的訂單數量
三、設置單字段“且”條件:五一假期(2020-5-1至2020-5-3)的日均銷售額
四、設置多字段“且”條件:求銷售員“張迎東”的“手機”的最高單價和最低單價
五、設置多字段“或”條件:求“手機”的銷售額及1月1日起所有商品的銷售額
六、設置多字段復合條件:求銷售員“張迎東”關于“手機”及“劉云香”關于“筆記本電腦”的銷售額
七、在條件中使用通配符:求“銷售產品”中包含“電腦”兩字的產品的銷售數量
八、在條件中使用公式:求銷售額最大的三條記錄的銷售額
九、是否存在唯一符合條件的記錄:求“華東區”單次銷售數量大于70的記錄是否存在
一、設置單字段單條件:求銷售員“張迎東”的銷售額方法:
1、設置查詢條件
條件區域包含字段名和條件,下同。
單字段單條件類型的統計,其條件設置為,字段名+條件數據(在字段名的下一行)。
L4單元格輸入列標簽“銷售員“,L5單元格輸入要查詢的銷售員名字—張迎東,條件區域就是L4:L5。注意A1單元格輸入的內容必須與數據表中的”銷售員“字段名完全一致,可以把源表字段名直接復制過來。這是數據庫函數條件設置數進行必須遵循的規則,下同。
2、函數實現
在L7單元格中輸入:=DSUM(A1:I922,9,L4:L5)
說明:第二個參數輸入9,因為我們要求銷售額,而“銷售額”字段在該數據庫的第9列輸入第三個參數條件區域時,字段名”銷售員“也必須選上,這也是使用數據庫函數必須遵循的規則。
3、函數說明
DSUM函數是用來統計滿足給定條件的數據庫中記錄的字段(列)數據的和。
二、設置單字段多個“或”條件:求銷售員“張迎東”及“劉云香”的訂單數量
1、設置查詢條件
單字段多個“或”條件類型的統計,其條件設置為,字段名+條件數據(在字段名的幾行),有幾個條件,就寫幾行。
L11單元格輸入列標簽“銷售員“,L12單元格輸入要查詢的銷售員名字—張迎東,L13單元格輸入:劉云香,條件區域就是L11:L13
2、函數實現
在L14單元格中輸入:=DCOUNT(A1:I922,7,L11:L13)
3、函數說明
DCOUNT函數是用來從滿足條件的數據庫記錄的字段(列)中計算數值單元格數目。
三、設置單字段 “且”條件:五一假期(2020-5-1至2020-5-3)的日均銷售額
1、設置查詢條件
單字段多個“且”條件類型的統計,其條件設置為,個字段名放在同一行,有幾個條件,寫幾次字段名,條件放在字段名下方的同一行中。
L17、M17單元格都輸入字段名“銷售日期“,L18、 L18單元格分別輸入 “>=2020-5-1”,”<=2020-5-3“,條件區域就是L17:M18。
2、函數實現
在L19單元格中輸入:=DAVERAGE(A1:I922,9,L17:M18)
3、函數說明
DAVERAGE函數用來計算滿足給定條件的列表或數據庫中記錄的字段(列)數據的平均值。
四、設置多字段“且”條件:求銷售員“張迎東”的“手機”的最高單價和最低單價
1、設置查詢條件
多字段 “且”條件類型的統計,其條件設置為,多個字段名放在同一行,條件放在字段名下方的同一行中。
A1、A2單元格分別輸入字段名“銷售員“、“銷售產品“,A1、A2單元格分別輸入 “張迎東”,”手機“,條件區域就是A1:A2
2、函數實現
在L24單元格中輸入:=DMAX(A1:I922,8,L22:M23),求最高單價。在L25單元格中輸入:=DMIN(A1:I922,8,L22:M23),求最低單價
3、函數說明
DMAX函數是用來返回滿足給定條件的數據庫中記錄的字段(列)中數據的最大值,而DMIN函數則是用來返回滿足給定條件的數據庫中記錄的字段(列)中數據的最小值。
五、設置多字段“或”條件:求“手機”的銷售額及1月1日起所有商品的銷售額
1、設置查詢條件
多字段“或”條件類型的統計,其條件設置為,多個字段名放在同一行,條件放在字段名下方的不同行中。
L28、M28單元格分別輸入字段名“銷售產品“、“銷售日期“,L29、M30單元格分別輸入 “手機”,” >=2020-1-1 “,條件區域就是L28:M30.
2、函數實現
在單元格中分別輸入:=DSUM(A1:I922,9,L28:M30)
六、設置多字段復合條件:求銷售員“張迎東”關于“手機”及“劉云香”關于“筆記本電腦”的銷售額
1、設置查詢條件
多單字段復合條件類型的統計,其條件設置為,多個字段名放在同一行,同行條件為并,不同行條件為或。
L34、M34單元格分別輸入字段名“銷售員“、“銷售產品“,L35、M35單元格分別輸入 “張迎東”, “手機”, L36、M36單元格分別輸入“劉云香”, “筆記本電腦”,條件區域就是L34:M36
2、函數實現
在L37單元格中分別輸入:=DSUM(A1:I922,9,L34:M36)
七、在條件中使用通配符:求“銷售產品”中包含“電腦”的銷售數量
1、設置查詢條件
在Excel中,“*”(星號)為通配符,代表任意長度的字符。所以,這里查詢條件就是“銷售產品”為“*電腦*”。
L40單元格輸入字段名“銷售產品“,L41單元格分別輸入“*電腦*“,條件區域就是L40:L41。
2、函數實現
在L42單元格中分別輸入:=DSUM(A1:I922,9,L40:L41)
八、在條件中使用公式:求銷售額最大的三條記錄的銷售額是多少
1、設置查詢條件
條件設置一般需要用到函數或公式。
本案例條件應設置為:=I2>LARGE(I2:I922,4)。自定義條件不要標題字段,下同。如圖,L45單元格為空,L46單元格輸入:=I2>LARGE(I2:I922,4),但是條件區域框應選L45:L46
2、函數實現在L47單元格中分別輸入:=DSUM(A1:I922,9,L45:L46)
九、是否存在唯一符合條件的記錄:求“華東區”單次銷售數量大于70的記錄是否存在
1、設置查詢條件
L50、M50單元格分別輸入字段名“銷售區“、“數量(臺)“,L51、M51單元格分別輸入 “華東區”, “>70”,條件區域就是L50:M51)。
2、函數實現
在L52單元格中輸入:=DGET(A1:I922,1,L50:M51),函數計算結果為190,表明存在符合條件的唯一一條記錄,是序號為190的那條記錄。
3、函數說明
DGET函數從數據庫中提取符合指定條件且唯一存在的記錄。特別要注意這個唯一存在的記錄,因為如果沒有滿足條件的記錄,則DGET 返回 錯誤值 #VALUE!。如果有多個記錄滿足條件,則DGET 返回 錯誤值 #NUM!。
以上這六個數據庫函數的應用,類似于高級篩選,先根據條件篩選數據,然后再進行計算,與跟他們功能類似的SUMIF(S)、COUNTIF(S)、AVERAE等函數公式及嵌套相比,公式非常簡單,作用不容小覷,希望大家都能掌握。
此文來源于微信公眾號 有格Excel小學堂