记录原由
喜欢记笔记的一个原因是,随着后续工作变更,工作重心转移,原来技能可能因应用少而熟练度下降,记笔记方便查找;另一方面也可以拿出来分享,方便自己的同时也能给其他人多少带来点有用的,事情本身的价值也就得到了延伸
这里记录下excel常用的函数,以及部分应用案例,示例中函数理论在2016(除个别2010版本应该可以应用)及以后版本中应用没问题,如有特殊在文中做特殊说明;
软件版本一直在更新,原本可能需要写很复杂的逻辑(多重嵌套),后续可能一个函数就能搞定,比如去重函数unique
,这块大家可以关注下后续版本更新。
函数简要描述
什么是函数
在excel日常应用中,函数主要用来处理单元格的值:即给我一个值,然后按照一定的处理规则返回处理后的结果(有给有返回)。
函数输入的单元格通常是一个或多个(数组),输出同样的可以是一个或者多个(offset函数可以返回多个值[返回数组]);当然函数也是可以返回非值或数组其他对象;
函数在单元格值以=
号开始标记,比如:=sum(10,20)
返回30;函数在单元格中生效的一个前提是,该单元格的格式不是文本格式。(文本格式意味着该单元格是用来记录字符串的)
在编辑单元格的值时,如果想生命这个单元格是文本类型,也可以在单元格输入最前面加上一撇(英文单引号),比如下图记录身份证号,如果直接输入身份证号,由于excel对数值保留长度有限制,后面长度全都变成了0;这种情况需要以文本格式记录;
一个特别说明是,excel中的ctrl + h
替换功能,对于函数也适用。比如我一个区域内的函数有个单元格引用写错了,想把该区域内函数的引用G1
单元格替换成H1
,可以直接选中区域替换。(替换时需要考虑会不存在其他不需要被替换的部分也被替换了)
下面的案例,把函数内的10替换成50(单元格也可以替换):
excel中不同处理规则的函数有不同的命名,比如sum
求和(规则:把输入的数加总求和),average
求平均数;
就笔者日常使用来说,wps表格和微软office函数基本互为适用。相比微软excel的函数,wps函数在函数提示表现更为友好(于国内大多数人);
excel中函数的参数提示是英文的(下图:number1,…),而wps表格函数参数提示是中文的;
当然对于函数具体参数使用不明确的,也可以按在excel中安按F1键查看帮助(当然百度也是可以)。
函数来源
表格中函数应用来源,笔者知道的几处:
- 表格内置自带函数:比如:
sumifs
多条件求和。 - 智能填充:如果你想对某列数据按一定的规则处理,但又苦于找不到合适的函数,或者函数写起来很麻烦;可以考虑手动输入几个值后,按
ctrl + e
组合键智能填充,如果填充得并不理想,也可以手动修改,函数会跟着修改尝试调整逻辑以匹配你期望的逻辑。 - 自定义函数:有些函数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
- 数组函数的支持
为一些原本不支持数组运算的函数添加了数组支持,使用方法是在函数输入后按住ctrl+shift
不动,再按enter
回车。俗称三键;
比如sumif
函数,也可以拆成sum+if两个函数嵌套,比如:=SUM(IF(A1:A8="张三",B1:B8,0))
输入后按三键确认,筛选a列张三再对符合条件的b列求和;
因为if函数本身的条件判断只支持单个值判断,这里使用了数组运算,IF(A1:A8="张三",B1:B8,0)
函数最后的返回是数组;
函数自动计算
在excel中有函数自动计算选项,该设置一般作用于表格函数很多,每次变更触发重算表格卡顿。这种情况可以先设置为“手动计算”,等修改完后再修改为“自动计算”。当工作簿保存时也会触发工作簿的计算。
要留意sumproduct
,l