Excel常用公式与函数总结(Excel 2010)

2023-11-01

基本说明:

    在Excel中输入函数时是不区分大小写的,无论是大写还是小写,结束函数编辑时,Excel会自动转化为大写。对于函数中的参数,当参数是文本时,要用双引号引起来,单纯的数字不需要加双引号,除非这个数字是文本性数字;如果数字前面有比较运算符,也要加双引号。此外,在编辑公式与函数时,函数中的标点符号都是英文状态下的标点符号。

    示例:IF(A2>100,1000,"无奖金")、 COUNTIF(B:B,">10")。

    在Excel中输入公式与函数时,若函数只有一对括号可以不用输入右括号,若函数有多对括号,则要输入所有的括号。

    1)逻辑函数

在逻辑判断中,0表示FALSE,所有非零数值表示TRUE。

# IF函数:

IF(logical_test,[value_if_true],[value_if_false]),IF函数执行真假值判断,并根据逻辑测试值返回不同的结果:如果逻辑测试值的结果为TRUE,IF函数将返回第二个参数值,如果逻辑测试值的结果为FALSE,IF函数将返回第三个参数值。

##// 注意IF函数的嵌套使用:

如 IF(F2>=4,5000,IF(F2>=2,3000,0))或者是IF(F2<2,0,IF(F2<4,3000,5000)),前者与后者是等价的。

补充说明:在Excel 2010中,IF函数最多可以嵌套64层。

 

# AND()函数:

AND(logical1,logical2,...),它的功能是判断多个条件是否同时成立:当所有参数的计算结果都为TRUE时,AND函数返回TRUE;当所有参数的计算结果中只要有一个为FALSE,则AND函数返回FALSE。

示例:IF(AND(F2>=4,E2="A类"),5000,0)

 

# OR()函数:

OR(logical1,logical2,...),它的功能是判断多个条件中是否至少有一个成立:在其参数组中,任何一个参数逻辑值为TRUE,则OR函数返回TRUE;当所有参数的逻辑值都为FALSE时,OR函数才返回FALSE。

示例:IF(OR(F2>=4,D2>=10),5000,0)

##// AND与OR函数的嵌套使用示例:IF(OR(F2>4,AND(E2="A类",D2>=10)),5000,0)

 

# NOT()函数:

NOT(logical),它是对逻辑值求反:如果输入参数的逻辑值为FALSE,NOT函数返回TRUE;如果输入参数的逻辑值为TRUE,NOT函数返回FALSE。

补充说明:AND、OR、NOT这三个函数很少单独使用,一般都是与其它函数嵌套使用。

 

# IFERROR()函数:

IFERROR(value,value_if_error):它的功能是根据传入的参数是否是错误值返回指定的值。参数列表中,第一个参数表示传入的待判断的值(如果第一个参数value表示的值不是错误值时,IFERROR()函数就返回value),第二个参数表示当第一个参数表示的值为错误值时,IFERROE()函数应返回的结果。

 

    2)查找函数

# VLOOKUP函数:

VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup]),它的功能是在区域或数组的第一列查找相应的数据,返回与指定值(查找区域第一列中与要查找的值匹配的值)同行的该区域或数组中相应列的值。参数列表中,第一个参数表示要查找的值,第二个参数表示要查找的区域,第三个参数是返回的值所在区域的列号,第四个参数是查找的类型。

示例:VLOOKUP(B2,$E$2:$F$13,2,1)

补充说明1:查找的区域要采用绝对引用(避免查找结果出错),或者是为要查找的数据区域命一个名,然后将要查找的区域换成它的名称(自定义名称默认是绝对引用);使用VLOOKUP函数查询的时候只能在查询区域的第一列进行查询,也就是说只能用查找区域第一列中的数据与要查找的值进行匹配,从而查找出与要查找的值相对应的值。查找的类型分为模糊查找和精确查找,TRIUE/1表示模糊查找,FALSE/0表示精确查找,对于模糊查找,查找区域的第一列一定要是按升序排列的(避免查询结果出差),对于精确查找,查询区域的第一列可以是无序的。

补充说明2:当要查找的值或者查询区域为数值型数据类型时,一般采用模糊查找;当要查找的值或者查询区域是姓名、证件号、编号等文本型数据时,一般采用精确查找。

 

# HLOOKUP()函数:

HLOOKUP(lookup_value,table_array,row_index_num,[range_lookup])

它的函数结构于VLOOKUP()函数完全一样的,只不过是把VLOOKUP()函数中的列换成行。

示例:HLOOKUP(B2,$H$2:$S$3,2,1)

##// VLOOKUP()函数和HLOOKUP()函数的比较:VLOOKUP中的V是Vertical首字母,意为垂直的,VLOOKUP函数可以理解为按列查找;HLOOKUP中的H是Horizontal的首字母,意为水平的,HLOOKUP函数可以理解为按行查找。

##// 注意VLOOKUP()函数的嵌套使用。

 

# Match()函数:

Match(lookup_value,lookup_array,[match_type]):它的功能是在查找区域中搜索指定项,并返回该项在查找区域中的位置,这个位置可以是查找区域的行号也可以是列号。参数列表中,第一个参数表示要查找的值,第二个参数表示查找的区域,第三个参数表示查找的类型。

补充说明:查找的区域一般采用绝对引用,而且查找的区域只能是一行或者是一列,不能选择多行或多列;查找的类型有三种:1或者省略表示模糊查找,查找小于或等于lookup_value的最大值,如果找不到要查找的值,就返回小于查找值的最大值的位置,这种情况的前提是查找的区域是按照升序排列的;0表示精确查找,此时查找的与区域可以是无序的;-1也表示模糊查找,查找大于或等于lookup_value的最小值,如果找不到要查找的值,就返回大于查找值的最小值的位置,这种情况的前提是查找的区域是按照降序排列的。

 

# INDEX()函数:

INDEX(array,row_num,[column_num]):它的的功能是根据输入参数返回指定位置(包括要查找的值所在区域的行号、要查找的值所在区域的列号)的值。参数列表中,第一个参数表示要查找的区域,第二个参数表示要查找值所在区域的行号,第三个参数表示要查找的值所在区域的列号。

补充说明1:函数INDEX(array,row_num,[column_num])中当参数array所表示的数据区域只有一列时,第三个参数的值只能是0或1或省略,而且这三个值对函数最后的返回结果没有影响。

补充说明2:当INDEX()函数MATCH()函数的嵌套使用时,如果要利用单元格的自动填充功能,需要把INDEX()函数和MATCH()函数的查找区域都设置为绝对引用。

补充说明3:INDEX()函数还有另外一种用法,形如INDEX(reference,row_num,[column_num],[area_num]),它与INDEX(array,row_num,[column_num])的功能相同,只不过传入的数据区域变成非连续的数据区域。参数列表中,第一个参数表示传入的非连续数据区域,第二个参数表示要查找的值在指定数据区域内的行号,第三个参数表示要查找的值在指定数据区域内的列号,第四个参数表示要查找的值在第几个数据区域。其中reference参数所表示的非连续数据区域整体要用括号括起来,非连续数据内每个单独的区域之间要用","隔开。

示例:非连续数据区域可以如下图所示

则函数INDEX((B2:E3,B5:E7,B9:E12),2,1,3)表示要查找的值位于第三个数据区域中的第二行第一列,因此函数的返回结果是"Toyota"。

 

# LOOKUP()函数:它的功能是根据输入参数返回要查找的指定值。

向量形式:形如LOOKUP(lookup_value,lookup_vector,result_result),参数列表中,第一个参数表示要查找的值,第二个参数表示查找区域,而且查找区域必须为单行或单列数据,第三个参数表示返回的结果所在的区域,这个区域也必须是单行或单列的数据。

补充说明:使用向量形式的LOOKUP()函数进行查找的时候,查找区域的数据必须是按照升序排列的。

数组形式:形如LOOKUP(lookup_value,array),参数列表中,第一个参数表示要查找的值,第二个参数表示查找的区域,查找区域为多行多列数据也就是数组形式的区域。LOOKUP()的数组形式可以理解为在查找区域的首列进行查找,返回查找区域的最后一列中的相应值,这种情况的前提是查找区域的行数要大于列数。如果查找区域的列数大于行数,则查找的规则就变成在第一行查找,返回最后一行中的相应值。

补充说明:使用数组形式的LOOKUP()函数进行查找的时候,查找区域第一列的数据必须是按照升序排列的。

 

# CHOOSE()函数:

CHOOSE(index_num,value1,[value2],[value3],...):它的功能是根据序号从数值参数列表中选择对应的内容。参数列表中,第一个参数就表示序号,第一个参数后面的所有参数组成一个数值参数列表。

示例:把带有月份的日期转换呈相应的季度:CHOOSE(MONTH(A2),1,1,1,2,2,2,3,3,3,4,4,4)。

 

    3)统计函数

# count系列函数:

count(range):它的功能是统计输入参数所表示的区域中包含的数值性数字的个数;

counta():它的功能是统计输入参数所表示的区域中包含的非空值单元格的个数;

countblank():它的功能是统计输入参数所表示的区域中包含的空白单元格的个数。

补充说明:这三个函数很少单独使用,一般都是与其它函数嵌套使用。

 

# 条件系列函数:

条件计数函数countif(range,creteria):它的功能是根据判断条件统计条件区域内指定值的个数。参数列表中,第一个参数表示条件计数的区域,第二个参数表示判断的条件。

多条件计数函数countifs(criteria_range1,criteria1,criteria_range2,criteria2,...)函数:它的功能是统计满足多个条件的相应记录的个数。参数列表中,第一个和第二个参数分别是条件区域1和判断条件1,第三个和第四个参数分别是条件区域2和判断条件2,以此类推······

条件求和函数sumif(range,criteria,[sum_range]):它的功能是根据判断条件与条件区域的匹配关系求取求和区域中相应值的和。参数列表中,第一个参数是条件区域,第二个参数是判断条件,第三个参数是求和区域。

补充说明:使用sumif()函数时要注意单元格地址的绝对引用与相对引用问题。

条件求平均值函数averageif(range,criteria,[average_range]):它的函数结构与sumif()函数一样,只不过其功能由条件求和变成了条件求平均值。

多条件求和函数sumifs(sum_range,criteria_range1,criteria1,criteria_range2,criteria2,...):它的功能是根据多个判断条件与条件区域的匹配关系求取求和区域中相应值的和。参数列表中,第一个参数表示求和区域,第二个和第三个参数分别表示条件区域1和判断条件1,第四个和第五个参数分别表示条件区域2和条件2,以此类推……

补充说明:使用sumifs()函数时要注意单元格地址的绝对引用与相对引用问题。

多条件求平均值函数averageifs(average_range,criteria_range1,criteria1,criteria_range2,criteria2,...):它的函数结构与sumifs()函数一样,只不过其功能由多条件求和变成了多条件求平均值。

 

# MEDIAN()函数:它的功能是求取一组数据中的中位数。当数据的个数是偶数个时,MEDIAN()函数求的中位数是该组数据中间两个数的平均值。求取中位数时,数据区域要按照升序或者降序排列好。

 

# MODE()函数:它的功能是求取一组数据中的众数。

 

# 排位系列函数:

RANK(number,ref,[order])函数:它的功能是返回指定值在指定数据区域内的排位。参数列表中,第一个参数表示待排位的数字,第二个参数表示排位的数字区域,第三个参数表示排位的类型(0或者省略表示按照降序排位,1表示按照升序排位)。

RANK.EQ(number,ref,[order])函数:与RANK(number,ref,[order])函数完全相同。

RANK.AVG(number,ref,[order])函数:返回结果与前面两个函数稍微有些不同(具体可以通过实际操作观察)。

 

# LARGE(array,k)函数:它的功能是返回一组数据中第k大的值。参数列表中第一个参数表示数据区域,第二个参数表示要求的数据区域中第几大的值。

 

# SMALL(array,k)函数:它的函数结构与LARGE(array,k)函数相同,只不过是其功能由求一组数据中低级大的值变成了求一组数据中第几小的值。

 

    4)引用函数

# OFFSET()函数:

OFFSET(reference,rows,cols,[height],[width]):它的功能是根据给定的偏移量返回新的引用区域。参数列表中,第一个参数是参照点,第二个参数是行偏移量,第三个参数是列偏移量,第四个参数是可选参数(可选参数是被方括号"[]"括起来的),表示返回的引用区域的行数,第五个参数也是可选参数,表示返回的引用区域的列数。

补充说明:参数列表中的数值性参数也可以是负数,负数表示朝相反的方向引用。

 

# INDIRECT()函数:

INDIRECT(ref_text,[a1]):它的功能是返回一个由文本字符串指定的引用。参数列表中,第一个参数表示引用的文本,第二个参数为可选参数表示引用的类型(实际工作中一般第二个参数都省略)。

补充说明:在一个工作簿内部跨工作表引用另外一张表中某个单元格的方式是,在单元格内输入

="被引用工作表的名称!被引用单元格的地址"即可。

示例:如在同一个工作簿的汇总表中引用2009年度这张工作表里面的B8单元格,可以在指定位置的单元格里面输入="2009年度!B8"。

 

# ROW()系列函数:

ROW()函数里面可以有参数也可以无参数,没有参数就返回公式所在单元格的行号,有参数时,如果输入参数是某个单元格的引用,则ROW(reference)返回该引用单元格所在的行号。如果要引用整行,例如引用第一行可以写成ROW(1:1)或者写完ROW( 后点击第一行的行号。

# COLUMN()函数:它的函数结构与ROW()函数完全相同,只不过其功能由返回行号变成返回列号。

# ROWS([array])函数:它的功能是返回输入参数所占有的行数;

# COLUMNS([array])函数:它的功能是返回输入参数所占有的列数。

 

5)数学函数

# ROUND系列函数:

ROUND(number,number_digits):它的功能是返回对传入数值按指定位数进行四舍五入后的值。参数列表中第一个参数是待四舍五入的数字,第二个参数是四舍五入后要保留的小数位数(第二个参数还可以是负数,例如,第二个参数如果是-2的话,ROUND()函数返回的值就是四舍五入到百位的数。如ROUND(234.12,-2)=200。

补充说明:对于Excel单元格中的数值x,点击增加或减少数值小数位数的按钮来改变数值x后的小数位数,这仅仅改变了数值x显示的方式,并没有改变数值x的实际值。

ROUNDUP(number,num_digits):它的功能是对传入的数值按照指定的位数进行向上舍入。参数列表中,第一个参数表示待四舍五入的数,第二个参数表示四舍五入后要保留的小数位数。(第二个参数同样可以是负数,例如,第二个参数如果是-2的话,ROUND()函数返回的值就是四舍五入到百位数)。如ROUNDUP(34.234,2)=34.24。

ROUNDDOWN(number,num_digits):它的函数结构与ROUNDUP()函数完全相同,只不过其功能变成对传入的数值按照指定的位数进行向下舍入。

 

# 取整函数:

INT(number):它的功能是返回对传入数值取整后的值。如果传入的值是整数,则INT()函数进行正常的取整,如果传入的数值是负数,INT()函数则会先取传入数值的绝对值,再对绝对值进行向上取整。如,INT(-11.6)=12。

TRUNC(number,[num_digits]):如果没有给TRUNC()函数传入可选参数num_digits,TRUNC()函数会将传入数值的小数部分截去,并返回相应的值(被截去的小数部分可能会补0);如果给TRUNC()函数传入了可选参数num_digits,TRUNC()函数会按照传入参数num_digits指定的保留位数截去传入数值的小数部分(被截去的小数部分可能会补0)。

示例1:TRUNC(1025.5685)=1025.0000

示例2:TRUNC(1025.5685,2)=1025.5600

补充说明:TRUNC()函数的可选参数num_digits可以是负数。例如TRUNC(234.13,-1)=230.00。

 

# MOD()函数:

MOD(number,divisor):它的功能是返回两数相除后的余数。参数列表中,第一个参数是被除数,第二个参数是除数。

 

# RAND()函数:

RAND():RAND()函数没有参数,它的功能是返回范围在0~1之内的随机数。

 

# RANDBETWEEN()函数:

RANDBETWEEN(bottom,top):它的功能是返回两个指定的数之间的一个随机整数。参数列表中,第一个参数是要返回的最小值(返回结果可以取到),第二个参数是要返回的最大值(返回结果也可以取到)。

补充说明:RANDBETWEEN()函数还可以返回两个指定日期之间的日期

 

# CONVERT()函数:

CONVERT():它的功能是将传入的数值从一个度量系统转换到另一个度量系统。并返回转换后的值。参数列表中,第一个参数是传入的要转换单位数值,第二个参数转换前的某个度量系统里的单位,第二个参数是要转换的目标度量系统里的单位。

 

6)日期时间函数

# 日期与时间本质:在Excel中日期和时间本质上就是数值,只是外观显示成一种日期时间格式的样子。Excel规定1900年1月1日为1,以此类推。日期转换成数值后,它的整数部分表示日期,小数部分表示时间。

# 在单元格中插入当前系统日期的快捷键:<Ctrl+;> ,插入当前时间的快捷键是<Ctrl+Shift+;>

 

# TODAY()函数:

TODAY():这个函数没有参数,其功能是返回当前系统的日期。而且它是一个动态函数,会随着工作表的更新而更新。

# NOW()函数:它的函数结构与TODAY()函数完全一样,只不过其功能是返回当前系统的时间。

 

# 提取日期系列函数:

YEAR(serial_number):它的功能是提取并返回传入的日期参数中的年份。

MONTH(serial_number):它的功能是提取并返回传入的日期参数中的月份。

DAY(serial_number):它的功能是提取并返回传入的日期参数中的日。

补充说明:与提取日期函数相对的是合并日期函数DATE(year,month,day),它可以将位于不同单元格的年、月、日合并到同一单元格中。

 

# 提取时间系列函数:

HOUR(serial_number):它的功能是提取并返回传入的时间参数中的小时。

MINUTE(serial_number):它的功能是提取并返回传入的时间参数中的分钟。

SECOND(serial_number):它的功能是提取并返回传入的时间参数中的秒。

补充说明:与提取时间函数相对的是合并时间函数TIME(hour,minute,second),它可以将位于不同单元格的小时、分钟、秒合并到同一单元格中。

 

# WEEKDAY()函数:

WEEKDAY(serial_number,[return_type]):它的功能是将传入的具体的日期转化为相应的星期几,并返回转换后的值。参数列表中,第一个参数是待判断星期几的日期,第二个参数是可选参数,它返回的值与日期之间关系的类型(例如,第二个参数若为1或者省略,则返回值中1表示星期日,6表示星期天。第二个参数为其它值时的情况,具体可参见使用WEEKDAY()函数时Eexcel给出的参数提示)。

 

# NTETWORKDAYS()函数:

NETWORKDAYS(start_date,end_date,[holidays]):它的功能是计算并返回传入的两个指定日期之间所有的工作日。参数列表中,第一个参数表示开始日期,第二个参数表示结束日期,第三个参数为可选参数,表示要剔除的节假日。

 

# WORKDAY()函数:

WORKDAY(start_date,days,[holidays]):它的功能是计算并返回传入的指定日期向前(此时第二个参数为负数)或者向后(此时,第二个参数为正数)数个工作日后的日期。参数列表中,第一个参数表示开始日期,第二个参数表示工作日(不含星期六和星期天)的天数,第三个参数为可选参数,表示要剔除的节假日。

 

# EOMONTH()函数:

EOMONTH(start_date,months):它的功能是返回传入的指定日期向前(此时第二个参数为负数)或者向后(此时第二个参数为正数)几个月的那个月的最后一天日期。参数列表中,第一个参数表示开始日期,第二个参数表示向前或者向后的月数(例如,如果第二个参数的值为0,则表示函数返回指定日期当月的最后一天的日期)。

示例1:EOMONTH("2018-09-07",0)="2018-09-30"

示例2:EOMONTH("2018-09-07",-1)="2018-08-31"

 

# EDATE()函数:

EDATE(start_date,months):它的功能是返回传入的指定日期向前或者向后几个月的日期。参数列表中,第一个参数表示开始日期,第二个参数表示向前或者向后的月数。

示例:EDATE("2018-09-07",2)="2018-11-07"

 

# DATEDIF()函数:

DATEDIF(start_date,end_date,unit):它的功能是计算并返回传入的两个指定日期的之间的间隔。参数列表中,第一个参数表示开始日期,第二个参数表示结束日期,第三个参数表示两个指定日期之间间隔时间的单位。

补充说明:第三个参数可以分别为:y表示时间间隔以年为单位;m表示时间间隔以月为单位;d表示时间间隔以天为单位;ym表示时间间隔是忽略传入的两个指定日期的年份后它们之间相差的月数;yd表示时间间隔是忽略传入的两个指定日期的年份后它们之间的天数差;md表示时间间隔是忽略传入的两个指定日期的年份和月份后它们之间的天数差。

示例1:DATEDIF("2010-08-06","2013-05-22","y")=2

示例2:DATEDIF("2013-08-06","2013-11-15","m")=3

示例3:DATEDIF("2012-08-15","2013-09-04","d")=385

示例4:DATEDIF("2008-04-05","2013-05-11","ym")=1

示例5:DATEDIF("2012-03-21","2013-03-25","yd")=189

示例6:DATEDIF("2011-12-19","2013-03-25","md")=6

 

7)文本函数

# LEN()函数:

LEN(text):它的功能是返回传入的文本字符串中的字符数。

 

# LENB()函数:

LENB(text):它的功能是返回传入的文本字符串中字符占用的字节数。

 

# FIND()函数:

FIND(find_text,within_text,[start_num]):它的功能是查找指定字符(区分大小写)在指定的查找文本中第一次出现的位置,并返回查找结果。参数列表中,第一个参数表示要查找的字符(字符串),第二个参数表示查找的区域(在那个文本中查找),第三个参数为可选参数表示查找开始的位置(字符串中的位置从1开始计数,当第三个参数省略时,默认从字符串中的位置1开始查找)。

 

# SEARCH()函数:

SEARCH(find_text,within_text,[start_num]):它的函数结构和FIND()函数完全一样,只不过查找时不区分大小写。

 

# MID()函数:

MID(text,start_num,num_chars):它的功能是从传入文本的指定位置,提取并返回指定个数的字符。参数列表中,第一个参数表示要从中提取字符的文本,第二个参数表示要提取字符的开始位置,第三个参数表示要提取字符的个数。

补充说明:FIND()函数可以和MID()函数嵌套使用,用于提取文本中指定的字符。

 

# LEFT()函数:

LEFT(text,[num_chars]):它的功能是从输入文本的左侧提取并返回指定个数的字符。参数列表中,第一个参数表示要提取字符的文本,第二个参数为可选参数,表示要提取的字符个数。

 

# RIGHT()函数:

RIGHT(text,[num_chars]):它的函数结构和LEFT()函数完全一样,只不过是从传入文本的右侧提取字符。

 

# TRIM()函数:

TRIM(text):它的功能是将传入文本前后的空格和中间多余的空格删除,但仍会在文本中间保留一个空格。

补充说明:要想清除文本中的所有空格,我们可以用替换的方法,将文本中的所有空格替换成""。

 

# CLREAN()函数:

CLWEAN(text):它的功能是清除传入的文本中的非打印字符。

 

# CONCATENATE()函数:

CONCATENATE(text1,[text2],...):它的功能时将传入的多个文本合并并返回合并后的结果。

补充说明:一般情况下,要完成相同的连接目标,使用连字符"&"比CONCATENATE()函数要简单。

 

# 处理英文的函数:

PROPER(text):它的功能时将传入文本中每个单词的首字母转换成大写,并返回转换后的结果。

UPPER(text):它的功能是将传入文本中的字母全部转换成大写,并返回转换后的结果。

LOWER(text):它的功能是将传入文本中的字母全部转换成小写,并返回转换后的结果。

 

# 文本替换函数REPLACE()和SUBSTITUTE():

REPLACE(old_text,start_num,num_chars,new_text):它的功能是以字符为单位,根据指定的位置对传入的文本参数进行替换,并返回替换后的结果。参数列表中,第一个参数表示要在其中替换字符的文本,第二个参数表示替换的起始位置,第三个参数表示要替换的字符个数,第四个参数表示要替换成什么样的文本。

示例1:REPLACE("2018-RR-09",5,1,"")="2018RR-09"

示例2:REPLACE("2018-RR-09",5,2,"OO")="2018OOR-09"

示例3:REPLACE("2018-RR-09",5,2,"O")="2018OR-09"

 

SUBSTITUTE(text,old_text,new_text,[instance_num]):它的功能是根据指定的文本对传入的文本参数进行替换,并返回替换后的结果。参数列表中,第一个参数表示要在其中替换字符的文本,第二个参数表示要替换掉的文本,第三个参数表示替换后的新文本,第四个参数为可选参数表示替换第几次出现的文本(第四个参数如果省略,则默认替换text中出现的所有形如old_text的文本)。

示例1:SUBSTITUTE("2018-RR-09","-","",2)="2018-RR09"

示例2:SUBSTITUTE("2018-RR-09","-R","X",1)="2018XR-09"

 

# TEXT()函数:

TEXT(value,format_text):它的功能是将传入的数字转换成按照指定格式显示的文本。参数列表中第一个参数表示要设置格式的数字,第二个参数表示格式设置的代码。

示例:TEXT("4008008020","000-000-0000")=400-800-8020

 

8)信息函数

# ISTEXT()函数:

ISTEXT(value):它的功能是判断传入的参数是否是文本,并返回判断结果。

 

# ISNUMBER()函数:

ISNUMBER(value):它的功能是判断传入的参数是否是数值,并返回判断结果。

 

# ISNONTEXT()函数:

ISNONTEXT(value):它的功能是判断传入的参数是否是非文本(数值和空单元格),并返回判断结果。

 

# ISBLANK()函数:

ISBLANK(value):它的功能是判断传入的参数是否是空单元格,并返回判断结果。

 

# ISERROR()函数:

ISERROR(value):它的功能是判断传入的参数是否是错误值(这个错误值包含Excel中所有可能的错误值),并返回判断结果。

 

# IFERROR()函数:

IFERROR(value,value_if_error):它的功能是判断传入的参数是否是错误值,并根据判断结果返回相应的值。若传入的参数不是错误值,则返回value代表的公式计算的结果,反之返回指定的代表错误值的结果。

 

9)数组公式

数组公式的应用场景:当公式与函数的返回结果有多个值,或者想对公式与函数的返回结果进行多项计算时,这个时候可以选择使用数组公式(用<Ctrl+SHift+enter>键确定输入)。

示例1:{=C3:C15*D3:D15}

它返回的是C3:C15与D3:D15对应单元格里值的乘积(一共有13个积)。因为它的返回结果有多个值,所以应该先选中多个单元格,然后再输入数组公式。

 

示例2:{=SUM(C3:C15*D3:D15)},它返回的是C3:C15与D3:D15对应单元格里值的乘积之和。

补充说明:上述两个示例中的{}并不是手动添加上去的,而是在向单元格中输入公式与函数完成后,按<Ctrl+SHift+enter>键时自动添加的。

 

# FREQUENCY()函数:

FREQUENCY(data_array,bins_array):它的功能是以垂直数组的形式返回传入的数据在指定的范围内出现的频数(可以理解为分组统计)。参数列表中,第一个参数表示传入的要分组统计的数据,第二个参数表示设置的频率分布的区间。

补充说明:注意FREQUENCY()函数返回的结果是多个值,也可以说是一个数组。

示例(图片中左边的数据只是其中的一部分):

 

# TRANSPOSE()函数:

TRANSPOSE(array):它的功能是对传入数组或者数据区域进行行列转置,并返回转置后的结果。TRANSPOSE()函数可以用于一维表和二维表之间的相互转换。

补充说明1:TRANSPOSE()函数是要以数组公式的形式输入的,函数输入完成后要按<Ctrl+SHift+enter>组合键才能得到返回结果。

补充说明2:要向实现转置的目的,除了使用TRANSPOSE()函数外,还可以使用Excel中的选择性粘贴功能。二者的区别是对于TRABSPOSE()函数实现的转置,原表与转换后的表之间的数据是联动(就是说转置后的表中的数据会随着原表中的数据的变动而变动)的;对于使用选择性粘贴功能实现转置,原表与转置后的表之间的数据不存在联动关系。

 

# 将数组公式应用于查找中:

此时应该注意单元格的相对引用与绝对引用问题。

 

注:本文主要参考刘伟的视频教程《Excel 2010公式与函数》。

PS:练习数据地址:https://pan.baidu.com/s/1uiM_D-_6Hq6pGZ7XTiSkeQ

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Excel常用公式与函数总结(Excel 2010) 的相关文章

  • VBA 中的求和函数

    我在 vba 中对单元格求和时遇到问题 我需要使用单元格 a b Range A1 function SUM Range Cells 2 1 Cells 3 2 但它不起作用 函数不是范围内的属性 方法 如果您想对值求和 请使用以下命令 R
  • 查找最后一列并按最后一列排序

    我需要 Excel 来检测我拥有的最后一列并对该列进行排序 我有一个宏 每次使用它时都会生成一个新列 因此我无法使用常量 Sub sortyness Dim sortdata A1 Cells LastRow LastColumn As R
  • 从单元格中具有多种颜色的单元格中提取字体颜色

    我有一个 Excel 工作表 我正在尝试将其存入 MySQL 数据库 我使用 VBA 将数据作为文本写入文件 然后将其上传到数据库 在工作表的单元格中 有一些已用颜色编码的字符串 颜色具有一定的含义 因此当我将值移入数据库时 我想保留它们
  • 将 CSV 导入 Excel - 自动“文本到列”和“插入表格”

    我想在 Excel 2010 上打开 CSV 逗号分隔 文件并自动将文本转换为列 然后选择所有活动单元格并插入带标题的表格 是否可以在我的功能区中添加一个按钮来为我完成这一切 我经常使用不同大小的 CSV 文件 我发现每次手动执行此操作有点
  • VBA 写入文件时对数值进行四舍五入 - 如何防止?

    在下面的代码中 我在确保文件编写器不会将我的数字四舍五入到一定的小数位数时遇到问题 我需要使用变体 因为有时该值是字符串 有时它是数字 我怎样才能强制它准确地写出变量是什么 例如 下面的代码可能显示 0 00038 我想显示确切的值 Dim
  • 使用 Excel 2010 通过存储过程读取/写入 SQL Server 2008 数据库

    我们有一个 SQL Server 2008 数据库 它有存储过程来处理读 写等 这些过程由各种应用程序内部使用 需要一个人直接更新数据库中名为 Employee 的表 更新非常简单 更新 VARCHAR 和 INT 外键 字段 问题是 Sh
  • 在适用于 Windows 和 Mac 的 VBA 中指定用户文件夹的路径

    我正在编写一个使用 VBA 从 Excel 生成文件的工具 生成的文件将写入用户的 Documents 文件夹中的文件夹 如果存在 e g C Users
  • 尝试使用 Excel 中的 VBA 从网页中提取一个值

    我几天来一直在尝试查找信息 但是我找到的所有示例都只有一小段代码 我需要全部 我想要做的是从主页中提取一个值并将其放入 Excel 的单元格中 然后从同一站点上的另一个页面获取另一个值并放入下一个单元格等 该页面是瑞典证券交易所页面 我用作
  • 根据关键列合并多个 Excel 工作簿

    我从不同的客户那里收到七个工作簿 xlsx 文件 每个工作簿都有一张工作表 每张工作表至少有一个公共 ID 列 UNIQ PK 其中一本工作簿包含所有可能的 id 列表 其他人可能没有所有 id 的记录 但每一行都定义了 id 值 我需要制
  • Excel VSTO 加载项可以与 Excel 2007 和 2010 兼容吗?

    是否可以使用 VSTO 开发一个可部署到 Excel 2007 和 2010 的 Excel 加载项 任何有关此主题的详细资源的链接也将不胜感激 我似乎无法在谷歌上找到任何专门解决此问题的内容 我正在使用 Visual Studio 201
  • Excel工作表中的动态减法公式

    我需要在Excel中编写一个动态减法公式 该公式从其上方的单元格中减去 指定列的 单元格 例如 A2 A1 G1 G列固定 and A3 A2 G2 and A4 A3 G3 等等 Excel 足够智能 可以使用动态引用和对当前单元格的相对
  • 如果单元格包含文本,则条件格式化整行

    我有一个 Excel 工作表 我正在尝试使用条件格式 但它似乎没有像我希望的那样工作 似乎任何公式都不起作用 因为我不希望单元格匹配 TBC 而是包含它 简而言之 我正在寻找这个 如果 D2 包含 TBC 则突出显示整行 我已经通过 Goo
  • 从单元格复制时省略引号

    Problem 当从程序外部的 Excel 复制单元格时 会自动添加双引号 Details 我在 Windows 7 计算机上使用 Excel 2007 如果我有一个具有以下公式的单元格 1 CHAR 9 SOME NOTES FOR LI
  • 在 Excel 中打印 MATLAB 图窗并调整其大小

    我在 MATLAB 中有两个带有手柄的图形hFig1 and hFig2 我想将它们打印到 Excel 中的特定单元格 单元格 E3 和 I3 并将它们重新调整为 2 英寸 x 3 英寸 我尝试过使用 AddPictures对象处理程序和使
  • 如何在自定义数据验证中使用用户定义的函数?

    In my Worksheet我有一个Table并想要定义Data validation对于包含日期的列 如下所示 S2M B2 lt gt Error 在上面 S2M 是一个用户定义的函数 用于将日期转换为Persian date to
  • 转置 CopyFromRecordset Excel VBA

    我的 Excel VBA 中有以下代码 可将 SQL 中的表中的数据复制到 Excel 中 该数据从单元格 C2 开始水平插入 但我希望将其垂直插入到 C 列 Sheets Control Range C2 CopyFromRecorset
  • Delphi - 通过 ADO 查询获取 Excel 行

    我有以下 Excel 文件 我将 AdoConnection ConnectionString 设置为 AdoConnection ConnectionString Provider Microsoft Jet OLEDB 4 0 Data
  • 请参阅使用代号的表

    我在此代码中收到 类型不匹配 错误 With Worksheets Sheet1 Error here my code here End With 我的床单CodeName is sheet1 有人可以帮我消除错误吗 1 按索引参阅表 Wi
  • 遍历 Excel 工作表

    这是我的代码 我是 VBA 新手 所以我不确定如何迭代多个页面 这是我的代码 Dim ws As Worksheet Sub spellCheck For Each ws In ActiveWorkbook Worksheets Cells
  • 在 Excel 2016 数据模型中创建计算表

    我在 Excel 2016 数据模型中有多个表 这些表来自其他 Excel 工作表中维护的数据 并通过 Excel 查询导入以填充数据模型 以利用可用的高级数据管理功能 例如 DAX 日期表 关系联接等 但是 我希望能够通过应用过滤器 联合

随机推荐

  • java判断文本字符集

    这是一个sourceforge项目 能够判断指定文本或流的字符集 下面是这个库的简单封装 package me jor util import info monitorenter cpdetector io ByteOrderMarkDet
  • chatgpt赋能python:用Python轻松给手机用户发送短信——优秀的工具在手,无限可能!

    用Python轻松给手机用户发送短信 优秀的工具在手 无限可能 作为一个有10年Python编程经验的工程师 我想分享一下如何用Python给手机用户发送短信 Python是目前非常流行的编程语言之一 它可以轻松地完成很多任务 而给用户发送
  • Unity使用脚本模拟Button按下

    目的 想用脚本来模拟Button的按下动作 button上绑定的有方法 自动调用方法 正常操作是鼠标点击按钮 using UnityEngine using UnityEngine UI using System Collections u
  • 记录js-判断一串数字数组,是否是连续的

    场景 假如有一组数组 如 1 2 3 4 5 6 可以看出这数组是连续的 那么如 1 2 3 5 6 这串数组就不是连续的了 用js写判断方法 实现代码 判断一串数字是否是连续的 function isContinuityNum num l
  • Docker 网络互相访问

    对于docker容器 我们知道它是沙箱隔离的 每一个docker容器都是独立运行的 相当于一个独立的虚拟机 所以他们只能进行网路访问 如果我们使用docker run时启动容器 没有指定网路 net参数 默认使用的bridge的网络类型 查
  • wirshark发包工具源码

    需要下载https link csdn net target https 3A 2F 2Fwww winpcap org 2Finstall 2Fbin 2FWpdPack 4 1 2 zip开源库并且使用 目前只能发送udp的码流 def
  • 主流ETL工具汇总

    一 kettle 说明 是国外开源ETL工具 支持数据库 FTP 文件 rest接口 hdfs hive等平台的灵敏据进行抽取 转换 传输等操作 Java编写跨平台 C S架构 不支持浏览器模式 特点 易用性 有可视化设计器进行可视化操作
  • Go语言实训二:Go语言基础知识

    第1关 Go语言基本数据类型 任务描述 用 Go 语言写一个程序 把 int 类型强制转化为 rune 类型 并验证原生的 rune 类型和转换后的 rune 类型是否具有可比较性 相关知识 介绍 在 Go 语言中 数据类型用于声明函数和变
  • 调参经验

    1 假设一次训练有10个epoch 可能会出现以下情况 训练好一次模型去测试 测试的准确率为0 92 又去训练一次模型 不是在之前训练模型的基础上 而是单独进行一次训练 模型训练好去测试 测试准确率为0 93或者0 89 如果我改变一个模型
  • JAVA字符串格式化-String.format()和MessageFormat的使用

    String format 常规类型的格式化 String类的format 方法用于创建格式化的字符串以及连接多个字符串对象 熟悉C语言的同学 应该记得C语言的sprintf 方法 两者有类似之处 format 方法有两种重载形式 form
  • TCP&UDP

    TCP 面向连接的服务 可靠的进程到进程的通信协议 因为TCP里面封装了端口号 端口号就意味着一个服务 进程 应用场景 如 文件传输 HTTP应用层协议 UDP 无连接服务 不可靠的传输协议 应用场景 广播 早期的QQ 视频传输等 ACK
  • 2023数模国赛C 题 蔬菜类商品的自动定价与补货决策-完整版创新多思路详解(含代码)

    题目简评 看下来C题是三道题目里简单一些的 考察的点比较综合 偏数据分析 涉及预测模型和运筹优化 线性规划 还设了一问开放型问题 适合新手入门 发挥空间大 题目分析与思路 背景 在生鲜商超中 一般蔬菜类商品的保鲜期都比较短 且品相随销售时间
  • Groovy 的SQL模块

    Groovy的SQL模块提供了对JDBC的抽象 让我们使用JDBC更简单 相关类在groovy sql包下 本文参考自Working with a relational database 一些代码引用了官方文档 需要了解详细信息请参见原文
  • [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web applica...

    1 06 Aug 2019 22 01 22 261 信息 localhost startStop 1 org apache catalina startup HostConfig deployDirectory Deploying web
  • TCP/IP网络江湖——数据链路层的协议与传承(数据链路层中篇:数据链路层的协议与帧)

    0 引言 网络江湖 宛如千年武林 承载着代代传承的文化和传统 在这个广袤的江湖之中 数据链路层犹如武林门派 代代传承着网络通信的精华 这一部分将带领我们深入探讨数据链路层的协议与传承 揭示其在网络江湖中的精彩故事 就如同江湖中的武者需要基本
  • java将list转化为string

    可以使用Java中的join 方法将List转化为String 例如 List
  • 颜水成发了个「简单到令人尴尬」的视觉模型,证明Transformer威力源自其整体架构...

    梦晨 发自 凹非寺量子位 报道 公众号 QbitAI Transformer做视觉取得巨大成功 各大变体频频刷榜 其中谁是最强 早期人们认为是其中的注意力机制贡献最大 对注意力模块做了很多改进 后续研究又发现不用注意力换成Spatial M
  • CyclicBarrier 使用详解

    1 CyclicBarrier 是什么 从字面上的意思可以知道 这个类的中文意思是 循环栅栏 大概的意思就是一个可循环利用的屏障 它的作用就是会让所有线程都等待完成后才会继续下一步行动 举个例子 就像生活中我们会约朋友们到某个餐厅一起吃饭
  • ansible自动化运维工具

    ansible自动化运维工具 ansible定义 ansible特点 架构图 ansible安装 ansible配置 ansible主机清单 etc ansible hosts ansible常用模块使用详解 raw command she
  • Excel常用公式与函数总结(Excel 2010)

    基本说明 在Excel中输入函数时是不区分大小写的 无论是大写还是小写 结束函数编辑时 Excel会自动转化为大写 对于函数中的参数 当参数是文本时 要用双引号引起来 单纯的数字不需要加双引号 除非这个数字是文本性数字 如果数字前面有比较运