Excel必知必会函数—看看你会哪几个?
数据集:
注意:函数使用前一定要加=
第一类:文本处理函数
● Trim函数:去空格
作用:除了单词之间的单个空格之外,移除文本中的所有空格。
语法:TRIM(text),Text为必需项,为要移除空格的文本。
● Concatenate函数:字符拼接
作用:将两个或多个文本字符串联接为一个字符串。
语法:CONCATENATE(text1, [text2], ...)
,至少包含一个项目,最多255个项目,最多支持8192个字符,项目可以是文本值、数字、或单元格引用。
例如:=CONCATENATE(“订单数”,":",D2)
说明:可以利用连接符&实现相同的功能。
● Replace函数:
作用: 将特定位置的字符串替换为不同的文本字符。
语法:REPLACE(old_text, start_num, num_chars, new_text)
,old_text为需要替换的文本,start_num替换字符的位置,num_chars利用new_text替换的字符数,new_text要替换old_text的新文本。
● Substitue函数:
作用:在某一文本字符串中替换指定的文本
和Replace区别:Substitue根据文本内容进行替换,Replace根据字符位置进行替换。
语法:SUBSTITUTE(text, old_text, new_text, [instance_num]),text为包含需要替换的文本,old_text为需要替换的文本,new_text为替换old_text的文本,instance_num为可选参数,指定了数字则只替换相应顺序的old_text,否则全部替换。
● Left函数:
作用:从文本字符串的第一个字符开始返回指定个数的字符。
LEFT(text, [num_chars]),text包含要提取的字符,num_chars为指定要提取的自负数量,必须≥0,如果大于文本长度,则返回全部文本,如果省略则假定其值为1。
● Right函数:
用法同Left,只是取数方向相反,从右侧开始取数。
● Mid函数:
作用:从指定位置开始提取特定数目的字符
语法:MID(text, start_num, num_chars),text包含要提取字符的文本,start_num文本中要提取第一个字符的位置,num_chars希望提取的字符个数。
第二类:信息反馈函数
● Exact函数:
作用:比较两个文本字符串,如果它们完全相同,则返回 TRUE,否则返回 FALSE。 函数 EXACT 区分大小写,但忽略格式上的差异。 使用 EXACT 可以检验在文档中输入的文本。
语法:EXACT(text1, text2)
,text1和text2两个需要比较的字符串。
● Len函数:
作用:返回文本中字符的个数,一般和其他函数配合使用。
语法:LEN(text),text为需要查询长度的文本,空格将作为字符进行计数。
● IS函数:
作用:此类函数可检验指定值并根据结果返回 TRUE 或 FALSE。 在对某一值执行计算或执行其他操作之前,可以使用 IS 函数获取该值的相关信息。
语法:ISBLANK(value),ISERR(value),ISERROR(value),ISLOGICAL(value),ISNA(value),ISNONTEXT(value),ISNUMBER(value),ISREF(value),ISTEXT(value)。value指的是要测试的值。 参数 value 可以是空白(空单元格)、错误值、逻辑值、文本、数字、引用值,或者引用要测试的以上任意值的名称。
第三类:查找引用函数
● Vlookup函数:
作用:在表格区域中按行查找对应内容。
语法:VLOOKUP(要查找的值,要在其中查找值的区域,区域中包含返回值的列号,精确匹配或近似匹配 – 指定为 0/FALSE 或 1/TRUE)。
注意事项:要查找的值需要始终位于所在区域的第一列
● Hlookup函数:
作用:在表格中按列查找对应内容。
语法:HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup]),参数和VLOOKUP相对应,第三个参数为行号,VLOOKUP第三个参数为列号。
● Index函数:
作用:返回表格或区域中的值或值的引用
语法:INDEX(array, row_num, [column_num]),array单元格区域或数组常量,row_num为数组的某行,column_num为数组中的某列。除此之外还有引用的形式,感兴趣的话可以自行百度或使用微软帮助。
说明:如果使用参数row_num和column_num,则INDEX函数返回行列号交叉处单元格的值;如果将row_num设置为0,则返回整列数值的值,对column同样适用;若要输入数组公式,需要在公式输入完后,按Ctrl + Shift + Enter。
● Match函数:
作用:在范围单元格中搜索特定的项,然后返回该项在此区域中的相对位置。
语法:MATCH(lookup_value, lookup_array, [match_type]),lookup_value要查找的值,look_arrary单元格区域,match_type=1或省略,查找≤lookup_value的最大值,lookup_arrary需要升序排列;=0,查找完全等于lookup_value的第一个值;=-1,查找≥lookup_value的最小值,lookup_arrary需要降序排列。
说明:MATCH不区分大小写字母,可以再lookup_value使用?或*,?匹配任意单个字符,*匹配任意一串字符,如果要查找实际的问号或者星号,需要在字符前添加~。
● Search函数:
作用:函数可在第二个文本字符串中查找第一个文本字符串,并返回第一个文本字符串的起始位置的编号,该编号从第二个文本字符串的第一个字符算起。
语法:SEARCH(find_text,within_text,[start_num]),find_text为需要查找的文本,with_text包含要查找的文本,start_num为从开始搜索的字符编号。
说明:SEARCH不区分大小写,FIND函数区分大小写。SEARCH支持使用通配符?和*,而FIND不支持。
● Find函数:
FIND函数区分大小写,并且不能使用通配符,其他用法和SEARCH函数一致。
● Choose函数:
作用:根据参数返回数值参数列表中的数值。
语法:CHOOSE(index_num, value1, [value2], …),index_num指选定的数值参数,介于1到254之间,index_num为1则返回value1,为2则返回value2…
示例:SUM(CHOOSE(2,A1:A10,B1:B10,C1:C10))=SUM(B1:B10)
● Row / Column函数:
ROW([reference])返回引用的行号,COLUMN([reference])返回引用的列号,如果reference省略,则返回该函数所在位置的行/列号。
● Offset函数:
作用:返回对单元格或单元格区域中指定行数和列数的区域的引用。
语法:OFFSET(reference, rows, cols, [height], [width]),reference为偏移量的参考位置,rows偏移的行数,cols偏移的列数,height和width为指定返回的行高和列宽。
说明:引用的位置不能超过工作表边缘;省略height和width,则其高宽和reference相同。
● Indirect函数:
作用:返回文本字符串指定的引用
语法:INDIRECT(ref_text, [a1]),ref_text对单元格的引用,如果对另一个工作簿引用,则引用的工作簿必须已打开。a1为true或省略,则为A1样式,否则为R1C1样式。
● Address函数:
作用:根据指定行号和列号获得工作表中的某个单元格的地址,如ADDRESS(2,3) 返回 $C$2。
语法:ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text]),row_num为行号,column_num为列号,abs_num可以用来指定返回的引用类型,=1或省略返回绝对值;=2返回绝对行号,相对列号;=3返回相对行号,绝对列号;=4返回相对值。a1的用处同INDIRECT函数中参数介绍。sheet_text用于指定外部引用的工作表的名称。
第四类:逻辑运算函数
● If函数:
作用:对值和期待值进行逻辑比较
语法:IF(logical_test, value_if_true, [value_if_false]),当logical_test成立时,返回value_if_true,当logical_test不成立时,返回value_if_false。IF函数最多嵌套64个。
● Iferror函数:
作用:如果公式的计算结果错误,则返回您指定的值;否则返回公式的结果。 使用 IFERROR 函数可捕获和处理公式中的错误。
语法:IFERROR(value, value_if_error),value为要检查的值,value_if_error为在value为错误时返回的值,错误类型包括:#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、 #NAME? 或 #NULL!。
● Ifna函数:
作用:如果公式返回错误值 #N/A,则结果返回您指定的值;否则返回公式的结果。
语法:IFNA(value, value_if_na),和IFERROR语法相同,只是检查的错误值范围不同。
● And函数:
用于确定测试中的所有条件是否均为 TRUE。
● Or函数:
用于确定测试中的任一条件是否为TRUE。
● Not函数:
对其参数的逻辑求反。
第五类:数学统计函数
● Sum函数:
作用:可以将单个值、单元格引用或是区域相加,或者将三者的组合相加。
语法:SUM(number1,[number2],…)
● Sumif函数:
作用:对符合条件的值求和,例如,对B2~B25单元格大于5的值求和,可以使用公式=SUMIF(B2:B25,">5")
语法:SUMIF(range, criteria,[sum_range]),range为需要计算的区域,字符数不能超过255个;criteria求和的条件,可以使用通配符?和*;sun_range为可选条件,指定实际求和的区域。
视频:微软SUMIF函数培训课程
● Sumifs函数:
作用:用于计算其满足多个条件的全部参数的总量。
语法:SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], …) ,sum_range要求和的区域,criteria_range1为条件区域1,criteria1为对区域1进行条件限定的条件1,之后的参数以此类推。
● Sumproduct函数:
作用:在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。
语法:SUMPRODUCT(array1, [array2], [array3], …),array1 / array2…为对其相应元素进行相乘并求和的几组数组参数,数组参数需要具有相同的维数,非数值型数组元素将作为0处理。
● Count函数:
作用:计算包含数字的单元格个数以及参数列表中数字的个数。
语法:COUNT(value1, [value2], …),value1为要计算数字个数的第一项、单元格应用或区域,value2可选参数,作用同value1。
说明:参数为数字、日期、代表数字的文本(如“1”)、逻辑值和直接键入参数列表中的数字将被计算在内。
● Countif函数:
作用:用于统计满足某个条件的单元格的数量
语法:COUNTIF(range,criteria),类似SUMIF初级使用方法
● Countifs函数:
作用:将条件应用于跨多个区域的单元格,然后统计满足所有条件的次数。
语法:COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2],…),criteria_range1为条件区域1,criteria1为对criteria_range1指定的限定条件1,其他以此类推。
● Counta函数:
作用:计算不为空的单元格的个数。
语法:COUNTA(value1, [value2], …),value1表示要计数区域,value2可选参数,作用同value1。
● Countblank函数:
COUNTBLANK(range)计算选中区域的空单元格个数。
● Max / Min函数:
MAX(number1, [number2], …),MIN(number1, [number2], …)计算选中区域的最大值和最小值。
● Rank函数:
作用:返回一列数字的数字排位, 数字的排位是其相对于列表中其他值的大小。
语法:RANK(number,ref,[order]),number需要排位的数字;ref数字排列的数组;order可选参数,=0或省略降序排列,=不为零升序排列。
● Rand函数:
作用:返回大于等于 0 且小于 1 的均匀分布随机实数,每次计算工作表时都将返回一个新的随机实数。
语法:RAND(),如要产生a与b之间的随机实数,可用公式RAND()*(b-a)+a
● Randbetween函数:
作用:返回位于两个指定数之间的一个随机整数。 每次计算工作表时都将返回一个新的随机整数。
语法:RANDBETWEEN(bottom, top),bottom将返回的最小整数,top将返回的最大整数。比如RANDBETWEEN(1,100)=RAND()*99+1将返回1-100之间的随机数。
● Average函数:
作用:返回参数的平均值(算术平均值)。
语法:AVERAGE(number1, [number2], …),number1为求平均值的区域,number2为可选参数,作用等同number1。
● Subtotal函数:
作用:返回列表或数据库中的分类汇总。
语法:SUBTOTAL(function_num,ref1,[ref2],…),function_num为数字1-11或101-111,用于指定要为分类汇总使用的函数。如果使用1-11,将包括手动隐藏的行;如果使用101-111,则排除手动隐藏的行;始终排除已筛选掉的单元格。
第六类:日期时间函数
● Datedif函数:
作用:计算两个日期间隔的年数、月数、天数,常用于计算年龄的公式中。
语法:DATEDIF(start_date,end_date,unit),start_date表示起始日期,end_date表示结束日期。日期值的输入方式有多种:带引号的文本字符串(例如:“2001/1/30”)、***(例如 36921,在商用 1900 日期系统时表示 2001 年 1 月 30 日)或其他公式或函数的结果(例如 DATEVALUE(“2001/1/30”))。
说明:日期存储为可用于计算的***。默认情况下,1899 年 12 月 31 日的***是 1,而 2008 年 1 月 1 日的***是 39448,这是因为它距 1900 年 1 月 1 日有 39448 天。
● Networkdays函数:
NETWORKDAYS(start_date, end_date, [holidays])返回两个日期之间的工作日个数。
● Now函数:
作用:返回当前的日期和时间,每次打开工作表时间会更新。
语法:NOW(),无参数。
说明:1.Excel 可将日期存储为***,以便可以在计算中使用它们。 默认情况下,1900 年 1 月 1 日的***为 1,2008 年 1 月 1 日的***为 39,448,这是因为它距 1900 年 1 月 1 日有 39,447 天。2.***中小数点右边的数字表示时间,左边的数字表示日期。 例如,*** 0.5 表示时间为中午 12:00。3.NOW 函数的结果仅在计算工作表或运行含有该函数的宏时才改变。
● Today函数:
作用:返回当前日期,在打开工作簿自动更新日期,常用于计算年龄等。
语法:TODAY(),无参数。
● Weekday函数:
作用:返回对应日期为一周中第几天
语法:WEEKDAY(serial_number,[return_type]),Serial_number 一个***,代表尝试查找的那一天的日期。 应使用 DATE 函数输入日期,或者将日期作为其他公式或函数的结果输入。 例如,使用函数 DATE(2008,5,23) 输入 2008 年 5 月 23 日。Return_type可选参数,用于确定返回值类型的数字。
● Weeknum函数:
作用:返回日期的周数
语法:WEEKNUM(serial_number,[return_type]),Serial_number 必需。 代表一周中的日期。 应使用 DATE 函数输入日期,或者将日期作为其他公式或函数的结果输入。 例如,使用函数 DATE(2008,5,23) 输入 2008 年 5 月 23 日。Return_type可选参数,确定星期从哪一天开始,默认值为 1。
● Date函数:
作用:将三个独立的值合并为一个日期
语法:DATE(year,month,day),year年,month月,day天
● Year / Month / Day函数:
参数为日期,分别可以得到年月日信息。
● Hour / Minute / Second函数:
参数为时间,分别可以得到小时、分钟、秒。
● Time函数:
将三个独立的值合并为一个时间,功能类似DATE函数。
第七类:格式显示函数
● Text函数:
作用:将数字按指定方式显示,常和其他函数配合使用,例如合并文本数值,需要数值以特定的格式显示,这时候可以使用TEXT函数。
语法:TEXT(Value you want to format, “Format code you want to apply”)
● Upper / Lower函数:
UPPER(text)、LOWER(text)可以分别将text以大写和小写字母的形式输出。
● Proper函数:
将文本字符串的首字母转换成大写,将其余字母转换为小写。
● Roud函数:
作用:将数字四舍五入到指定的位数。
语法:ROUND(number, num_digits),number要四舍五入的数字,num_digits需要四舍五入运算的位数,>0四舍五入到指定的小数位数,=0四舍五入到最接近的整数,<0四舍五入到小数点左边相应位数。
● Roudup函数:
RANDUP语法同RAND,只是采用的使用将数字向上舍入而非四舍五入。
● Rouddown函数:
RANDDOWN语法同RAND,只是采用的是将数字向下舍去而非四舍五入。
● Rept函数:
作用:将文本重复指定次数,一般用于在单元格填充文本字符串。
语法:REPT(text, number_times),text需要重复显示的文本,number_times需要重复的次数。
● Fixed函数:
作用:将数字舍入到指定的小数位数,使用句点和逗号,以十进制数格式对该数进行格式设置,并以文本形式返回结果。
语法:FIXED(number, [decimals], [no_commas]),number要进行四舍五入并转换为本文的数字,decimals(可选)小数点右边的位数,no_commas(可选)逻辑值,如果为TRUE则会禁止FIXED返回的文本包含逗号。
如果 decimals 为负数,则 number 从小数点往左按相应位数四舍五入。
如果省略 decimals,则假设其值为 2。