excel公式 - xue460345252的日誌 - 網易博客
excel公式
EXCEL中所有函數的使用2007-09-05 17:051.求和函數SUM
語法:SUM(number1,number2,...)。參數:number1、number2...為1到30個數值(包括邏輯值和文本表達式)、區域或引用,各參數之間必須用逗號加以分隔。
注意:參數中的數字、邏輯值及數字的文本表達式可以參與計算,其中邏輯值被轉換為1,文本則被轉換為數字。如果參數為數組或引用,只有其中的數字參與計算,數組或引用中的空白單元格、邏輯值、文本或錯誤值則被忽略。
應用實例一:跨表求和
使用SUM函數在同一工作表中求和比較簡單,如果需要對不同工作表的多個區域進行求和,可以採用以下方法:選中Excel XP「插入函數」對話框中的函數,「確定」後打開「函數參數」對話框。切換至第一個工作表,滑鼠單擊「number1」框後選中需要求和的區域。如果同一工作表中的其他區域需要參與計算,可以單擊「number2」框,再次選中工作表中要計算的其他區域。上述操作完成後切換至第二個工作表,重複上述操作即可完成輸入。「確定」後公式所在單元格將顯示計算結果。
應用實例二:SUM函數中的加減混合運算
財務統計需要進行加減混合運算,例如扣除現金流量表中的若干支出項目。按照規定,工作表中的這些項目沒有輸入負號。這時可以構造「=SUM(B2:B6,C2:C9,-D2,-E2)」這樣的公式。其中B2:B6,C2:C9引用是收入,而D2、E2為支出。由於Excel不允許在單元格引用前面加負號,所以應在表示支出的單元格前加負號,這樣即可計算出正確結果。即使支出數據所在的單元格連續,也必須用逗號將它們逐個隔開,寫成「=SUM(B2:B6,C2:C9,-D2,-D3,D4)」這樣的形式。
應用實例三:及格人數統計
假如B1:B50區域存放學生性別,C1:C50單元格存放某班學生的考試成績,要想統計考試成績及格的女生人數。可以使用公式「=SUM(IF(B1:B50=〃女〃,IF(C1:C50>=60,1,0)))」,由於它是一個數組公式,輸入結束後必須按住Ctrl+Shift鍵回車。公式兩邊會自動添加上大括弧,在編輯欄顯示為「{=SUM(IF(B1:B50=〃女〃,IF(C1:C50>=60,1,0)))}」,這是使用數組公式必不可少的步驟。
2.平均值函數AVERAGE
語法:AVERAGE(number1,number2,...)。參數:number1、number2...是需要計算平均值的1~30個參數。
注意:參數可以是數字、包含數字的名稱、數組或引用。數組或單元格引用中的文字、邏輯值或空白單元格將被忽略,但單元格中的零則參與計算。如果需要將參數中的零排除在外,則要使用特殊設計的公式,下面的介紹。
應用實例一:跨表計算平均值
標籤名為「一班」、「二班」和「三班」的工作表存放各班學生的成績,則它們的總平均分計算公式為「=AVERAGE(一班!C1:C36,三班!C1:C32,三班!C1:C45)」。式中的引用輸入方法與SUM跨表求和時相同。
應用實例二:忽略零的平均值計算公式
假設A1:A200隨機存放包括零在內的48個數值,在AVERAGE參數中去掉零引用很麻煩,這種情況可以使用公式「=AVERAGE(IF(A1:A200<>0, A1:A200,〃〃)」。公式輸入結束後按住Ctrl+Shift回車,即可對A1:A200中的數值(不包括零)計算平均值。
3.邏輯函數IF
語法:IF(logical_test,value_if_true,value_if_false)。參數:logical_test是結果為true(真)或false(假)的數值或表達式;value_if_true是logical_test為true時函數的返回值,如果logical_test為ture並且省略了value_if_true,則返回true。而且value_if_true可以是一個表達式;value_if_false是logical_test為false時函數的返回值。如果logical_test為false並且省略value_if_false,則返回false。Value_if_false也可以是一個表達式。
應用實例一:個人收入調節稅計算
假設個人收入調節稅的稽徵辦法是:工資在1000元以下的免徵調節稅,工資1000元以上至1500元的超過部分按5%的稅率徵收,1500元以上至2000元的超過部分按8%的稅率徵收,高於2000元的超過部分按30%的稅率徵收。
假如工作表的B列存放職工姓名,C列存放工資,選中D列的空白單元格輸入公式「=IF(C2<=1000,〃〃,IF((C2-1000)<=1500,(C2-1000)*0.05,IF(C2-E2<=1500,(C2-1500)*0.08,IF(C2>2000,(C2-2000)*0.3))))」,回車後即可計算出C2工資應繳納的收入調節稅。
公式中的IF語句是逐次計算的,如果第一個邏輯判斷C2<=1000成立,則公式所在單元格被填入空格;如果第一個邏輯判斷式不成立,則計算第二個IF語句;直至計算結束。如果稅率徵收標準發生了變化,只須改變邏輯和計算式中的值,如1000、1500和2000等即可。
應用實例二:消除無意義的零
用SUM函數計算工資總額等問題時,若引用的全部參數均為空白單元格,公式仍然會計算出一個「0」。這樣列印出來的報表不僅很不美觀。為此可將計算公式設計為「=IF(SUM(A1:B1,D2:E8)<>0,SUM(A1:B1,D2:E8),〃〃)」,即是當SUM(A1:B1,D2:E8)計算結果不等於零時,公式所在單元格顯示SUM(A1:B1,D2:E8)的計算結果,否則顯示一個空格。
上面這個問題在財務計算中依然存在,如公式「=A1-A6-A9」有可能為零或顯示負數。為了避免列印零或負數,可以設計公式「=IF(A2-A6-A9=0,〃〃,IF(A2-A6-A9<0,RMB(A2-A6-A9),A2-A6-A9))」。當A2-A6-A9=0時在單元格中填寫零,否則進行下一個邏輯判斷。如果A2-A6-A9<0則在結果前添加一個「¥」符號,否則進行正常運算直至結束。
應用實例三:多條件求和
假設C1:C460區域內存放著職工的職稱,D1:D460區域存放著職工的性別。如果要統計具有高級職稱的男性職工總數,可以使用公式「=SUM(IF(C1:C460=〃高級〃,IF(D1:D460=〃男〃,1,0)))」。這是一個數組公式,輸入結束後按住Ctrl+Shift回車即可計算出結果。
4.快捷方式或鏈接創建函數HYPERLINK
語法:HYPERLINK(link_location,friendly_name)。參數:link_location是文件的路徑和文件名,它可以指向文檔中的某個具體位置。如Excel工作表中的特定單元格或區域,或某個Word文檔中的書籤,也可以指向硬碟中的文件或是Internet或Intranet的URL。Friendly_name為單元格中顯示的鏈接文字或數字,它用藍色顯示並帶有下劃線。如果省略了friendly_name,單元格就將link_location顯示為鏈接。
應用實例:管理文檔或網站地址
如果你擁有大量文檔或收集了許多網站地址,管理起來一定有困難。如果能夠將其中的文檔名、URL等與文檔等對象鏈接起來,不僅管理方便,還可以直接打開文檔或訪問站點。具體操作方法是:首先根據文檔類型建立管理工作表,其中的文件名或網站名必須使用以下方法輸入:選中一個空白單元格,單擊Excel XP工具欄中的「粘貼函數」按鈕,打開「粘貼函數」對話框,在「函數分類」框下選中「查找與引用」,然後在「函數名」框內找到HYPERLINK函數。單擊對話框中的「確定」按鈕,彈出「HYPERLINK」函數嚮導。在「link_location」框中輸入文件的完整路徑和名稱(包括擴展名),如「C:\my documents\IT網站集錦.doc」,然後在「friendly_name」框中輸入文件名(如「IT網站集錦」)。確認輸入無誤單擊「確定」按鈕,所選單元格即出現帶下劃線的紫色文件名「IT網站集錦」。
此後你就可以從工作表中打開文檔,方法是:打開工作表,在其中找到需要打開的文件。箭頭游標指向文件名會變成手形,若停留片刻則會顯示該文件的完整路徑和名稱,單擊則會調用關聯程序將文件打開。
如果你收集了許多網站的URL,還可以用此法建立一個大型「收藏夾」。既可以用Excel的強大功能進行管理,又可以從工作表中直接訪問Web站點。
5.計數函數COUNT
語法:COUNT(value1,value2,...)。參數:value1,value2...是包含或引用各類數據的1~30個參數。
注意:COUNT函數計數時數字、日期或文本表示的數字會參與計數,錯誤值或其他無法轉換成數字的文字被忽略。如果參數是一個數組或引用,那麼只有數組或引用中的數字參與計數;其中的空白單元格、邏輯值、文字或錯誤值均被忽略。
應用實例:及格率統計
假如C1:G42存放著42名學生的考試成績,在一個空白單元格內輸入公式「=COUNTIF(C1:C42,〃>=60〃)/COUNTA(C1:C42)」回車,即可計算出該列成績的及格率(即分數為60及以上的人數佔總人數的百分比)。
6.最大值函數MAX、最小值函數MIN
語法:MAX(number1,number2,...),MIN(number1,number2,...)。參數:number1,number2...是需要找出最大值(最小值)的1至30個數值、數組或引用。
注意:函數中的參數可以是數字、空白單元格、邏輯值或數字的文本形式,如果參數是不能轉換為數字的內容將導致錯誤。如果參數為數組或引用,則只有數組或引用中的數字參與計算,空白單元格、邏輯值或文本則被忽略。
應用實例:查詢最高分(最低分)
假如C1:G42存放著42名學生的考試成績,則選中一個空白單元格,在編輯欄輸入公式「=MAX(C1:C42)」,回車後即可計算出其中的最高分是多少。
如果將上述公式中的函數名改為MIN,其他不變,就可以計算出C1:G42區域中的最低分。
7.條件求和函數SUMIF
語法:SUMIF(range,criteria,sum_range)。參數:range是用於條件判斷的單元格區域,criteria是由數字、邏輯表達式等組成的判定條件,sum_range為需要求和的單元格、區域或引用。
應用實例:及格平均分統計
假如A1:A36單元格存放某班學生的考試成績,若要計算及格學生的平均分,可以使用公式「=SUMIF(A1:A36,〃>=60〃,A1:A36)/COUNTIF(A1:A36,〃>=60〃)。公式中的「=SUMIF(A1:A36,〃>=60〃,A1:A36)」計算及格學生的總分,式中的「A1:A36」為提供邏輯判斷依據的單元格引用,「>=60」為判斷條件,不符合條件的數據不參與求和,A1:A36則是邏輯判斷和求和的對象。公式中的COUNTIF(A1:A36,〃>=60〃)用來統計及格學生的人數。
8.貸款償還計算函數PMT
語法:PMT(rate,nper,pv,fv,type).參數:如今貸款買房子或車子的人越來越多,計算某一貸款的月償還金額是考慮貸款的重要依據,Excel XP提供的PMT函數是完成這一任務的好工具。語法中的rate是貸款利率;nper為貸款償還期限;pv是貸款本金;fv為最後一次付款後剩餘的貸款金額,如果省略fv,則認為它的值為零;type為0或1,用來指定付款時間是在月初還是月末。如果省略type,則假設其值為零。
應用實例:購房還款金額
假如你為購房貸款十萬元,如果年利率為7%,每月末還款。採用十年還清方式時,月還款額計算公式為「=PMT(7%/12,120,-100000)」。其結果為¥-1,161.08,就是你每月須償還貸款1161.08元。
9.樣本的標準偏差函數STDEV
語法:STDEV(number1,number2,...)。參數:number1,number2,...為對應於總體樣本的1到30個參數,它們可以是數值、引用或數組。
注意:STDEV函數的參數是總體中的樣本,並忽略參數中的邏輯值(true或false)和文本。如果需要用全部數據計算標準偏差,則應使用STDEVP函數。如果參數中的邏輯值和文本不能忽略,請使用STDEVA函數。
應用實例一:成績離散度估計
假設某班共有36名學生參加考試,隨機抽取的五個分數為A1=78、A2=45、A3=90、A4=12和A5=85。如果要估算本次考試成績相對平均分的離散程度,即學生的考試成績偏離平均分的多少,可以使用公式「=STDEV(A1:A5)」。其計算結果為33.00757489,標準偏差的數值越大成績越分散。
應用實例二:質量波動估計
質量控制等場合也能用到STDEV函數,如從一批鋼絲繩中隨機抽出若干進行試驗,分別測出它們的抗拉強度。根據STDEV函數的計算結果即可判斷鋼絲繩的抗拉強度是否分散,如果計算的標準偏差比較小,說明抗拉強度的一致性好,質量比較穩定。反之說明鋼絲繩的質量波動較大,抗拉強度不夠一致。
10.排序函數RANK
語法:RANK(number,ref,order)。參數:number是需要計算其排位的一個數字;ref是包含一組數字的數組或引用(其中的非數值型參數將被忽略);order是用來說明排序方式的數字(如果order為零或省略,則以降序方式給出結果,反之按升序方式)。
應用實例:產值排序
假如圖1中的E2、E3、E4單元格存放一季度的總產值。
(圖1)
計算各車間產值排名的方法是:在F2單元格內輸入公式「=RANK(E2,$E$2:$E$4)」,敲回車即可計算出鑄造車間的產值排名是2。再將F2中的公式複製到剪貼板,選中F3、F4單元格按Ctrl+V,就能計算出其餘兩個車間的產值排名3和1。如果B1單元格中輸入的公式為「=RANK(E2,$E$2:$E$4,1)」,則計算出的序數按升序方式排列,即2、1和3。
需要注意的是:相同數值用RANK函數計算得到的序數(名次)相同,但會導致後續數字的序數空缺。假如上例中F2單元格存放的數值與F3相同,則按本法計算出的排名分別是3、3和1(降序時)。即176.7出現兩次時,鑄造和維修車間的產值排名均為3,後續金工車間的排名就是1(沒有2)。
11.四捨五入函數
語法:ROUND(number,num_digits)。參數:number是需要四捨五入的數字;num_digits為指定的位數,number將按此位數進行四捨五入。
注意:如果num_digits大於0,則四捨五入到指定的小數位;如果 num_digits 等於 0,則四捨五入到最接近的整數;如果 num_digits 小於 0,則在小數點左側按指定位數四捨五入。
應用實例:消除計算誤差
假設Excel工作表中有D2=356.68、E2=128.12,需要將D2與E2之和乘以0.1,將計算結果四捨五入取整數,再將這個結果乘以1.36(取兩位小數)得到最終結果。
一般用戶的做法是選中某個單元格(如F2),使用「單元格」命令將它的小數位數設為零,然後在其中輸入公式「F2=(D1+E1)*0.1」。再將G2單元格的小數位數設成兩位,最後把F2*1.36的結果存入其中就可以了。從表面上看,上述方法沒有什麼問題。因為(D1+E1)*0.1在F2單元格顯示48(注意:是顯示48),如果F2單元格的小數位數為零,(D1+E1)*0.1經四捨五入後的結果就是48。接下去卻出了問題,因為F2*1.36的計算結果是65.90,根本不是48*1.36的正確結果65.28,其中65.90是(D2+E2)*0.1未經四捨五入直接乘以1.36的結果。
以上計算結果說明:「單元格格式」、「數字」選項卡設置的「小數位數」,只能將單元格數值的顯示結果進行四捨五入,並不能對所存放的數值進行四捨五入。換句話說,單元格數值的顯示結果與實際存放結果並不完全一致,如果不注意這個問題,計算工資等敏感數據就會出現錯誤。例如在上例中,F2單元格內的數值雖然顯示為48,但實際存放的卻是48.45,自然得出了48.45*1.36=65.90的結果(按計算要求應為65.28)。
要解決這個問題並不難,你只須在G2單元格內輸入公式「=(ROUND((D2+E2)*0.1,0))*1.36」,就可以按要求計算出正確結果65.28。式中的ROUND函數按指定位數對「(D2+E2)*0.1」進行四捨五入,函數中的參數0將「(D2+E2)*0.1」四捨五入到最接近的整數。
12.條件計數函數COUNTIF
語法:COUNTIF(range,criteria)。參數:range為需要統計的符合條件的單元格區域;criteria為參與計算的單元格條件,其形式可以為數字、表達式或文本(如36、〃>160〃和〃男〃等)。條件中的數字可以直接寫入,表達式和文本必須加引號。
應用實例:男女職工人數統計
假設 A1:A58區域內存放著員工的性別,則公式「=COUNTIF(A1:A58,〃女〃)」統計其中的女職工數量,「=COUNTIF(A1:A58,〃男〃)」統計其中的男職工數量。
COUNTIF函數還可以統計優秀或及格成績的數量,假如C1:G42存放著42名學生的考試成績,則公式「=COUNTIF(C2:G2,〃>=85〃)」可以計算出其中高於等於85分的成績數目。如將公式改為「=COUNTIF(C2:G2,〃>=60〃)」,則可以計算出及格分數的個數。
13.百分排位預測函數PERCENTILE
語法:PERCENTILE(array,k)。參數:array為定義相對位置的數值數組或數值區域,k為數組中需要得到其百分排位的值。
注意:如果array所在單元格為空白或數據個數超過8191,則返回#NUM!錯誤。如果k<0或k>1,則返回#NUM!錯誤。如果k不是1/(n-1)的倍數,該函數使用插值法確定其百分排位。
應用實例:利潤排行預測
假設C1:C60區域存放著幾十個公司的利潤總額。如果你想知道某公司的利潤達到多少,才能進入排名前10%的行列,可以使用公式「=PERCENTILE(C1:C60,0.9)」。如果計算結果為9867萬元,說明利潤排名要想進入前10%,則該公司的利潤至少應當達到9867萬元。
14.數值探測函數ISNUMBER
語法:ISNUMBER(value)。參數:如果value為數值時函數返回ture(真),否則返回false(假)。
應用實例一:無錯誤除法公式
如果工作表為C1設計了公式「=A1/B1」,一旦B1單元格沒有輸入除數,就會在C1中顯示錯誤信息「#DIV/0!」。這不僅看起來很不美觀,一旦作為報表列印還可能引起誤會。為避免上面提到的問題出現,可將C1單元格中的公式設計成「=IF(ISNUMBER(B1),A1/B1,〃〃)」。式中的ISNUMBER函數對B1單元格進行探測,當B1被填入數值時返回true(真),反之返回false(假)。為真時IF函數執行A1/B1的運算,為假時在C1單元格中填入空格。
應用實例二:消除無意義的零
使用SUM函數計算工資總額時,若引用的單元格區域沒有數據,Excel仍然會計算出一個結果「0」。這樣列印出來的報表不符合財務規定,為此可將公式設計成「=IF(ISNUMBER(A1:B1),SUM(A1:B1),〃〃)」。
式中ISNUMBER函數測試SUM 函數所引用的單元格區域是否全部為空,當不為空時返回true(真),反之返回fales(假)。為真時IF函數執行SUM(A1:B1),為假時在存放計算結果的F1單元格中填入空格,這樣即可避免在F1單元格中出現「0」。
15.零存整取收益函數PV
語法:PV(rate,nper,pmt,fv,type)。參數:rate為存款利率;nper為總的存款時間,對於三年期零存整取存款來說共有3*12=36個月;pmt為每月存款金額,如果忽略pmt則公式必須包含參數fv;fv為最後一次存款後希望得到的現金總額,如果省略了fv則公式中必須包含pmt參數;type為數字0或1,它指定存款時間是月初還是月末。
應用實例:零存整取收益函數PV
假如你每月初向銀行存入現金500元,如果年利2.15%(按月計息,即月息2.15%/12)。如果你想知道5年後的存款總額是多少,可以使用公式「=FV(2.15%/12,60,-500,0,1)」計算,其結果為¥31,698.67。
式中的2.15%/12為月息;60為總的付款時間,在按月儲蓄的情況下為儲蓄月份的總和;-500為每月支出的儲蓄金額(-表示支出);0表示儲蓄開始時賬戶上的金額,如果賬戶上沒有一分錢,則為0否則應該輸入基礎金額;1表示存款時間是月初還是月末,1為月初0或忽略為月末。
16.內部平均值函數TRIMMEAN
語法:TRIMMEAN(array,percent)。參數:array為需要去掉若干數據然後求平均值的數組或數據區域;percent為計算時需要除去的數據的比例,如果 percent = 0.2,說明在20個數據中除去 4 個,即頭部除去 2 個尾部除去 2 個。如果percent=0.1,則30個數據點的10%等於3,函數TRIMMEAN將在數據首尾各去掉一個數據。
應用實例:評比打分統計
歌唱比賽採用打分的方法進行評價,為了防止個別人的極端行為,一般計算平均分數要去掉若干最高分和最低分。假如B1:B10區域存放某位歌手的比賽得分,則去掉一個最高分和一個最低分後的平均分計算公式為「=TRIMMEAN(B1:B10,0.2)」。公式中的0.2表示10個數據中去掉2個(10×0.2),即一個最高分和一個最低分。
17.日期年份函數YEAR
語法:YEAR(serial_number)。參數:serial_number為待計算年份的日期。
應用實例:「虛工齡」計算
所謂「虛工齡」就是從參加工作算起,每過一年就增加一年工齡,利用YEAR函數計算工齡的公式是「=YEAR(A1)-YEAR(B1)」。公式中的A1和B1分別存放工齡的起止日期,YEAR(A1)和YEAR(B1)分別計算出兩個日期對應的年份,相減後得出虛工齡。
18.起止天數函數DAYS360
語法:DAYS360(start_date,end_date,method)。參數:start_date和end_date是用於計算期間天數的起止日期,可以使用帶引號的文本串(如"1998/01/30")、系列數和嵌套函數的結果。如果start_date在end_date之後,則DAYS360將返回一個負數。
19.取整函數TRUNC
語法:TRUNC(number,num_digits)。參數:number是需要截去小數部分的數字,num_digits則指定保留到幾位小數。
應用實例:「實工齡」計算
實際工作滿一年算一年的工齡稱為「實工齡」,如1998年6月1日至2001年12月31日的工齡為3年。計算「實工齡」的公式是「= TRUNC((DAYS360(〃1998/6/1〃,〃2001/12/31〃))/360,0)」,公式中的DAYS360(〃1998/6/1〃,〃2001/12/31〃)計算兩個日期相差的天數,除以360後算出日期相差的年份(小數)。最後TRUNC函數將(DAYS360(A1,B1)/360的計算結果截去小數部分,從而得出「實工齡」。如果計算結果需要保留一位小數,只須將公式修改為「= TRUNC((DAYS360(〃1998/6/1〃,〃2001/12/31〃))/360,1)」即可。
如果你要計算參加工作到系統當前時間的實工齡,可以將公式修改為「= TRUNC((DAYS360(〃1998/6/1〃,NOW()))/360,0)」。其中NOW()函數返回當前的系統日期和時間。
20.字元提取函數MID
語法:MID(text,start_num,num_chars)或MIDB(text,start_num,num_bytes)。參數:text是含有要待提取字元的文本,start_num是要提取的第一個字元的位置(其中第一個字元的start_num為1以此類推),num_chars 指定MID從文本中提取的字元個數,Num_bytes指定MIDB從文本中提取的字元個數(按位元組計算)。
應用實例:姓氏提取和統計
假如工作表C列存放著職工的姓名,如果想知道某一姓氏的職工人數,可以採用以下方法。首先使用公式「=MID(C1,1,1)」或「=MIDB(C1,1,2),從C1中提取出職工的姓氏,採用拖動或複製的方法即可提取其他單元格中的職工姓氏。然後使用公式「=COUNTIF(D1:D58,〃張〃)」統計出姓張的職工數量,隨後改變公式中的姓氏就可以統計出其他姓氏職工的數量
推薦閱讀:
※網易大數據研發實習生筆試題目
※四柱八字金口訣(2)預測祖業之 - hkh036的日誌 - 網易博客
※紅顏知己 - 朱光臨的日誌 - 網易博客
※12生肖五行屬性速查表 - 錢璽安的日誌 - 網易博客
※網易bobo直播和網易cc直播的本質區別是什麼?