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),”“)