数学函数 | 文字介绍 | 函数示例 | 结果对比 |
ABS() | 返回数字的绝对值 | ABS(-123) | 123 |
INT() | 向小取整 | INT(1.996) | 1 |
MOD() | 返回两数相除的余数(结果的符号和余数相同) | MOD(10,3) | 1 |
RAND() | [0,1)之间的随机数 | RAND() | 随机小数 |
RANDBETWEEN(1,100) | [a,b]之间的随机整数 | RANDBETWEEN(1,100) | 1-100随机数 |
ROUND() | 将数字四舍五入到指定位数 | ROUND(1.886,2) | 1.89 |
SQRT() | 返回算术平方根 | SQRT(4) | 2 |
SUM() | 将单个值、单元格引用或者区域相加,或者将三者的组合相加 | SUM(1,2) | 3 |
SUMIF() | 对范围中符合指定条件的值求和 | SUMIF(条件范围,条件,求和范围) | |
SUMIFS() | 计算满足多条件的全部参数的值 | SUMIFS(求和范围,条件范围1,条件1,…..) |
统计函数: | E2=ABC | ||
AVERAGE() | 返回其参数的平均值 | AVERAGE(3,4,5,6,E2) | 4.5 |
AVERAGEA() | 返回其参数的平均值,包括数字、文本和逻辑值 | AVERAGEA(3,4,5,6,E2) | 3.6 |
AVERAGEIF() | 返回区域中满足给定条件的所有单元格的平均值 | AVERAGEIF(条件范围,条件,平均值范围) | |
AVERAGEIFS() | 返回满足多个条件的所有单元格的平均值 | AVERAGEIFS(平均值范围,条件范围1,条件1,…..) | |
COUNT() | 计算参数列表中数字的个数 | COUNT(1,2,3,4,E2) | 4 |
COUNTA() | 计算参数列表中值的个数 | COUNTA(1,2,3,4,E2) | 5 |
COUNTIF() | 计算区域内符合给定条件的单元格的数量 | COUNTIF(条件范围,条件) | |
COUNTIFS() | 计算区域内符合多个条件的单元格的数量 | COUNTIFS(条件范围1,条件1,条件范围2,条件2,….) | |
FREQUENCY() | 以垂直数组的形式返回频率分布 | ||
MAX()/MIN() | 返回参数列表中的最大(最小)值 | MAX(1,2,3) | 3 |
RANK() | 返回一列数字的数字排位(数字排位是相对于列表中其他值的大小) | RANK(数字,排名范围) | |
RANK.AVG() | 返回一列数字的数字排位(数字排位是相对于列表中其他值的大小,如果多个值具有相同的排位,则返回平均排位) | RANK.AVG(数字,排名范围) | 相同数值,排名的平均数 |
RANK.EQ() | 返回一列数字的数字排位,其大小与列表中其他值相关,如果多个值具有相同的排位,则返回该组值的最高排位 | RANK.EQ(数字,排名范围) | 相同数值并列排名 |
日期函数: | |||
DATE() | 根据年、月、日三个数值返回其表示的日期 | DATE(2025,5,20) | 2025/5/20 |
DATEVALUE() | 返回由文本字符串表示的日期的十进制数字 | DATEVALUE("2009年5月1日") | 39934.00 |
TIME() | 根据时、分、秒三个数值返回其表示的时间的十进制格式 | TIME(9,50,20) | 9:50:20 |
TIMEVALUE() | 返回由文本字符串表示的时间的十进制数字 | TIMEVALUE("9:50") | 0.4097222 |
DAY() | 返回序列数表示的某月的天数 | DAY(2025/5/20) | 20 |
MONTH() | 返回序列数表示的某年的月份 | MONTH(2025/5/20) | 5 |
YEAR() | 返回序列数表示的年份 | YEAR(2025/5/20) | 2025 |
SECOND() | 返回时间值的秒数 | SECOND(9:20:30) | 30 |
MINUTE() | 返回时间值的分钟数 | MINUTE(9:20:30) | 20 |
HOUR() | 返回时间值的小时数 | HOUR(9:20:30) | 9 |
TODAY() | 返回当前日期 | TODAY() | 2025/3/20 |
NOW() | 返回当前日期和时间 | NOW() | 2025/3/20 20:52:41 |
EDATE() | 返回与某个日期相隔N个月的日期的序列数 | EDATE(2025/5/20,5) | 2025/10/20 |
EOMONTH() | 返回与指定日期相隔N个月份数的月份的最后一天 | EOMONTH(2025/5/20,5) | 2025年10月31日 |
DATEDIF() | 计算两个日期之间的天数、月数、年数 | DATEDIF(1989/4/2,TODAY(),"Y")&"岁"&DATEDIF(1989/4/2,TODAY(),"YM")&"个月" | 35岁11个月 |
DATEDIF | ||||
起始日期 | 结束日期 | 公式 | 参数 | 说明 |
2010/8/1 | 2012/7/30 | =DATEDIF(A15,B15,"Y") | Y | 相差年数 |
2010/8/1 | 2012/3/5 | =DATEDIF(A16,B16,"M") | M | 相差总月数 |
2010/8/1 | 2012/3/7 | =DATEDIF(A17,B17,"D") | D | 相差总天数 |
2010/8/1 | 2012/3/6 | =DATEDIF(A18,B18,"YM") | YM | 一年内相差月数 |
2010/8/1 | 2012/3/8 | =DATEDIF(A19,B19,"YD") | YD | 一年内相差天数 |
2010/8/1 | 2012/3/9 | =DATEDIF(A20,B20,"MD") | MD | 一月内相差天数 |
逻辑函数: | |||
AND() | 用于测试所有条件是否均为TRUE | AND(条件1,条件2,….) | TRUE |
OR() | 用于测试是否有为TRUE的条件 | OR(条件1,条件2,…) | TRUE |
NOT() | 将TRUE或者False的结果取反 | NOT(100<200) | FALSE |
TRUE() | 返回TRUE | ||
FALSE() | 返回FALSE | ||
IF() | 判断单个条件是否为真 | IF(年龄>=18,"成年","未成年") | |
IFS() | 检查是否满足一个或多个条件,且返回第一个符合条件的值 | IFS(分数>=90,"A",分数>=80,"B",分数>=60,"C",分数<60,"D") | |
IFERROR() | 使用 IFERROR 函数捕获和处理公式中的错误,公式计算结果为错误时返回指定的值;否则,它将返回公式的结果。 | IFERROR(10/0,"除数不能为0") | |
SWITCH() | 根据值列表计算一个值,并返回与第一个匹配值对应的结果,如果不匹配,则可能返回可选默认值。 | SWITCH(INT(100/10),10,"A",9,"A",8,"B",7,"C",6,"C","D") |
文本函数: | |
LEFT() | 从文本字符串的第一个字符开始返回指定个数的字符 |
LEFTB() | 基于所指定的字节数返回文本字符串中的第一个或前几个字符 |
RIGHT() | 根据所指定的字符数返回文本字符串中最后一个或多个字符 |
RIGHTB() | 根据所指定的字节数返回文本字符串中最后一个或多个字符 |
MID() | 返回文本字符串中从指定位置开始的特定数目的字符,该数目由用户指定。 |
MIDB() | 根据您指定的字节数,返回文本字符串中从指定位置开始的特定数目的字符。 |
LEN() | 返回文本字符串中的字符个数 |
LENB() | 返回文本字符串中用于代表字符的字节数。 |
FIND() | 用于从一个文本串中定位另一个文本串的起点并返回字符数 |
FINDB() | 用于从一个文本串中定位另一个文本串的起点并返回字节数 |
SEARCH() | 用于从一个文本串中定位另一个文本串的起点并返回字符数 |
SEARCHB() | 用于从一个文本串中定位另一个文本串的起点并返回字节数 |
REPLACE() | 将旧字符串的指定位置(字符下标)指定字符数的字符串替换为新字符串 |
REPLACEB() | 将旧字符串的指定位置(字节下标)指定字节数的字符串替换为新字符串 |
LOWER() | 将一个文本字符串中的所有大写字母转换为小写字母。 |
UPPER() | 将文本转换为大写字母。 |
REPT() | 将文本重复一定次数 |
SUBSTITUTE() | 在文本字符串中用新文本替换旧文本 |
TRIM() | 除了单词之间的单个空格之外,移除文本中的所有空格 |
TEXT() | 自定义单元格格式(可点击超链接) |
VALUE() | 将表示数字的文本字符串转换为数字 |
查找与引用函数: | ||
COLUMN() | 返回与列号对应的数字 | |
ROW() | 返回与行号对应的数字 | |
SORT() | SORT(数组,比较对象,排序方式,比较方式) | SORT(A1:B10,2,-1,TRUE) |
SORTBY() | SORTBY(数组,排序依据1,升降,排序依据2,升降) | SORTBY(A1:C10,B1:B10,-1,C1:C10,1) |
UNIQUE() | 对某范围数据进行去重, | |
LOOKUP() | 在一行或者一列中查找某个值并从另一行或者列中找到同位置的值 | LOOKUP(查询对象,对象范围,返回结果范围) 注:对象范围必须从小到到排序才可以用 |
VLOOKUP() | 按行查找表格或区域内容 | VLOOKUP(查询对象,查询范围,返回结果所在的列号) |
HLOOKUP() | 在表格的首行或数值数组中搜索值,然后返回表格或数组中所在列的指定行中的值 | |
XLOOKUP() | 按行查找表格或区域内容 | XLOOKUP(查询对象,对象范围,返回结果范围,查询失败,匹配方式) |
INDEX() | 获取指定位置的内容 | INDEX(单行单列数据,数字N) INDEX(多行多列数据,行号,列号) |
MATCH() | 获取指定内容在指定范围的位置 | MATCH(查询值,查询值所在的行/列范围) |
FILTER() | 查询满足指定条件的所有内容 | FILTER(查询结果范围,查询条件,结果为空返回值) FILTER(B2:I2,LEFT(B1:I1,1)="张") |