文本處理
1、TRIM(text):用于清除文本兩邊的空格;
2、CONCATENATE(text1, [text2], ...):連接兩個或多個文本字符串;
注:在Excel 2016、Excel Mobile和Excel Online中,此函數(shù)已替換為CONCAT函數(shù)。盡管CONCATENATE函數(shù)仍可向后兼容,但應(yīng)考慮從現(xiàn)在開始使用CONCAT。這是因為CONCATENATE可能不再適用將來的Excel版本。
3、REPLACE(old_text, start_num, num_chars, new_text):將指定位置的一個字符串的部分字符用另一個字符串替換;
4、SUBSTITUTE(text, old_text, new_text, [instance_num]):將字符串中的部分字符串以新字符串替換,如果需要在某一文本字符串中替換特定位置處的任意文本,一般使用函數(shù) REPLACE;
注:Instance_num參數(shù)為可選。指定要用new_text替換old_text的事件。如果指定了instance_num,則只有滿足要求的old_text被替換。否則,文本中出現(xiàn)的所有old_text都會更改為new_text。例:=SUBSTITUTE(A4, "1", "2", 3),即用2替換第三個1。
5、LEFT/RIGHT(text, [num_chars]):LEFT從一個文本字符串的第一個字符開始,返回指定個數(shù)的字符,RIGHT則從字符串的最后一個字符開始返回;
6、MID(text, start_num, num_chars):從文本字符串中指定的起始位置起,返回指定長度的字符;
7、LEN(text):返回字符串中的字符個數(shù);
8、FIND(find_text, within_text, [start_num]):返回一個字符串在另外一個字符串中出現(xiàn)的起始位置(區(qū)分大小寫不允許使用通配符);
9、SEARCH(find_text,within_text,[start_num]):返回一個指定字符或文本字符串在字符串中第一次出現(xiàn)的位置,從左到右查找(忽略大小寫,可使用通配符);
可以在find_text參數(shù)中使用通配符(問號 (?) 和星號 (*))。問號匹配任意單個字符,星號匹配任意一串字符。如果要查找實際的問號或星號,請在字符前鍵入波形符 (~)。
10、TEXT(value, format_text):根據(jù)指定的數(shù)值格式,將數(shù)字轉(zhuǎn)化為文本;
format_text參數(shù)的值可以參考單元格格式設(shè)置中“數(shù)字”的自定義類型。
關(guān)聯(lián)匹配
11、LOOKUP(lookup_value, lookup_vector, [result_vector]) / LOOKUP(lookup_value, array):從單行或單列或從數(shù)組中查找一個值,即在lookup_vector(某行或某列)查找lookup_value,返回result_vector(某行或某列)范圍中同行或同列的值;
lookup_vector或數(shù)組中的值必須按升序排列:..., -2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE,否則,LOOKUP可能無法返回正確的值。文本不區(qū)分大小寫。如果LOOKUP函數(shù)找不到lookup_value,則該函數(shù)會與lookup_vector中小于或等于lookup_value的最大值進行匹配。
12、VLOOKUP (lookup_value, table_array, col_index_num, [range_lookup]):按列查找,返回需要查找的列中對應(yīng)的值;
即:=VLOOKUP(查找目標、查找范圍、查找范圍中包含返回值的列號、精確匹配或近似匹配)。
lookup_value:要查找的值,并且該值必須位于table_array查找范圍的第一列;
table_array:查找范圍,該范圍包含了查找目標和需要的返回值;
col_index_num:返回值所在查找范圍中的列數(shù),lookup_value所在列數(shù)為第1列;
range_lookup:指定需要精確匹配(0/FALSE)或是近似匹配(1/TRUE)。
13、INDEX(array, row_num, [column_num]) / INDEX(reference, row_num, [column_num], [area_num]):在給定的單元格區(qū)域中,返回特定行列交叉處單元格的值或引用;
array:單元格區(qū)域或數(shù)組常量,例如:=INDEX({1,2;3,4},0,2),這里有一個兩行兩列的數(shù)組,即第一行的1、2,第二行的3、4。這個函數(shù)實現(xiàn)在第二列從上往下寫入2、4。另外,這是數(shù)組公式,需使用 Ctrl+Shift+Enter 輸入;
row_num:某行;
column_num:某列;
reference:對一個或多個單元格區(qū)域的引用,如果引用為一個不連續(xù)的區(qū)域,則要用括號括起來并和area_num配合(例:=INDEX((A1:C6, A8:C11), 3, 4, 2));
area_num:選擇返回值所在的區(qū)域的編號,與reference配合使用,從左至右編號依次為1,2,3...等(例:=INDEX((A1:C6, A8:C11), 3, 4, 2)表示返回值在編號2區(qū)域,即A8:C11)。
14、MATCH(lookup_value, lookup_array, [match_type]):在lookup_array搜索范圍內(nèi)返回lookup_value查找值所在的相對位置;
match_type:數(shù)字 -1、0或1(1為缺省值)。該參數(shù)指定Excel如何將lookup_value與lookup_array中的值匹配。
其中,
-1表示查找大于或等于lookup_value的最小值,lookup_array參數(shù)中的值必須按降序排列,例如:TRUE, FALSE, Z-A, ...2, 1, 0, -1, -2, ... 等等;
0表示查找完全等于lookup_value的第一個值。lookup_array參數(shù)中的值可按任何順序排列;
1表示查找小于或等于lookup_value的最大值。lookup_array參數(shù)中的值必須以升序排序,例如:...-2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE。
15、ROW([reference]):返回引用的行號;
16、COLUMN([reference]):返回引用的列號;
17、OFFSET(reference, rows, cols, [height], [width]):以指定的引用為參照系,通過給定偏移量返回新的引用;
reference:可理解為坐標系原點;
rows:偏移的行數(shù),正數(shù)為向下偏移,負數(shù)為向上偏移;
cols:偏移的列數(shù),正數(shù)為向右偏移,負數(shù)為向左偏移;
height / width:需要返回的單元格區(qū)域的行高 / 列寬,如果省略height或width,則假設(shè)其高度或?qū)挾扰creference相同;
邏輯運算
18、IF(logical_test, value_if_true, [value_if_false]):即=IF(測試條件,返回true則執(zhí)行該動作,返回false則執(zhí)行該動作);
例如:=IF(A2>B2,"超出預(yù)算","正常")。
另外,IF函數(shù)可以嵌套,嵌套的IF寫在value_if_false的位置。例:=IF(D2>89,"A",IF(D2>79,"B",IF(D2>69,"C",IF(D2>59,"D","F"))))。最多可嵌套64層。
19、AND(logical1, [logical2], ...):所有參數(shù)的計算結(jié)果為TRUE時,返回TRUE,否則返回FALSE;
20、OR(logical1, [logical2], ...):任意參數(shù)的計算結(jié)果為TRUE時,返回TRUE;
21、IS函數(shù):此類函數(shù)統(tǒng)稱為IS函數(shù),可檢驗指定值并根據(jù)結(jié)果返回TRUE或FALSE。例如,如果參數(shù)value引用的是空單元格,則ISBLANK函數(shù)返回邏輯值TRUE;否則,返回FALSE。還可以和IF函數(shù)結(jié)合,用來檢測單元格是否出現(xiàn)錯誤,如果出現(xiàn)錯誤則給出錯誤提示,例:=IF(ISERROR(A1), "A1出現(xiàn)錯誤了", A1*2),如果A1出現(xiàn)了錯誤的情形,則給出“A1出現(xiàn)錯誤了”的提示,否則執(zhí)行“A1*2”;
ISBLANK(value):判斷value是否為空白單元格;
ISERR(value):判斷value是否出現(xiàn)任意錯誤值(除去 #N/A);
ISERROR(value):判斷value是否出現(xiàn)任意錯誤值(#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME? 或 #NULL!);
ISLOGICAL(value):判斷value是否為邏輯值;
ISNA(value):判斷value是否為錯誤值 #N/A(值不存在);
ISNONTEXT(value):判斷value是否非文本(值為空單元格時返回TRUE);
ISNUMBER(value):判斷value是否為數(shù)字;
ISREF(value):判斷value是否為引用;
ISTEXT(value):判斷value是否為文本。
計算統(tǒng)計
22、SUM(number1,[number2],...) / SUMIF(range, criteria, [sum_range]) / SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...):所有單元格求和 / 范圍內(nèi)符合條件的單元格求和 / 范圍內(nèi)符合多個條件單元格求和;
range:需要根據(jù)條件判斷的單元格區(qū)域;
criteria:篩選需要求和的單元格的條件;
sum_range:要求和的實際單元格區(qū)域;
criteria_range1:criteria1條件所在的單元格區(qū)域。
23、SUMPRODUCT(array1, [array2], [array3], ...):在給定的幾組數(shù)組中,將數(shù)組間對應(yīng)的元素相乘,并返回乘積之和;
例:=SUMPRODUCT(A2:B4, D2:E4),則表示A2*D2 + B2*E2 + A3*D3 + B3*E3 + A4*D4 + B4*E4
24、COUNT(value1, [value2], ...):統(tǒng)計所選單元格區(qū)域數(shù)字的個數(shù);
25、COUNTIF(range, criteria):統(tǒng)計滿足某個條件的單元格的數(shù)量;
26、COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2],…):跨多個單元格區(qū)域,統(tǒng)計滿足多個條件的數(shù)量;
例:=COUNTIFS(B2:B5,"=是",C2:C5,"=是")。
另外,COUNTA(value1, [value2], ...)函數(shù)可以計算單元格區(qū)域內(nèi)的非數(shù)字的個數(shù),即計算不為空的單元格的個數(shù)。
27、MAX(number1, [number2], ...) / MIN(number1, [number2], ...):返回一組值中的最大值 / 最小值;
28、RANK(number,ref,[order]):返回某個數(shù)字在所選單元格區(qū)域內(nèi)的排位;
number:需要排位的數(shù)字;
ref:對數(shù)字列表的引用,即所選的單元格區(qū)域;
order:指定數(shù)字排位方式。order為0,則表示EXCEL對該數(shù)字的排位是基于ref的降序排列;order為1,則基于升序排列。
29、RAND():返回大于等于0且小于1的均勻分布隨機實數(shù),每次計算工作表時都將返回一個新的隨機實數(shù);
30、RANDBETWEEN(bottom, top):返回位于兩個指定數(shù)之間的一個隨機整數(shù)(整數(shù)大小范圍是:[bottom, top]),每次計算工作表時都將返回一個新的隨機整數(shù);
31、AVERAGEA(value1, [value2], ...):求算術(shù)平均值;
32、AVERAGEIF(range, criteria, [average_range]):返回某個區(qū)域內(nèi)滿足給定條件的所有單元格的平均值(算術(shù)平均值);
33、AVERAGEIFS(average_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...):返回滿足多個條件的所有單元格的平均值(算術(shù)平均值);
34、QUARTILE(array,quart):返回一組數(shù)據(jù)的四分位點;
quart:即分位點。0為最小值,1為第一個四分位數(shù)(第25個百分點值),2為中分位數(shù)(第 50 個百分點值),3為第三個四分位數(shù)(第 75 個百分點值),4為最大值。
35、STDEV(number1,[number2],...):根據(jù)樣本估計標準偏差。標準偏差可以測量值在平均值(中值)附近分布的范圍大小;
36、SUBTOTAL(function_num,ref1,[ref2],...):返回引用單元格區(qū)域的分類匯總;
function_num:即分類匯總所用的函數(shù)編號,數(shù)字1-11或101-111。如果使用1-11,將包括手動隱藏的行,如果使用101-111,則排除手動隱藏的行。例:=SUBTOTAL(9,A2:A5),表示單元格A2:A5中分類匯總的值之和。 ? ??
1----101----AVERAGE
2----102----COUNT
3----103----COUNTA
4----104----MAX
5----105----MIN
6----106----PRODUCT
7----107----STDEV
8----108----STDEVP
9--- 109----SUM
10--110----VAR
11--111----VARP
37、Int( number ):取整,即將數(shù)字向下舍入到最接近的整數(shù);
38、ROUND(number, num_digits):將數(shù)字四舍五入到指定的位數(shù);
num_digits:四舍五入的位數(shù)。如果num_digits大于0(零),則將數(shù)字四舍五入到指定的小數(shù)位數(shù);如果num_digits等于 0,則將數(shù)字四舍五入到最接近的整數(shù);如果num_digits小于0,則將數(shù)字四舍五入到小數(shù)點左邊的相應(yīng)位數(shù)。
時間序列
39、YEAR(serial_number) / MONTH(serial_number) / DAY(serial_number):返回對應(yīng)于某個日期的年 / 月 / 日;
serial_number:應(yīng)使用DATE函數(shù)輸入日期,或者將日期作為其他公式或函數(shù)的結(jié)果輸入。例如,使用函數(shù)DATE(2008,5,23)輸入2008年5月23日。如果日期以文本形式輸入,則會出現(xiàn)問題。
40、WEEKDAY(serial_number,[return_type]):返回對應(yīng)于某個日期的一周中的第幾天;
return_type:1表示從周日開始算第一天,2表示從周一開始算第一天。
41、WEEKNUM(serial_number,[return_type]):返回特定日期的周數(shù);
return_type:1表示從周日開始算第一天,2表示從周一開始算第一天。例:=WEEKNUM(DATE(2017,1,8),2),返回2017-1-8為這一年中的第2周。
42、DATE(year,month,day):將3個單獨的值合并為一個日期;
43、NOW():返回當前日期和時間;
44、TODAY():返回當前日期;
45、DATEDIF(start_date,end_date,unit):計算兩個日期之間相隔的天數(shù)、月數(shù)或年數(shù);
unit:
"Y"表示一段時期內(nèi)的整年數(shù);
"M"表示一段時期內(nèi)的整月數(shù);
"D"表示一段時期內(nèi)的天數(shù);
"MD"表示start_date與end_date之間天數(shù)之差,忽略日期中的月份和年份(不推薦使用“MD”參數(shù),因為存在相關(guān)已知限制);
"YM"表示start_date與end_date之間月份之差,忽略日期中的天和年份;
"YD"表示start_date與end_date的日期部分之差,忽略日期中的年份。