Excel函式應用教程:函式的引數(轉)

amyz發表於2007-08-13
Excel函式應用教程:函式的引數(轉)[@more@]

  函式右邊括號中的部分稱為引數,假如一個函式可以使用多個引數,那麼引數與引數之間使用半形逗號進行分隔。

  引數可以是常量(數字和文字)、邏輯值(例如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! SA S1: SA S8,[Book2]Sheet2! SB S1: SB S9)”,也就是在原來單元格引用的前面加上“[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(物理)”。

  需要特別說明的是,建立好的名稱可以被所有工作表引用,而且引用時不需要在名稱前面新增工作表名(這就是使用名稱的主要優點),因此名稱引用實際上是一種絕對引用。但是公式引用“列標誌”時的限制較多,它只能在當前資料列的下方引用,不能跨越工作表引用,但是引用“列標誌”的公式在一定條件下可以複製。從本質上講,名稱和標誌都是單元格引用的一種方式。因為它們不是文字,使用時名稱和標誌都不能新增引號。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-955109/,如需轉載,請註明出處,否則將追究法律責任。

相關文章