Excel函数应用完全手册.docx
《Excel函数应用完全手册.docx》由会员分享,可在线阅读,更多相关《Excel函数应用完全手册.docx(151页珍藏版)》请在冰豆网上搜索。
Excel函数应用完全手册
由於大家在平時工作中經常需要使用Excel的各種函數,但對很多函數的功能又不甚了解,所以現把Excel中的函數盡數列出,希望對大家工作有所幫助。
(PS:
如果需要在此文件中查詢某個函數,請按鍵盤上的Ctrl+F鍵,在彈出的對話框中輸入函數的名字就可以了。
)
一、函數應用基礎
1.函數和公式
(1)什麽是函數
Excel函數即是預先定義,執行計算、分析等處理資料任務的特殊公式。
以常用的求和函數SUM爲例,它的語法是“SUM(number1,number2,......)”。
其中“SUM”稱爲函數名稱,一個函數只有唯一的一個名稱,它決定了函數的功能和用途。
函數名稱後緊跟左括弧,接著是用逗號分隔的稱爲參數的內容,最後用一個右括弧表示函數結束。
參數是函數中最複雜的組成部分,它規定了函數的運算物件、順序或結構等。
使得用戶可以對某個單格或區域進行處理,如分析存款利息、確定成績名次、計算三角函數值等。
按照函數的來源,Excel函數可以分爲內置函數和擴展函數兩大類。
前者只要啓動了Excel,用戶就可以使用它們;而後者必須通過單擊“工具→增益集”功能表命令載入,然後才能像內置函數那樣使用。
(2)什麽是公式
函數與公式既有區別又互相聯繫。
如果說前者是Excel預先定義好的特殊公式,後者就是由用戶自行設計對工作表進行計算和處理的公式。
以公式“=SUM(E1:
H1)*A1+26”爲例,它要以等號“=”開始,其內部可以包括函數、引用、運算符和常量。
上式中的“SUM(E1:
H1)”是函數,“A1”則是對單格A1的引用(使用其中存儲的資料),“26”則是常量,“*”和“+”則是算術運算符(另外還有比較運算符、文本運算符和引用運算符)。
如果函數要以公式的形式出現,它必須有兩個組成部分,一個是函數名稱前面的等號,另一個則是函數本身。
2.函數的參數
函數右邊括弧中的部分稱爲參數,假如一個函數可以使用多個參數,那麽參數與參數之間使用半形逗號進行分隔。
參數可以是常量(數位和文本)、邏輯值(例如TRUE或FALSE)、陣列、錯誤值(例如#N/A)或單格引用(例如E1:
H1),甚至可以是另一個或幾個函數等。
參數的類型和位置必須滿足函數語法的要求,否則將返回錯誤資訊。
(1)常量
常量是直接輸入到單格或公式中的數位或文本,或由名稱所代表的數位或文本值,例如數位“2890.56”、日期“2003-8-19”和文本“黎明”都是常量。
但是公式或由公式計算出的結果都不是常量,因爲只要公式的參數發生了變化,它自身或計算出來的結果就會發生變化。
(2)邏輯值
邏輯值是比較特殊的一類參數,它只有TRUE(真)或FALSE(假)兩種類型。
例如在公式“=IF(A3=0,"",A2/A3)”中,“A3=0”就是一個可以返回TRUE(真)或FALSE(假)兩種結果的參數。
當“A3=0”爲TRUE(真)時在公式所在單格中填入“0”,否則在單格中填入“A2/A3”的計算結果。
(3)陣列
陣列用於可産生多個結果,或可以對存放在行和列中的一組參數進行計算的公式。
Excel中有常量和區域兩類陣列。
前者放在“{}”(按下Ctrl+Shift+Enter組合鍵自動生成)內部,而且內部各列的數值要用逗號“,”隔開,各行的數值要用分號“;”隔開。
假如你要表示第1行中的56、78、89和第2行中的90、76、80,就應該建立一個2行3列的常量陣列“{56,78,89;90,76,80}。
區域陣列是一個矩形的單格區域,該區域中的單格共用一個公式。
例如公式“=TREND(B1:
B3,A1:
A3)”作爲陣列公式使用時,它所引用的矩形單格區域“B1:
B3,A1:
A3”就是一個區域陣列。
(4)錯誤值
使用錯誤值作爲參數的主要是資訊函數,例如“ERROR.TYPE”函數就是以錯誤值作爲參數。
它的語法爲“ERROR.TYPE(error_val)”,如果其中的參數是#NUM!
,則返回數值“6”。
(5)單格引用
單格引用是函數中最常見的參數,引用的目的在於標識工作表單格或單格區域,並指明公式或函數所使用的資料的位置,便於它們使用工作表各處的資料,或者在多個函數中使用同一個單格的資料。
還可以引用同一工作簿不同工作表的單格,甚至引用其他工作簿中的資料。
根據公式所在單格的位置發生變化時,單格引用的變化情況,我們可以引用分爲相對引用、絕對引用和混合引用三種類型。
以存放在F2單格中的公式“=SUM(A2:
E2)”爲例,當公式由F2單格複製到F3單格以後,公式中的引用也會變化爲“=SUM(A3:
E3)”。
若公式自F列向下繼續複製,“行標”每增加1行,公式中的行標也自動加1。
如果上述公式改爲“=SUM($A$3:
$E$3)”,則無論公式複製到何處,其引用的位置始終是“A3:
E3”區域。
混合引用有“絕對列和相對行”,或是“絕對行和相對列”兩種形式。
前者如“=SUM($A3:
$E3)”,後者如“=SUM(A$3:
E$3)”。
上面的幾個實例引用的都是同一工作表中的資料,如果要分析同一工作簿中多張工作表上的資料,就要使用三維引用。
假如公式放在工作表Sheet1的C6單格,要引用工作表Sheet2的“A1:
A6”和Sheet3的“B2:
B9”區域進行求和運算,則公式中的引用形式爲“=SUM(Sheet2!
A1:
A6,Sheet3!
B2:
B9)”。
也就是說三維引用中不僅包含單格或區域引用,還要在前面加上帶“!
”的工作表名稱。
假如你要引用的資料來自另一個工作簿,如工作簿Book1中的SUM函數要絕對引用工作簿Book2中的資料,其公式爲“=SUM([Book2]Sheet1!
SAS1:
SAS8,[Book2]Sheet2!
SBS1:
SBS9)”,也就是在原來單格引用的前面加上“[Book2]Sheet1!
”。
放在中括弧裏面的是工作簿名稱,帶“!
”的則是其中的工作表名稱。
即是跨工作簿引用單格或區域時,引用物件的前面必須用“!
”作爲工作表分隔符號,再用中括弧作爲工作簿分隔符號。
不過三維引用的要受到較多的限制,例如不能使用陣列公式等。
提示:
上面介紹的是Excel默認的引用方式,稱爲“A1引用樣式”。
如果你要計算處在“宏”內的行和列,必須使用“R1C1引用樣式”。
在這種引用樣式中,Excel使用“R”加“行標”和“C”加“列標”的方法指示單格位置。
啓用或關閉R1C1引用樣式必須單擊“工具→選項”功能表命令,打開對話方塊的“常規”選項卡,選中或清除“設置”下的“R1C1引用樣式”選項。
由於這種引用樣式很少使用,限於篇幅本文不做進一步介紹。
(6)嵌套函數
除了上面介紹的情況外,函數也可以是嵌套的,即一個函數是另一個函數的參數,例如“=IF(OR(RIGHTB(E2,1)="1",RIGHTB(E2,1)="3",RIGHTB(E2,1)="5",RIGHTB(E2,1)="7",RIGHTB(E2,1)="9"),"男","女")”。
其中公式中的IF函數使用了嵌套的RIGHTB函數,並將後者返回的結果作爲IF的邏輯判斷依據。
(7)名稱和標誌
爲了更加直觀地標識單格或單格區域,我們可以給它們賦予一個名稱,從而在公式或函數中直接引用。
例如“B2:
B46”區域存放著學生的物理成績,求解平均分的公式一般是“=AVERAGE(B2:
B46)”。
在給B2:
B46區域命名爲“物理分數”以後,該公式就可以變爲“=AVERAGE(物理分數)”,從而使公式變得更加直觀。
給一個單格或區域命名的方法是:
選中要命名的單格或單格區域,滑鼠單擊編輯欄頂端的“名稱框”,在其中輸入名稱後回車。
也可以選中要命名的單格或單格區域,單擊“插入→名稱→定義”功能表命令,在打開的“定義名稱”對話方塊中輸入名稱後確定即可。
如果你要刪除已經命名的區域,可以按相同方法打開“定義名稱”對話方塊,選中你要刪除的名稱刪除即可。
由於Excel工作表多數帶有“列標誌”。
例如一張成績統計表的首行通常帶有“序號”、“姓名”、“數學”、“物理”等“列標誌”(也可以稱爲欄位),如果單擊“工具→選項”功能表命令,在打開的對話方塊中單擊“重新計算”選項卡,選中“工作簿選項”選項組中的“接受公式標誌”選項,公式就可以直接引用“列標誌”了。
例如“B2:
B46”區域存放著學生的物理成績,而B1單格已經輸入了“物理”字樣,則求物理平均分的公式可以寫成“=AVERAGE(物理)”。
需要特別說明的是,創建好的名稱可以被所有工作表引用,而且引用時不需要在名稱前面添加工作表名(這就是使用名稱的主要優點),因此名稱引用實際上是一種絕對引用。
但是公式引用“列標誌”時的限制較多,它只能在當前資料列的下方引用,不能跨越工作表引用,但是引用“列標誌”的公式在一定條件下可以複製。
從本質上講,名稱和標誌都是單格引用的一種方式。
因爲它們不是文本,使用時名稱和標誌都不能添加引號。
3.函數輸入方法
對Excel公式而言,函數是其中的主要組成部分,因此公式輸入可以歸結爲函數輸入的問題。
(1)“插入函數”對話方塊
“插入函數”對話方塊是Excel輸入公式的重要工具,以公式“=SUM(Sheet2!
A1:
A6,Sheet3!
B2:
B9)”爲例,Excel輸入該公式的具體過程是:
首先選中存放計算結果(即需要應用公式)的單格,單擊編輯欄(或工具欄)中的“fx”按鈕,則表示公式開始的“=”出現在單格和編輯欄,然後在打開的“插入函數”對話方塊中的“選擇函數”列表找到“SUM”函數。
如果你需要的函數不在裏面,可以打開“或選擇類別”下拉清單進行選擇。
最後單擊“確定”按鈕,打開“函數參數”對話方塊。
對SUM函數而言,它可以使用從number1開始直到number30共30個參數。
對上面的公式來說,首先應當把游標放在對話方塊的“number1”框中,單擊工作簿中的“Sheet2!
”工作表標簽,“Sheet2!
”即可自動進入其中,接著滑鼠拖動選中你要引用的區域即可。
接著用滑鼠單擊對話方塊的“number2”框,單擊工作簿中的“Sheet3!
”工作表標簽,其名稱“Sheet3!
”即可自動進入其中,再按相同方法選擇要引用的單格區域即可。
上述方法的最大優點就是引用的區域很準確,特別是三維引用時不容易發生工作表或工作簿名稱輸入錯誤的問題。
(2)編輯欄輸入
如果你要套用某個現成公式,或者輸入一些嵌套關係複雜的公式,利用編輯欄輸入更加快捷。
首先選中存放計算結果的單格;滑鼠單擊Excel編輯欄,按照公式的組成順序依次輸入各個部分,公式輸入完畢後,單擊編輯欄中的“輸入”(即“√”)按鈕(或回車)即可。
手工輸入時同樣可以採取上面介紹的方法引用區域,以公式“=SUM(Sheet2!
A1:
A6,Sheet3!
B2:
B9)”爲例,你可以先在編輯欄中輸入“=SUM()”,然後將游標插入括弧中間,再按上面介紹的方法操作就可以引用輸入公式了。
但是分隔引用之間的逗號必須用手工輸入,而不能像“插入函數”對話方塊那樣自動添加。
在《電腦報2003年合訂本附贈光碟》相應文章中,我們列出了所有Excel2003函數,供讀者速查。
二、函數速查一覽
(一)資料庫函數
1.DAVERAGE
用途:
返回資料庫或資料清單中滿足指定條件的列中數值的平均值。
語法:
DAVERAGE(database,field,criteria)
參數:
Database構成列表或資料庫的單格區域。
Field指定函數所使用的資料列。
Criteria爲一組包含給定條件的單格區域。
2.DCOUNT
用途:
返回資料庫或資料清單的指定欄位中,滿足給定條件並且包含數位的單格數目。
語法:
DCOUNT(database,field,criteria)
參數:
Database構成列表或資料庫的單格區域。
Field指定函數所使用的資料列。
Criteria爲一組包含給定條件的單格區域。
3.DCOUNTA
用途:
返回資料庫或資料清單指定欄位中滿足給定條件的非空單格數目。
語法:
DCOUNTA(database,field,criteria)
參數:
Database構成列表或資料庫的單格區域。
Field指定函數所使用的資料列。
Criteria爲一組包含給定條件的單格區域。
4.DGET
用途:
從資料清單或資料庫中提取符合指定條件的單個值。
語法:
DGET(database,field,criteria)
參數:
Database構成列表或資料庫的單格區域。
Field指定函數所使用的資料列。
Criteria爲一組包含給定條件的單格區域。
5.DMAX
用途:
返回資料清單或資料庫的指定列中,滿足給定條件單格中的最大數值。
語法:
DMAX(database,field,criteria)
參數:
Database構成列表或資料庫的單格區域。
Field指定函數所使用的資料列。
Criteria爲一組包含給定條件的單格區域。
6.DMIN
用途:
返回資料清單或資料庫的指定列中滿足給定條件的單格中的最小數位。
語法:
DMIN(database,field,criteria)
參數:
Database構成列表或資料庫的單格區域。
Field指定函數所使用的資料列。
Criteria爲一組包含給定條件的單格區域。
7.DPRODUCT
用途:
返回資料清單或資料庫的指定列中,滿足給定條件單格中數值乘積。
語法:
DPRODUCT(database,field,criteria)
參數:
同上
8.DSTDEV
用途:
將列表或資料庫的列中滿足指定條件的數位作爲一個樣本,估算樣本總體的標準偏差。
語法:
DSTDEV(database,field,criteria)
參數:
同上
9.DSTDEVP
參數:
將資料清單或資料庫的指定列中,滿足給定條件單格中的數位作爲樣本總體,計算總體的標準偏差。
語法:
DSTDEVP(database,field,criteria)
參數:
同上
10.DSUM
用途:
返回資料清單或資料庫的指定列中,滿足給定條件單格中的數位之和。
語法:
DSUM(database,field,criteria)
參數:
同上
11.DVAR
用途:
將資料清單或資料庫的指定列中滿足給定條件單格中的數位作爲一個樣本,估算樣本總體的方差。
語法:
DVAR(database,field,criteria)
參數:
同上
12.DVARP
用途:
將資料清單或資料庫的指定列中滿足給定條件單格中的數位作爲樣本總體,計算總體的方差。
語法:
DVARP(database,field,criteria)
參數:
同上
13.GETPIVOTDATA
用途:
返回存儲在樞紐分析表報表中的資料。
如果報表中的匯總資料可見,則可以使用函數GETPIVOTDATA從樞紐分析表報表中檢索匯總資料。
語法:
GETPIVOTDATA(pivot_table,name)
參數:
Data_field爲包含要檢索的資料的資料欄位的名稱(放在引號中)。
Pivot_table在樞紐分析表中對任何單格、單格區域或定義的單格區域的引用,該資訊用於決定哪個資料樞紐分析表包含要檢索的資料。
Field1,Item1,Field2,Item2爲1到14對用於描述檢索資料的欄位名和項名稱,可以任意次序排列。
(二)日期與時間函數
1.DATE
用途:
返回代表特定日期的序列號。
語法:
DATE(year,month,day)
參數:
year爲一到四位元,根據使用的日期系統解釋該參數。
默認情況下,ExcelforWindows使用1900日期系統,而ExcelforMacintosh使用1904日期系統。
Month代表每年中月份的數位。
如果所輸入的月份大於12,將從指定年份的一月份執行加法運算。
Day代表在該月份中第幾天的數位。
如果day大於該月份的最大天數時,將從指定月份的第一天開始往上累加。
注意:
Excel按順序的序列號保存日期,這樣就可以對其進行計算。
如果工作簿使用的是1900日期系統,則Excel會將1900年1月1日保存爲序列號1。
同理,會將1998年1月1日保存爲序列號35796,因爲該日期距離1900年1月1日爲35795天。
實例:
如果採用1900日期系統(Excel默認),則公式“=DATE(2001,1,1)”返回36892。
2.DATEVALUE
用途:
返回date_text所表示的日期的序列號。
該函數的主要用途是將文字表示的日期轉換成一個序列號。
語法:
DATEVALUE(date_text)
參數:
Date_text是用Excel日期格式表示日期的文本。
在使用1900日期系統中,date_text必須是1900年1月1日到9999年12月31日之間的一個日期;而在1904日期系統中,date_text必須是1904年1月1日到9999年12月31日之間的一個日期。
如果date_text超出上述範圍,則函數DATEVALUE返回錯誤值#VALUE!
。
如果省略參數date_text中的年代,則函數DATEVALUE使用電腦系統內部時鐘的當前年代,且date_text中的時間資訊將被忽略。
實例:
公式“=DATEVALUE("2001/3/5")”返回36955,DATEVALUE("2-26")返回36948。
3.DAY
用途:
返回用序列號(整數1到31)表示的某日期的天數,用整數1到31表示。
語法:
DAY(serial_number)
參數:
Serial_number是要查找的天數日期,它有多種輸入方式:
帶引號的文本串(如"1998/01/30")、序列號(如1900日期系統的35825表示的1998年1月30日),以及其他公式或函數的結果(如DATEVALUE("1998/1/30"))。
實例:
公式“=DAY("2001/1/27")”返回27,=DAY(35825)返回30,=DAY(DATEVALUE("2001/1/25"))返回25。
4.DAYS360
用途:
按照一年360天的演算法(每個月30天,一年共計12個月),返回兩日期間相差的天數。
語法:
DAYS360(start_date,end_date,method)
參數:
Start_date和end_date是用於計算期間天數的起止日期。
如果start_date在end_date之後,則DAYS360將返回一個負數。
日期可以有多種輸入方式:
帶引號的文本串(例如:
"1998/01/30")、序列號(例如:
如果使用1900日期系統,則35825表示1998年1月30日)或其他公式或函數的結果(例如,DATEVALUE("1998/1/30"))。
Method是一個邏輯值,它指定了在計算中是採用歐洲方法還是美國方法。
若爲FALSE或忽略,則採用美國方法(如果起始日期是一個月的31日,則等於同月的30日。
如果終止日期是一個月的31日,並且起始日期早於30日,則終止日期等於下一個月的1日,否則,終止日期等於本月的30日)。
若爲TRUE則採用歐洲方法(無論是起始日期還是終止日期爲一個月的31號,都將等於本月的30號)。
實例:
公式“=DAYS360("1998/2/1","2001/2-1")”返回1080。
5.EDATE
用途:
返回指定日期(start_date)之前或之後指定月份的日期序列號。
語法:
EDATE(start_date,months)
參數:
Start_date參數代表開始日期,它有多種輸入方式:
帶引號的文本串(例如:
"1998/01/30")、序列號(如35825表示1998年1月30日)或其他公式或函數的結果(例如:
DATEVALUE("1998/1/30"))。
Months爲在start_date之前或之後的月份數,未來日期用正數表示,過去日期用負數表示。
實例:
公式“=EDATE("2001/3/5",2)”返回37016即2001年5月5日,=EDATE("2001/3/5",-6)返回36774即2000年9月5日。
6.EOMONTH
用途:
返回start-date之前或之後指定月份中最後一天的序列號。
語法:
EOMONTH(start_date,months)
參數:
Start_date參數代表開始日期,它有多種輸入方式:
帶引號的文本串(如"1998/01/30")、序列號(如1900日期系統中的35825)或其他公式或函數的結果(如DATEVALUE("1998/1/30"))。
Month爲start_date之前或之後的月份數,正數表示未來日期,負數表示過去日期。
實例:
公式“=EOMONTH("2001/01/01",2)”返回36981即2001年3月31日,=EOMONTH("2001/01/01",-6)返回36738即2000年7月31日。
7.HOUR
用途:
返回時間值的小時數。
即介於0(12:
00A.M.)到23(11:
00P.M.)之間的一個整數。
語法:
HOUR(serial_number)
參數:
Serial_number表示一個時間值,其中包含著要返回的小時數。
它有多種輸入方式:
帶引號的文本串(如"6:
45PM")、十進位數字(如0.78125表示6:
45PM)或其他公式或函數的結果(如TIMEVALUE("6:
45PM"))。
實例:
公式“=HOUR("3:
30:
30PM")”返回15,=HOUR(0.5)返回12即12:
00:
00AM,=HOUR(29747.7)返回16。
8.MINUTE
用途:
返回時間值中的分鐘,即介於0到59之間的一個整數。
語法:
MINUTE(serial_number)
參數:
Serial_number是一個時間值,其中包含著要查找的分鐘數。
時間有多種輸入方式:
帶引號的文本串(如"6:
45PM")、十進位數字(如0.78125表示6:
45PM)或其他公式或函數的結果(如TIMEVALUE("6:
45PM"))。
實例:
公式“=MINUTE("15:
30:
00")”返回30,=MINUTE(0.06)返回26,=MINUTE(TIMEVALUE("9:
45PM"))返回45。
9.MONTH
用途:
返回以序列號表示的日期中的月份,它是介於1(一月)和12(十二月)之間的整數。