| 一、数学与统计函数 | |||
|---|---|---|---|
| 名称 | 函数简介 | 公式示例 | 说明 |
| SUM | 对指定区域的数值求和 | =SUM(A1:A10) |
计算A1到A10单元格的总和 |
| SUMIF | 按条件求和 | =SUMIF(B:B,">100") |
对B列中大于100的数值求和 |
| SUMIFS | 多条件求和 | =SUMIFS(C:C,A:A,"苹果",B:B,"北京") |
对A列为"苹果"且B列为"北京"的C列数据求和 |
| AVERAGE | 计算平均值 | =AVERAGE(D1:D10) |
求D1到D10单元格的算术平均值 |
| AVERAGEIF | 按条件求平均值 | =AVERAGEIF(E:E,"<>0") |
求E列中非零数值的平均值 |
| AVERAGEIFS | 多条件求平均值 | =AVERAGEIFS(F:F,G:G,">=2023",H:H,"销售") |
对G列年份≥2023且H列为"销售"的F列数据求平均 |
| COUNT | 统计数值单元格个数 | =COUNT(I1:I20) |
统计I1到I20中包含数值的单元格数量 |
| COUNTA | 统计非空单元格个数 | =COUNTA(J:J) |
统计J列中所有非空单元格的数量 |
| COUNTIF | 按条件统计个数 | =COUNTIF(K:K,"已完成") |
统计K列中内容为"已完成"的单元格数量 |
| COUNTIFS | 多条件统计个数 | =COUNTIFS(L:L,"男",M:M,">30") |
统计L列为"男"且M列年龄大于30的人数 |
| MAX | 返回最大值 | =MAX(N1:N15) |
找出N1到N15中的最大数值 |
| MIN | 返回最小值 | =MIN(O1:O15) |
找出O1到O15中的最小数值 |
| LARGE | 返回第k个最大值 | =LARGE(P1:P10,3) |
返回P1到P10中第3大的数值 |
| SMALL | 返回第k个最小值 | =SMALL(Q1:Q10,2) |
返回Q1到Q10中第2小的数值 |
| MEDIAN | 返回中位数 | =MEDIAN(R1:R10) |
计算R1到R10数据的中位数 |
| MODE.SNGL | 返回众数(出现频率最高) | =MODE.SNGL(S1:S10) |
返回S1到S10中出现次数最多的数值 |
| ROUND | 四舍五入 | =ROUND(T1,2) |
将T1的数值四舍五入保留2位小数 |
| ROUNDUP | 向上舍入 | =ROUNDUP(U1,0) |
将U1的数值向上取整到整数 |
| ROUNDDOWN | 向下舍入 | =ROUNDDOWN(V1,1) |
将V1的数值向下舍入保留1位小数 |
| ABS | 返回绝对值 | =ABS(W1) |
返回W1数值的绝对值 |
| INT | 向下取整 | =INT(X1) |
返回X1数值的整数部分(向下取整) |
| MOD | 返回除法余数 | =MOD(Y1,5) |
返回Y1除以5的余数 |
| POWER | 返回乘幂 | =POWER(Z1,2) |
返回Z1的平方 |
| SQRT | 返回平方根 | =SQRT(AA1) |
返回AA1数值的平方根 |
| PRODUCT | 计算乘积 | =PRODUCT(AB1:AB5) |
计算AB1到AB5所有数值的乘积 |
| 二、逻辑函数 | |||
|---|---|---|---|
| 名称 | 函数简介 | 公式示例 | 说明 |
| IF | 条件判断 | =IF(AC1>60,"及格","不及格") |
如果AC1大于60,返回"及格",否则返回"不及格" |
| IFERROR | 处理错误值 | =IFERROR(AD1/AE1,"输入错误") |
如果AD1/AE1出错,返回"输入错误",否则返回计算结果 |
| IFNA | 处理#N/A错误 | =IFNA(AF1,"未找到") |
如果AF1是#N/A错误,返回"未找到",否则返回原值 |
| AND | 所有条件为真则返回真 | =AND(AG1>0,AG1<100) |
当AG1大于0且小于100时返回TRUE |
| OR | 任一条件为真则返回真 | =OR(AH1="男",AH1="女") |
当AH1是"男"或"女"时返回TRUE |
| NOT | 逻辑值取反 | =NOT(AI1=0) |
如果AI1等于0,返回FALSE;否则返回TRUE |
| XOR | 异或逻辑 | =XOR(AJ1>10,AJ1<5) |
当两个条件中只有一个为真时返回TRUE |
| SWITCH | 多值匹配返回 | =SWITCH(AK1,1,"一月",2,"二月","未知") |
根据AK1的值返回对应月份,不匹配时返回"未知" |
| IFS | 多条件判断 | =IFS(AL1>=90,"A",AL1>=80,"B",AL1>=70,"C","D") |
根据AL1分数返回等级,避免嵌套IF |
| 三、文本函数 | |||
|---|---|---|---|
| 名称 | 函数简介 | 公式示例 | 说明 |
| TEXT | 格式化数值为文本 | =TEXT(AM1,"yyyy-mm-dd") |
将AM1的日期格式化为"年-月-日"文本 |
| VALUE | 将文本转换为数值 | =VALUE(AN1) |
将AN1中的文本数字转换为数值 |
| CONCATENATE | 连接多个文本 | =CONCATENATE(AO1,AP1) |
将AO1和AP1的内容连接成一个字符串 |
| CONCAT | 连接文本或区域 | =CONCAT(AQ1:AQ5) |
连接AQ1到AQ5区域的所有文本 |
| TEXTJOIN | 带分隔符连接文本 | =TEXTJOIN(",",TRUE,AR1:AR3) |
用逗号连接AR1到AR3,忽略空单元格 |
| LEFT | 从左边提取字符 | =LEFT(AS1,3) |
提取AS1文本左边的3个字符 |
| RIGHT | 从右边提取字符 | =RIGHT(AT1,4) |
提取AT1文本右边的4个字符 |
| MID | 从中间提取字符 | =MID(AU1,2,5) |
从AU1文本第2个字符开始提取5个字符 |
| LEN | 返回文本长度 | =LEN(AV1) |
返回AV1中文本的字符数 |
| FIND | 查找子串位置(区分大小写) | =FIND("x",AW1) |
返回"AW1"中"x"首次出现的位置,区分大小写 |
| SEARCH | 查找子串位置(不区分大小写) | =SEARCH("x",AX1) |
返回"AX1"中"x"首次出现的位置,不区分大小写 |
| REPLACE | 替换指定位置的字符 | =REPLACE(AY1,2,3,"新") |
从AY1第2个字符开始,替换3个字符为"新" |
| SUBSTITUTE | 替换指定文本 | =SUBSTITUTE(AZ1,"旧","新") |
将AZ1中所有"旧"替换为"新" |
| TRIM | 去除多余空格 | =TRIM(BA1) |
去除BA1文本开头、结尾和中间多余的空格 |
| UPPER | 转换为大写 | =UPPER(BB1) |
将BB1中的文本全部转换为大写 |
| LOWER | 转换为小写 | =LOWER(BC1) |
将BC1中的文本全部转换为小写 |
| PROPER | 转换为首字母大写 | =PROPER(BD1) |
将BD1中的每个单词首字母大写 |
| EXACT | 精确比较两个文本 | =EXACT(BE1,BF1) |
比较BE1和BF1是否完全相同(区分大小写) |
| 四、查找与引用函数 | |||
|---|---|---|---|
| 名称 | 函数简介 | 公式示例 | 说明 |
| VLOOKUP | 垂直查找 | =VLOOKUP(BG1,BG:BJ,3,FALSE) |
在BG列查找BG1,返回同行第3列(BI列)的值,精确匹配 |
| HLOOKUP | 水平查找 | =HLOOKUP(BK1,BK:BN,2,FALSE) |
在BK行查找BK1,返回同列第2行的值,精确匹配 |
| INDEX | 返回指定行列交叉处的值 | =INDEX(BO:BR,5,2) |
返回BO:BR区域第5行第2列(BP5)的值 |
| MATCH | 返回查找值的位置 | =MATCH(BS1,BS:BS,0) |
返回BS1在BS列中首次出现的行号,精确匹配 |
| INDEX + MATCH | 组合查找(更灵活) | =INDEX(BT:BT,MATCH(BU1,BU:BU,0)) |
在BU列查找BU1,返回BT列对应行的值 |
| XLOOKUP | 现代查找函数(推荐) | =XLOOKUP(BV1,BV:BV,BW:BW,"未找到") |
在BV列查找BV1,返回BW列对应值,找不到时返回"未找到" |
| LOOKUP | 简单查找(需排序) | =LOOKUP(BX1,BX:BX,BY:BY) |
在BX列查找BX1,返回BY列对应值,要求升序排列 |
| INDIRECT | 返回文本引用的单元格 | =INDIRECT("A"&BZ1) |
如果BZ1=10,返回A10单元格的值 |
| OFFSET | 返回偏移区域的引用 | =OFFSET(CA1,2,1) |
从CA1向下2行、向右1列,返回CB3的值 |
| CHOOSE | 根据序号选择值 | =CHOOSE(CA1,"一","二","三") |
如果CA1=2,返回"二" |
| ROW | 返回行号 | =ROW(CB1) |
返回CB1单元格的行号(2) |
| COLUMN | 返回列号 | =COLUMN(CC1) |
返回CC1单元格的列号(81) |
| ROWS | 返回区域行数 | =ROWS(CD1:CD10) |
返回CD1:CD10区域的行数(10) |
| COLUMNS | 返回区域列数 | =COLUMNS(CE:CE) |
返回CE列的列数(1) |
| AREAS | 返回引用区域个数 | =AREAS((CF1:CF5,CG1:CG3)) |
返回两个区域组成的引用区域个数(2) |
| HYPERLINK | 创建超链接 | =HYPERLINK("https://www.example.com","点击访问") |
创建一个显示为"点击访问"的超链接 |
| 五、日期与时间函数 | |||
|---|---|---|---|
| 名称 | 函数简介 | 公式示例 | 说明 |
| TODAY | 返回当前日期 | =TODAY() |
返回系统当前日期(不包含时间) |
| NOW | 返回当前日期和时间 | =NOW() |
返回系统当前日期和时间 |
| DATE | 组合年月日为日期 | =DATE(2025,10,16) |
返回2025年10月16日的日期序列号 |
| TIME | 组合时分秒为时间 | =TIME(14,30,0) |
返回14:30:00的时间序列号 |
| YEAR | 提取年份 | =YEAR(CF1) |
从CF1的日期中提取年份(如2025) |
| MONTH | 提取月份 | =MONTH(CG1) |
从CG1的日期中提取月份(1-12) |
| DAY | 提取日期 | =DAY(CH1) |
从CH1的日期中提取日(1-31) |
| HOUR | 提取小时 | =HOUR(CI1) |
从CI1的时间中提取小时(0-23) |
| MINUTE | 提取分钟 | =MINUTE(CJ1) |
从CJ1的时间中提取分钟(0-59) |
| SECOND | 提取秒 | =SECOND(CK1) |
从CK1的时间中提取秒(0-59) |
| WEEKDAY | 返回星期几 | =WEEKDAY(CL1,2) |
返回CL1是星期几(2-1表示周一到周日) |
| WEEKNUM | 返回一年中的第几周 | =WEEKNUM(CM1) |
返回CM1日期在一年中的周数 |
| EDATE | 返回指定月数前后的日期 | =EDATE(CN1,3) |
返回CN1日期3个月后的日期 |
| EOMONTH | 返回指定月数后的月末日期 | =EOMONTH(CO1,0) |
返回CO1所在月份的最后一天 |
| DATEDIF | 计算日期差 | =DATEDIF(CP1,CQ1,"y") |
计算CP1到CQ1之间的完整年数 |
| NETWORKDAYS | 计算工作日天数 | =NETWORKDAYS(CR1,CS1) |
计算CR1到CS1之间的工作日天数(不含周末) |
| WORKDAY | 返回工作日后的日期 | =WORKDAY(CT1,10) |
返回CT1日期后10个工作日的日期 |
| 六、财务函数 | |||
|---|---|---|---|
| 名称 | 函数简介 | 公式示例 | 说明 |
| PV | 计算现值 | =PV(0.05/12,120,-1000) |
计算月利率0.417%、120期、每月1000元的现值 |
| FV | 计算未来值 | =FV(0.03,5,0,-10000) |
计算年利率3%、5年后10000元的未来值 |
| PMT | 计算等额还款额 | =PMT(0.06/12,60,-100000) |
计算贷款10万、月利率0.5%、5年期的月还款额 |
| RATE | 计算利率 | =RATE(60,-2000,100000) |
计算贷款10万、月还2000、5年还清的月利率 |
| NPER | 计算期数 | =NPER(0.05/12,-1000,50000) |
计算贷款5万、月还1000、月利率0.417%的还款期数 |
| NPV | 计算净现值 | =NPV(0.1,D1:D5)+C1 |
计算折现率10%下C1到D5现金流的净现值 |
| IRR | 计算内部收益率 | =IRR(C1:D5) |
计算C1到D5现金流的内部收益率 |
| XNPV | 计算非周期现金流净现值 | =XNPV(0.1,E1:E5,F1:F5) |
计算折现率10%下E列金额、F列日期的净现值 |
| XIRR | 计算非周期现金流内部收益率 | =XIRR(G1:G5,H1:H5) |
计算G列金额、H列日期的内部收益率 |
| 七、信息函数 | |||
|---|---|---|---|
| 名称 | 函数简介 | 公式示例 | 说明 |
| ISBLANK | 判断是否为空 | =ISBLANK(I1) |
如果I1为空,返回TRUE,否则返回FALSE |
| ISNUMBER | 判断是否为数字 | =ISNUMBER(J1) |
如果J1是数字,返回TRUE,否则返回FALSE |
| ISTEXT | 判断是否为文本 | =ISTEXT(K1) |
如果K1是文本,返回TRUE,否则返回FALSE |
| ISERROR | 判断是否为错误值 | =ISERROR(L1) |
如果L1是任何错误值(如#N/A),返回TRUE |
| ISERR | 判断是否为错误值(除#N/A) | =ISERR(M1) |
如果M1是错误值但不是#N/A,返回TRUE |
| ISEVEN | 判断是否为偶数 | =ISEVEN(N1) |
如果N1是偶数,返回TRUE,否则返回FALSE |
| ISODD | 判断是否为奇数 | =ISODD(O1) |
如果O1是奇数,返回TRUE,否则返回FALSE |
| TYPE | 返回数据类型代码 | =TYPE(P1) |
返回P1的数据类型代码(1=数字,2=文本等) |
| CELL | 返回单元格信息 | =CELL("filename",Q1) |
返回包含Q1的工作簿和工作表名称 |
| INFO | 返回系统信息 | =INFO("osversion") |
返回操作系统版本信息 |
| 八、工程函数 | |||
|---|---|---|---|
| 名称 | 函数简介 | 公式示例 | 说明 |
| CONVERT | 单位换算 | =CONVERT(100,"m","ft") |
将100米转换为英尺 |
| DELTA | 判断两数是否相等 | =DELTA(R1,S1) |
如果R1等于S1,返回1,否则返回0 |
| GESTEP | 判断是否大于阈值 | =GESTEP(T1,50) |
如果T1≥50,返回1,否则返回0 |
| 九、统计扩展函数 | |||
|---|---|---|---|
| 名称 | 函数简介 | 公式示例 | 说明 |
| STDEV.S | 样本标准差 | =STDEV.S(U1:U10) |
计算U1到U10样本数据的标准差 |
| STDEV.P | 总体标准差 | =STDEV.P(V1:V10) |
计算V1到V10总体数据的标准差 |
| VAR.S | 样本方差 | =VAR.S(W1:W10) |
计算W1到W10样本数据的方差 |
| VAR.P | 总体方差 | =VAR.P(X1:X10) |
计算X1到X10总体数据的方差 |
| CORREL | 计算相关系数 | =CORREL(Y1:Y10,Z1:Z10) |
计算Y列和Z列数据的相关系数 |
| FORECAST.LINEAR | 线性预测 | =FORECAST.LINEAR(AA1,AB1:AB10,AC1:AC10) |
根据AC列x值和AB列y值,预测AA1对应的y值 |
| 十、数组函数 | |||
|---|---|---|---|
| 名称 | 函数简介 | 公式示例 | 说明 |
| UNIQUE | 返回唯一值 | =UNIQUE(AD1:AD10) |
返回AD1到AD10中的唯一值列表 |
| SORT | 排序数组 | =SORT(AE1:AE10) |
将AE1到AE10的数据按升序排序 |
| FILTER | 筛选数组 | =FILTER(AF1:AF10,AG1:AG10>100) |
筛选AG列大于100对应的AF列数据 |
| SEQUENCE | 生成序列 | =SEQUENCE(5,1,1,1) |
生成1到5的序列(5行1列,从1开始,步长1) |
| RANDARRAY | 生成随机数组 | =RANDARRAY(3,2) |
生成3行2列的随机数数组(0到1之间) |
Leave a Comment