自学内容网 自学内容网

Excel常用函数

记录原由

喜欢记笔记的一个原因是,随着后续工作变更,工作重心转移,原来技能可能因应用少而熟练度下降,记笔记方便查找;另一方面也可以拿出来分享,方便自己的同时也能给其他人多少带来点有用的,事情本身的价值也就得到了延伸

这里记录下excel常用的函数,以及部分应用案例,示例中函数理论在2016(除个别2010版本应该可以应用)及以后版本中应用没问题,如有特殊在文中做特殊说明;

软件版本一直在更新,原本可能需要写很复杂的逻辑(多重嵌套),后续可能一个函数就能搞定,比如去重函数unique,这块大家可以关注下后续版本更新。

函数简要描述

什么是函数

在excel日常应用中,函数主要用来处理单元格的值:即给我一个值,然后按照一定的处理规则返回处理后的结果(有给有返回)。

函数输入的单元格通常是一个或多个(数组),输出同样的可以是一个或者多个(offset函数可以返回多个值);当然函数也是可以返回非值或数组其他对象;

函数在单元格值以=号开始标记,比如:=sum(10,20)返回30;函数在单元格中生效的一个前提是,该单元格的格式不是文本格式。(文本格式意味着该单元格是用来记录字符串的)

在这里插入图片描述

一个特别说明是,excel中的ctrl + h替换功能,对于函数也适用。比如我一个区域内的函数有个单元格引用写错了,想把该区域内函数的引用G1单元格替换成H1,可以直接选中区域替换。(替换时需要考虑会不存在其他不需要被替换的部分也被替换了)
请添加图片描述

excel中不同处理规则的函数有不同的命名,比如sum求和(规则:把输入的数加总求和),average求平均数;

就笔者日常使用来说,wps表格和微软office函数基本共同适用。相比微软excel的函数,wps函数在函数提示表现更为友好(于国内大多数人);

excel中函数的参数提示是英文的(下图),而wps表格函数提示是中文的;

在这里插入图片描述

当然对于函数具体参数使用不明确的,也可以按在excel中安按F1键查看帮助(当然百度也是可以)。
在这里插入图片描述

函数来源

表格中函数应用来源,笔者知道的几处:

  1. 表格内置自带函数:比如:sumifs多条件求和。
  2. 智能填充:如果你想对某列数据按一定的规则处理,但又苦于找不到合适的函数,或者函数写起来很麻烦;可以考虑手动输入几个值后,按ctrl + e组合键智能填充,如果填充得并不理想,也可以手动修改,函数会跟着修改尝试调整逻辑以匹配你期望的逻辑。请添加图片描述
  3. 自定义函数:有些函数excel本身没有,可以通过VBA编写自定义函数,再以插件形式加载即可;这样打开任何一个工作簿都可以使用自定义函数,比如文本分割函数,正则函数等;
    在这里插入图片描述
    只需在插件写一段简单的代码即可
Function text_split(str As String, sep As String, index As Long)
' 参数:str:被分割的字符串,sep:分隔符,index:分割后返回数组该索引的值,如果小于0返回数组
' 样例:text_split("abc,de,fg",",")(1)  返回de
If index >= 0 Then
    text_split = Split(str, sep)(index)
Else
    text_split = Split(str, sep)
End If
End Function
  1. 数组函数的支持
    为一些原本不支持数组运算的函数添加了数组支持,使用方法是在函数输入后按住ctrl+shift不动,再按enter回车。俗称三键;

比如sumif函数,也可以拆成sum+if两个函数嵌套,比如:=SUM(IF(A1:A8="张三",B1:B8,0))输入后按三键确认,筛选a列张三再对符合条件的b列求和;

函数自动计算

在excel中有函数自动计算选项,该设置一般作用于表格函数很多,每次变更触发重算卡顿,先设置为“手动计算”,等修改完后再修改为“自动计算”。当工作簿保存时也会触发工作簿的计算。

要留意sumproductlookuop多条件匹配,vlookup等函数,在实践中,发现如果工作簿有很多这类函数,可能会比较卡;

该自动计算选项卡设置在“公式”选项卡的“计算”组的“计算选项”菜单按钮
在这里插入图片描述

有时候写了公式,函数不计算,也可以看看是否计算选项是“手动”

如果写vba代码,如果工作簿存在很多计算函数,也听该在程序运行最前面关闭自动计算,在逻辑出完后再开启自动计算;

当开启自动计算后,触发函数重算的情况主要为以下两种:

‌1. 公式所依赖的单元格发生更改时‌:Excel 默认只有在公式所依赖的单元格发生更改时才会自动重新计算公式‌。
‌2. 打开工作簿及任何单元格变更:含有易失函数的单元格公式在打开工作簿时会自动重算,比如:randbetween生成随机数,now当前时间函数等;

如果是手动计算,想要刷新可以点击选项卡里的“开始选项”或者“计算工作表”或者按快捷键F9触发重算,也可以按ctrl+s保存时会触发计算;

有时候可能会有删除工作表特定行的场景,一般同学会筛选出这些行,再选中删除这些行;如果被引用的多了,可能会很卡;如果没有特别情况(不需要跟着删除的行号减少,函数行号发生变更),此类情况可以考虑先把需要的先筛选复制出来,再全选删除原来的数据(没有改变行号),再把复制的数据粘贴回去。

函数引用单元格行列锁定

函数如果引用单元格没有锁定,函数单元格在拖拉拽时,引用单元格会随着函数拖拉的偏移位置而同等偏移。

有一种情况,即使在单元格锁定的前提下,函数引用也会变:单元格行列删除或插入时,即使是绝对锁定函数引用也会跟着引用;比如原本引用的$A$4单元格,在A4单元格左边插入一列,那么原本的引用就会变成$B$4。因为原本的单元格在插入一列后往右偏移了一位,引用也跟着往右偏移;
请添加图片描述

锁定分为以下几种情况,可以在引用单元格位置按F4键切换:

  1. 行锁定:B$9,单元格中间一个$符号,函数单元格托拉拽时,锁定单元格的行号不会变,列跟着同等列偏移变
  2. 列锁定:$A10,单元格左边一个$符号,函数单元格托拉拽时,锁定单元格的列号不会变,行号偏移同等行偏移量
  3. 行列锁定:$A$1:$D$4,单元格前后各一个$符号,函数单元格托拉拽时,锁定单元格的行列都不会变

这个锁定的$符号也可以按shift+4手敲$

比如下面单元格想要匹配出王五和张三的身高体重,可以写入函数:=VLOOKUP($A10,$A$1:$D$4,MATCH(B$9,$A$1:$D$1,0),0)

把匹配函数vlookup的范围锁定在$A$1:$D$4,因为查找的范围是固定的;查找的“身高”锁定行号B$9,因为往下拉时,还是用这一行(第九行),超找的姓名锁定列号$A10,往右拖拉时,还是用这一列。
在这里插入图片描述
编辑完B10单元格的函数后,选中B10单元格,ctrl+c复制,按住shift键不动,再鼠标左击C11单元格,选中函数要匹配填充得区域,再按ctrl+v粘贴即可;效果如下:
请添加图片描述

常用函数介绍

日期函数

函数名称函数解释
today返回当前日期date
now返回当前时间datetime
year返回时间的年份
month返回时间的月份
day返回时间的天
hour小时
minute分钟
weekday返回星期几,第二个参数2代表星期一为一周的一地天
weeknum返回一年的周数,第二个参数选择星期几为一周的第一天
eomonth返回月份最后一天,参数1:日期;参数2:整数,0表示当月最后一天,也可以使用负数,-1表示上个月最后一天
edate返回偏移第二个参数月份的日期,第二个参数可为负数,-1表示上个月的这一天
date传入年,月,日参数返回日期date
datedif返回开始日期和结束日期中的日期差。常用第三个参数:'d’天数差;'md’忽略年月的天数差;'m’月份差;'ym’忽略年份的月份差

这里记录了常用日期表达:
在这里插入图片描述

函数解释示例备注
today今天:date2024/10/4TODAY()
now现在:datetime2024/10/4 20:58NOW()
year2024YEAR(C2)
month10MONTH(C2)
day4DAY(C2)
hour20HOUR(C3)
minute58MINUTE(C3)
weekday星期几5WEEKDAY(C2,2)
weeknum一年第几周40WEEKNUM(C2,2)
eomonth当月第一天2024/10/1eomonth返回当月最后一天EOMONTH(C2,-1)+1
当月最后一天2024/10/31第二个参数为0返回本月最后一天。EOMONTH(C3,0)
上个月第一天2024/9/1EOMONTH(C2,-2)+1
上个月最后一天2024/9/30EOMONTH(C3,-1)
date日期2024/10/4如果第三个参数为0,表示月份参数上个月最后一天DATE(C4,C5,C6)
季度初始日期2024/10/1roundup进一DATE(YEAR(C2),(ROUNDUP(MONTH(C2)/3,0)-1)*3+1,1)
edate环比:上月这一天2024/9/4第二个参数:整数。可以为正、负、或者0。EDATE(C2,-1)
返回本周一日期2024/9/30C2-WEEKDAY(C2,2)+1
上周周一2024/9/23C2-WEEKDAY(C2,2)-6
同比:去年这一天2023/10/4DATE(YEAR(C2)-1,MONTH(C2),DAY(C2))
年初始日期2024/1/1DATE(YEAR(C2),1,1)
datedif日期差27参数依次为:开始日期,结束日期,差值计算标准DATEDIF(C2,C12,“d”)
networkdays区间日期工作日23NETWORKDAYS(C11,C12)

计算函数

函数名称函数解释
sum求和
sumif条件求和,支持通配符
sumifs多条件求和,条件求和用这个就可以了
maxifs多条件求最大值,2019及后版本支持
minifs多条件求最小值,2019及后版本支持
count数值计数
counta非空单元格计数
countblank空白单元格计数
countif条件计数,支持通配符
countifs多条件计数
average平均数
averageif符合条件平均数,忽略文本,支持通配符
averageifs多条件求平均数
sumproduct乘积和,也可以实现多条件求和,去重计数等,参数支持数组,尽量少用,卡
min最小值
max最大值
large取出排名第几大的数
small取出排名第几小的数
rank排名,有重复排名,两个取最小排名,不想重复排名可结合countif使用。
rand返回0-1随机数,配合其他灵活使用返回其他随机数
randbetween返回指定区间随机整数
int浮点转化为整数,舍去小数点
round根据保留位数,四舍五入,参数2可以为负数
roundup根据保留位数进一
rounddown保留指定小数位数,舍去尾巴
value将符合数值格式的文本转化为数值
mod取余数
median取中位数
stdev返回标准差

字符串函数

函数名称函数解释
left从左往右截取指定长度字符串;leftb表示截取固定长度字节
right从右往左截取指定长度字符串;rightb表示截取固定长度字节
mid从中间截取指定长度字符串;mid表示截取固定长度字节
len返回字符串长度
lenb返回字节长度
replace指定位置替换固定长度
substitute替换指定字符串
text数值文本化,具体参考单元格自定义格式
trim去除字符串两边空格
find查找查找值在字符串出现的位置(字符位置)区分大小写
search查找查找值在字符串出现的位置(字符位置)不区分大小写,支持通配符
findb查找查找值在字符串出现的位置(字节位置),区分大小写
searchb查找查找值在字符串出现的位置(字符位置)不区分大小写,支持通配符
textjoin根据分隔符合并字符串
concatenate字符串合并

text格式化函数使用相对较多,这里列下常用格式说明:
在这里插入图片描述
在这里插入图片描述

关联匹配类

函数名称函数解释
vlookup匹配,条件范围列要放在第一列。多条件逆向匹配可以结合if数组实现,支持通配符
lookup多条件匹配,数值分层,返回区域最后一个数值。这个函数多条件匹配用多了时真卡
index根据区域相对行号,列号,返回单元格的值
match返回匹配值在区域的位置,支持通配符
offset根据单元格的偏移返回单元格的值,可以用来框定数组范围
exact比较两个不同文本是否一致,是返回True。可以用来对比数值和数值格式的文本
row返回单元格行号
column返回单元格列号
address返回单元格地址
indirect根据单元格字符串地址返回单元格的值
choose根据参数一返回指定位置的参数
xlookup匹配,新版匹配函数,相比vlookup无需限定匹配值在第一列,需要在2019后或者365版本适用

逻辑类

函数名称函数解释
if判断,可以多重if嵌套
and两个都是True,才是True,其他False
or两个都是False才是False,不然是True
iserror如果出现错误,返回True
iferror如果出现错误返回参数值,使用频率高
ifs不用再if嵌套if了,2019及后版本支持

2021版本新增函数

SEQUENCE(生成序列号)、SORT(排序)、UNIQUE(去重,有了这个就可以去重计数了:=counta(unique(a1:A10)))、FILTER(筛选)


函数详细适用可以查看帮助文档,函数参数也没必要刻意去记,能看明白函数参数提示就可以了


原文地址:https://blog.csdn.net/me_to_007/article/details/142704774

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!