作者:Old iron 下面是我在平时中经常用到的16个函数,可能有一些大家经常用到的我没提到,也可能有一些写的不周全的地方或者错误的地方,希望与大家一起多多学习哈~ 函数定义:从一个文本字符串的指定位置开始,截取指定数目的字符
使用格式:MID(text, start_num, num_chars) 
函数定义:将多个字符文本或单元格中的数据连接在一起,显示在一个单元格中
使用格式:CONCATENATE(text1,text2,……) 重点:也可以用&(和号)运算符代替函数CONCATENATE实现文本项的合并
使用格式:AND(logical1,logical2,……logical30) 如果指定的区域中不包含逻辑值或数值时,函数AND返回错误值#VALUE!. Logical1,logical2,……logical30表示待检测的1到30个条件值,各条件值可为TRUE或FALSE
使用格式: IF(logical_test,value_if_true,value_if_false) 白话:IF(条件,与条件一样时运算这个,与条件不同时运算这个) 
常规用法 
嵌套使用
'=IF(C13>=$H$10,$I$10,IF(C13>=$H$9,$I$9,IF(C13>=$H$8,$I$8,IF(C13>=$H$7,$I$7,IF(C13>=$H$6,$I$6,IF(C13>=$H$5,$I$5,0)))))) DATEDIF(start_date,end_date,'y') =DATEDIF(start_date,end_date,'m') =DATEDIF(start_date,end_date,'d') =DATEDIF(start_date,end_date,'ym') =DATEDIF(start_date,end_date,'yd') =DATEDIF(date1,date2,'md')
白话:DATEDIF(开始日期,结束日期,要计算的单位) y:计算满年数,返回值为0以上的整数 m:计算满月数,返回值为0以上的整数;d:计算满日数,返回值为0以上的整数 ym:计算不满一年的月数,返回值为1~11之间的整数 yd计算不满一年的天数,返回值为0~365之间的整数 md:计算不满意一个月的天数,返回值为0~30之间的整数

函数定义:计算满足条件的单元格计数
使用格式:COUNTIF(range,criteria) 白话:COUNTIF(要找的内容所在的区域,要找的内容) 指定的条件必须用 ' ' (双引号括起来),如 '>=100、'男' 等.但,当指定条件为引用单元格时无需双引号括住.通配符使用参看SUMIF函数中的通配符说明
求包含值139的单元格数量 '=COUNTIF($D$4:$D$14,139) 求包含负值的单元格数量 '=COUNTIF($C$4:$C$14,'<0') 求不等于0 的单元格数量 '=COUNTIF($C$4:$C$14,'<>0') 求大于等于5的单元格数量 '=COUNTIF($C$4:$C$14,'>=5') 求等于单元格B45中内容的单元格数量 '=COUNTIF($B$4:$B$14,B4) 求大于单元格E45中内容的单元格数量 '=COUNTIF($E$4:$E$14,'>'&E4) 求包含文本内容的单元格数量 '=COUNTIF($B$4:$B$14,'*') 求包含六个字符内容的单元格数量 '=COUNTIF($B$4:$B$14,'??????') 求在文本中任何位置包含单词'文胸'字符内容的单元格数量 '=COUNTIF($B$4:$B$14,'*文胸*') 求包含以英文'D'(不分大小写)开头内容的单元格数量 '=COUNTIF($B$4:$B$14,'D*') 求包含当前日期的单元格数量 '=COUNTIF($E$4:$E$14,TODAY()) 求大于平均值的单元格数量 '=COUNTIF($D$4:$D$14,'>'&AVERAGE($D$5:$D$14))

与IF连用的几种查找方式 公式:'{=SUM(1/COUNTIF(D5:D14,D5:D14))} 这里其实输入的是=SUM(1/COUNTIF(D5:D14,D5:D14)),然后按ctrl+shift+enter三键结束。 下面公式加了IF判断是否是空格的嵌套,避免出现#DIV/0!错误. '{{=SUM(IF(D5:D14<>'',1/COUNTIF(D5:D14,D5:D14)))}} =SUM(IF(ISBLANK(D5:D14),'',1/COUNTIF(D5:D14,D5:D14))),然后按ctrl+shift+enter三键结束。 使用格式:SUMIF(range,criteria,sum_range) =SUMIF($B$4:$B$14,'文胸*',$C$4:$C$14) 注意:如果是“文胸~*”,则此时的“*”就是字符,不是通配符,需要准确查找文本为“文胸*”的销量合计
=SUMIF($B$4:$B$4,'文胸???',$C$4:$C$4) 注意:如果是“文胸~???”,则此时的“?”就是字符,不是通配符,需要准确查找文本为“文胸???”的销量合计
=SUMIF($C$4:$C$14,'>=5',$C$4:$C$14) =SUMIF($B$4:$B$14,C20,$C$4:$C$14) 使用格式:DCOUNT(database,field,criteria) Field: 指定函数所使用的数据列.列表中的数据列必须在第一行具有标志项.Field可以是文本,即两端带引号的标志项,如'使用年数'或'产量';此外,Field也可以是代表列表中数据列位置的数字:1表示第一列,2表示第二列,等等.
参数field为可选项,如果省略,函数DCOUNT返回数据库中满足条件criteria的所有记录数
这里的结果是2,返回的是10月8日和10月10日的值。 参数field为可选项,如果省略,函数DCOUNT返回数据库中满足条件criteria的所有记录数 这里的结果是3,返回的是10月8日,10月10日和10月15日的值。 函数定义:查看是否为错误,查看是否值为任意错误值(#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?或#NULL!).
使用格式: VLOOKUP(lookup_value,table_array,col_index_num,range_lookup) Col_index: 为table_array中待返回的匹配值的列序号. Col_index_num为1时,返回table_array第一列中的数值;col_index_num为2,返回table_array第二列中的数值,以此类推.如果col_index_num小于1,函数VLOOKUP返回错误值值#VALUE!;如果col_index_num大于table_array的列数, 函数VLOOKUP返回错误值#REF!
Range_lookup:为一逻辑值,指明函数VLOOKUP返回时是精确匹配还是近似匹配.如果为TRUE或省略,则返回近似匹配值.也就是说.如果找不到精确匹配值,则返回小于lookup_value的最大数值;如果range_value为FALSE,函数VLOOKUP将返回精确匹配值.如果找不到,则返回错误值#N/A
如果range_lookup为TRUE,则table_array的第一列中的数值必须按升序排列:…、 -2、-1、0、1、2、…、-Z、FALSE、TRUE;否则,函数VLOOKUP不能返回正确的数值.如果range_lookup为FALSE,table_array不必进行排序 Table_array的第一列中的数值可以为文本、数字或逻辑值 文本不区分大小写 如果函数VLOOKUP找不到lookup_value,且range_lookup为TRUE,则使用小于等于lookup_value的最大值 如果lookup_value小于table_array第一列中的最小数值,函数VLOOKUP返回错误值#N/A 如果函数VLOOKUP找不到lookup_value且range_lookup为FALSE,函数VLOOKUP返回错误值#N/A 若有多个符合条件的情况:vlookup返回的是第一个满足条件的值,lookup返回的是最后一个满足条件的值
公式:=VLOOKUP(H5,B5:D13,3,0) 精确查找是vlookup最基本也是最常用的功能,对于数据量大的查找,其速度比菜单中的查找还快.设置vlookup第四个参数为false或0,即为精确查找。 函数定义:统计文本字符串中字符数目(计算文本的长度)
参数定义:是要查找其长度的文本.空格将作为字符进行计数. 使用格式:SEARCH(find_text,within_text,start_num) Find_text:是要查找的文本.可以在find_text中使用通配符,包括问号(?)和星号(*).问号可匹配任意的单个字符,星号可匹配任意一串字符.如果要查找真正的问号或星号,请在该字符前键入波形符(~). Within_text:是要在其中查找find_text的文本. Start_num:是within_text中开始查找的字符的编号.
要点:使用start_num可跳过指定数目的字符.例如,假定使用文本字符 AYF0093.YoungMensApparel, 如果要查找文本字符串中说明部分的第一个Y的编号,则可将start_num设置为8,这样就不会查找文本的序列号部分.SEARCH将从第8个字符开始查找,而在下一个字符处即可找到find_text,于是返回编号9.SEARCH总是从within_text的起始处返回字符编号,如果start_num大于1,也会对跳过的字符进行计数 SEARCH和SEARCHB在查找文本时不区分大小写 SEARCH和SEARCHB类似于FIND和FINDB,但FIND和FINDB区分大小写 如果没有找到find_text,则返回错误值#VALUE! 如果忽略start_num,则假定其为1 如果start_num不大于0(零)或大于within_text,则返回错误值#VALUE!
使用格式:FREQUENCY(data_array,bins_array) Data_array:为一数组或对一组数值的引用,用来计算频率.如果data_array中不包含任何数值,函数FREQUENCY返回零数组. Bins_array:为间隔的数组或对间隔的引用,该间隔用于对data_array中的数值进行分组.如果bins_array中不包含任何数值,函数FREQUENCY返回data_array中元素的个数.
公式:{=FREQUENCY($C$19:$C$30,$E$19:$E$23)} 使用格式:INDEX(array,row_num,column_num) Array: 为单元格区域或数组常量.如果数组只包含一行或一列,则相对应的参数row_num或column_num为可选.如果数组有多行和多列,但只使用row_num或column_num,函数INDEX返回数组中的整行或整列,且返回值也为数组. Row_num: 数组中某行的行序号,函数从该行返回数值.如果省略row_num,则必须有column_num. Column_num: 数组中某列的列序号,函数从该列返回数值.如果省略column_num,则必须有row_num.
INDEX函数有两种语法形式:数组和引用.数组形式通常返回数值或数值数组,引用形式通常返回引用.当函数INDEX的第一个参数为数组常数时,使用数组形式. 此处的行序号参数(row_num)和列序号参数(column_num)是相对于所引用的单元格区域而言的,不是Excel工作表中的行或列序号.
如果将row_num或column_num设置为0,函数INDEX则分别返回整个列或行的数组数值.若要使用以数组形式返回的值,请将INDEX函数以数组公式形式输入,对于行以水平单元格区域的形式输入,对于列以垂直单元格区域的形式输入.若要输入数组公式,请按Ctrl+Shift+Enter
函数定义:(单元格引用方式)返回行和列交差位置的单元格引用 使用格式: INDEX(reference,row_num,column_num,area_num) Reference:对一个或多个单元格区域的引用,如果为引用输入一个不连续的区域,必须用括号括起来.如果引用中的每个区域只包含一行或一列,则相应的参数row_num或column_num分别为可选项.例如,对于单行的引用,可以使用函数INDEX(reference,,column_num). Row_num:引用中某行的行序号,函数从该行返回一个引用. Column_num:引用中某列的列序号,函数从该列返回一个引用. Area_num:选择引用中的一个区域,并返回该区域中row_num和column_num的交叉区域.选中或输入的第一个区域序号为1,第二个为2,以此类推.如果省略area_num,函数INDEX使用区域1.
在通过reference和area_num选择了特定的区域后,row_num和column_num将进一步选择指定的单元格:row_num1为区域的首行,column_num1为首列,以此类推.函数INDEX返回的引用即为row_num和column_num的交叉区域
函数INDEX的结果为一个引用,且在其他公式中也被解释为引用.根据公式的需要,函数INDEX的返回值可以作为引用或是数值.例如,公式CELL('width',INDEX(A1:B2,1,2))等价于公式CELL('width',B1).CELL函数将函数INDEX的返回值作为单元格引用.而在另一方面,公式2*INDEX(A1:B2,1,2)将函数INDEX的返回值解释为B1单元格中的数字
公式:=INDEX((B4:D12,G4:H5),2,2,2) 引用形式: MATCH(lookup_value,lookup_array,match_type)
Lookup_value:为需要在数据表中查找的数值.为需要在Look_array中查找的数值.可以为数值(数字、文本或逻辑值)或对数字、文本或逻辑值的单元格引用. Lookup_array:可能包含所要查找的数值的连续单元格区域.Lookup_array应为数组或数组引用. Match_type:为数字-1、0或1.Match-type指明MicrosoftExcel如何在lookup_array中查找lookup_value.
要点:函数MATCH返回lookup_array中目标值的位置,而不是数值本身。例如,MATCH('b',{'a','b','c'},0)返回2,即“b”在数组{'a','b','c'}中的相应位置 使用格式:OFFSET(reference,rows,cols,height,width) 如果行数和列数偏移量超出工作表边缘,函数OFFSET返回错误值#REF! 如果省略height或width,则假设其高度或宽度与reference相同 函数OFFSET实际上并不移动任何单元格或更改选定区域,它只是返回一个引用.函数OFFSET可用于任何需要将引用作为参数的函数.例如,公式SUM(OFFSET(C2,1,2,3,1))将计算比单元格C2靠下1行并靠右2列的3行1列的区域的总值
本文为转载分享,若侵权请联系后台删除 评论区留言分享即可获得爱数据精选Excel学习大礼包,超全Excel常用模板+快捷键+函数,人手一份,速速来领哦~
|