1. 程式人生 > >Excel最常用的函式

Excel最常用的函式

Excel函式有很多,最常用的有以下幾個,做個總結:

1、Vlookup函式

用途:資料查詢、表格核對、表格合併
用法:
=VLOOKUP(lookuo_value,table_array,col_index_num,[range_lookup])
=vlookup(查詢的值,查詢區域,返回值所在列數,精確還是模糊查詢)
例:

舊編號 總價值 數量 新編號
1001 58452 56
1002 5454 4
1003 24577 44
1004 45454 14
1005 4252 5
1006 4441 96
1007 42747 63
1008 2477 50
1009 277274 252
1010 2424 41
1011 24242 44
舊編號 新編號
1003 A0001
1001 A0002
1008 A0003
1006 A0004
1007 A0005
1002 A0006
1009 A0007
1011 A0008
1004 A0009
1010 A0010
1005 A0011

更換舊編號為新編號
=VLOOKUP(A:A,E:F,2,FALSE)
在E:F列中查詢A:A列中的值是否存在,存在則賦值為E:Fd第二列的值。

舊編號 總價值 數量 新編號 舊編號 新編號
1001 58452 56 A0002 1003 A0001
1002 5454 4 A0006 1001 A0002
1003 24577 44 A0001 1008 A0003
1004 45454 14 A0009 1006 A0004
1005 4252 5 A0011 1007 A0005
1006 4441 96 A0004 1002 A0006
1007 42747 63 A0005 1009 A0007
1008 2477 50 A0003 1011 A0008
1009 277274 252 A0007 1004 A0009
1010 2424 41 A0010 1010 A0010
1011 24242 44 A0008 1005 A0011

以上表為自動完成。
注意以下方法是錯誤的,在求新編號時,第一行使用=VLOOKUP(A2:A12,E2:F12,2,FALSE)可以得出正確結果,但拖動時會自動增長,導致下面的資料會出現錯誤,以下是錯誤的結果。

舊編號 總價值 數量 新編號 舊編號 新編號
1001 58452 56 A0002 1003 A0001
1002 5454 4 A0006 1001 A0002
1003 24577 44 N/A 1008 A0003
1004 45454 14 A0009 1006 A0004
1005 4252 5 A0011 1007 A0005
1006 4441 96 N/A 1002 A0006
1007 42747 63 N/A 1009 A0007
1008 2477 50 N/A 1011 A0008
1009 277274 252 N/A 1004 A0009
1010 2424 41 A0010 1010 A0010
1011 24242 44 N/A 1005 A0011

原因是在拖動時,指向自動增長,下圖比較清楚:
這裡寫圖片描述
這裡寫圖片描述

2 、Sumif函式和Countif函式

用途:按條件求和,按條件計數,很多複雜的資料核對也需要用到這2個函式。
用法:
=sumif(range,criteria,[sum_range])
=Sumif(判斷區域,條件,求和區域)
例:

考號 語文 數學 英語 總分
1 65 88 67 220
2 56 95 83 234
3 96 86 86 268
4 86 66 85 237
5 77 87 66 230
6 86 57 75 218
7 99 88 55 242
8 63 88 75 226

求語文大於60分的學生的總分之和;
=SUMIF(B2:B9,”>60”,E2:E9)
B2:B9所有語文成績
“>60”條件
E2:E9求和列

=countif(range,criteria)
=Countif(判斷區域,條件)
例:

編號 年收入
1 11220
2 9500
3 8400
4 25000
5 18000
6 12000
7 8666
8 9999
9 13500

計數年收入大於12000;
=COUNTIF(K2:K10,”>12000”)
K2:K10—>所有收入
“>12000”條件

3、IF函式

用途:根據條件進行判斷
用法:
=if(logical_test,[value_if_ture],[value_if_false])
=IF(判斷條件,條件成立返回的值,條件不成立返回的值)
例:

考號 語文 數學 英語 總分 語文>60且總分大於230分的人
1 65 88 67 220 0
2 56 95 83 234 0
3 96 86 86 268 1
4 86 66 85 237 1
5 77 87 66 230 0
6 86 57 75 218 0
7 99 88 55 242 1
8 63 88 75 226 0

求語文>60且總分大於230分的人
=IF(AND(B:B>60,E:E>230),1,0)
B:B,E:E條件列,>60、>230條件
AND函式,多條件與運算
1,0 滿足條件則賦值1,不滿足則賦值0

4、Sumifs函式和Countifs函式

用途:多條件求和、多條件計數,資料分類彙總利器
用法:
=sumifs(sum_range,criteria_range1,criteria1,…)
=Sumifs(求和區域,判斷區域1,條件1,判斷區域2,條件2…..)
例:

考號 語文 數學 英語 總分
1 65 88 67 220
2 56 95 83 234
3 96 86 86 268
4 86 66 85 237
5 77 87 66 230
6 86 57 75 218
7 99 88 55 242
8 63 88 75 226

求各項成績都大於60分的總成績
=SUMIFS(E2:E9,B2:B9,”>60”,C2:C9,”>60”,D2:D9,”>60”)
B2:B9所有語文成績
“>60”條件
。。。數學、英語成績以及條件
E2:E9求和列

=countifs(criteria_range1,criteria1,…)
=Countifs(判斷區域1,條件1,判斷區域2,條件2…..)
例:

編號 年收入
1 11220
2 9500
3 8400
4 25000
5 18000
6 12000
7 8666
8 9999
9 13500

計數年收入大於12000且編號大於5;
=COUNTIFS(J2:J10,”>5”,K2:K10,”>12000”)
K2:K10—>所有收入
“>12000”條件收入大於12000
J2:J10編號
“>5”條件編號大於5

5、Round函式、INT函式

用途:數值四捨五入和取整函式
用法:
四捨五入 =Round(number, num_digits)
number表示需要進行四捨五入的數值或單元格內容。
num_digits表示需要取多少位的引數。
例:

3.1415926 num_digits>0時,表示取小數點後對應位數的四捨五入數值。
  3.140
  num_digits=0時,表示則將數字四捨五入到最接近的整數。
  3.0000000
  num_digits< 0時,表示對小數點左側前幾位進行四捨五入。
  0.000

=ROUND(H1,2)

取整 =INT(數值)
=INT(H1)

6、Left、Right和Mid函式

用途:字串的擷取
用法:
=Left(字串,從左邊擷取的位數)

gansutianshui left
  =LEFT(H8,5)

=Right(字串,從右邊擷取的位數)

gansutianshui left
  gansu
  right
  =RIGHT(H8,5)

=Mid(字串,從第幾位開始截,截多少個字元)

gansutianshui left
  gansu
  right
  nshui
  Mid
  =MID(H8,5,5)

結果:

gansutianshui left
  gansu
  right
  nshui
  mid
  utian

7、Datedif函式

用途:日期的間隔計算。
用法:
=Datedif(開始日期,結束日期.”y”) 間隔的年數
=Datedif(開始日期,結束日期.”M”) 間隔的月份
=Datedif(開始日期,結束日期.”D”) 間隔的天數
例:

2015/12/11 2017/8/28
計算年數差 1
計算月數差 20
計算天數差 626

=DATEDIF(F16,G16,”y”)
=DATEDIF(F16,G16,”m”)
=DATEDIF(F16,G16,”d”)

8、IFERROR函式

用途:把公式返回的錯誤值轉換為提定的值。如果沒有返回錯誤值則正常返回結果
用法:
=IFERROR(公式表示式,錯誤值轉換後的值)
例:以第一個為例,刪除新舊編號對應的一部分,結果如下

舊編號 總價值 數量 新編號
1001 58452 56 A0002
1002 5454 4 N/A
1003 24577 44 A0001
1004 45454 14 N/A
1005 4252 5 A0008
1006 4441 96 A0004
1007 42747 63 A0005
1008 2477 50 A0003
1009 277274 252 N/A
1010 2424 41 A0007
1011 24242 44 A0006
舊編號 新編號
1003 A0001
1001 A0002
1008 A0003
1006 A0004
1007 A0005
1011 A0006
1010 A0007
1005 A0008

直接使“#N/A”變為空

舊編號 總價值 數量 新編號
1001 58452 56 A0002
1002 5454 4
1003 24577 44 A0001
1004 45454 14
1005 4252 5 A0008
1006 4441 96 A0004
1007 42747 63 A0005
1008 2477 50 A0003
1009 277274 252
1010 2424 41 A0007
1011 24242 44 A0006

函式:
=IFERROR(VLOOKUP(M:M,R:S,2,FALSE),”“)