*注:一定要掌握的函数TOP5:vlookup
,sumifs
,countifs
,if
,len&right&mid
写在前面的话:
在近三年的数据工作中,Excel已成为我亲密的工作小伙伴。
结合我自己的工作经验,总结了如下常用函数。这些函数我并没有给出详细说明(~baidu非常多,就不重复啦。好吧,其实是我偷懒嘿嘿~)只是总结了一些我所认为的注意事项和应用场景,方便自己复习回顾,也希望能分享给大家~建议初学者还是要具体了解下相关函数的使用教程。
再说一点碎碎念:
这些函数的使用,说到底其实是为了工作上的“偷懒”。我们希望减少工作的重复性,并且提高工作效率。但是保证效率的前提是,一定要保证数据的准确性!我也曾为了追求“速度快”而导致数据出错,希望引以为戒!(~默默再一次提醒自己~)
怎样能够快速提高:
多思考,结合自己工作的场景。解决问题的办法一定不止一种,多思考为什么。
查找函数
vlookup
vlookup函数是excel中使用最高频的函数。还记得以前工作中的运营同事,他们一开始在处理表格时一个个筛选查找,很容易出错。后来学会使用vlookup后,真的又快又好用!
- 单条件匹配
场景:根据订单号查询用户信息
使用条件:
查询值必须位于查询数据第一列;
查询方向从左往右;
查询范围通常固定,绝对引用
注意:在数据规范情况下,可直接使用。
但如果数据是手工采集的,需要警惕返回错误值。
比如,数据是否包含重复值(如果包含重复值,原始表顺序发生变化后,查询结果可能会不同),或者是文本和数值格式不一致,有多余空格和不可见字符等。
数据高效处理的前提是数据的规范化和标准化,所以最好在数据源头尽可能按照标准去收集
- 多条件匹配
场景:用户可能重复下单,现在要查询姓名为小爱,日期在3月20日的购买商品数量。
思路:构造唯一值
,将问题转变为单匹配查找。需要新建辅助列。
如下图A列,将“日期条件”和“姓名条件”通过连接符&
合并成一个条件后,就转化成我们熟悉的vlookup了。(除此以外,还可以使用数组等,方法不唯一,解决问题才是王道)
-
拓展1:怎样使用vlookup从右往左进行查询呢?
场景:根据订单号查询用户信息,但是原始数据订单列非查找范围第一列
思路:vlookup函数中,只需要修改第二个参数,即将查找范围的数据列调换。这里使用if({1,0},)
,1对应的是我们希望指定的首列。
- 拓展2:vlookup与match搭配使用,更高效
统计函数
sumifs和countifs
- 多条件求和和多条件计数,使用频率较高
比如,汇总词卡的销量:=sumifs(数量列,商品类型列,"词卡")
汇总词卡和礼盒的销量:=sum(sumifs(数量列,商品类型列,{"词卡","礼盒"})) - 可对比sumprodcuct
日期函数
date
datedif: 计算时间差,间隔天数,间隔月数等
文本处理
清除空格(空格,回车,tab)
1.直接查找替换;或分列
- trim:只能去除字符串
首尾
空格,字符之间的空格时,不会把全部空格都去掉,会留下一个空格 - clean:主要运用于单元格中有
换行
的情况 -
substitute,如下
截取文本
left,right,mid三剑客
文本长度:
len中文按1个字节算,lenb按两个算。可组合用于判断数据列是否含有汉字,可用于将姓名手机号分列。
替换文本
- replace是根据
位置
进行替换,可应用于手机号加密 - subsitute是根据
文本
值进行替换
查找文本
- find,search函数参数值完全一样,它们返回的都是查找文本在整个文本中的位置。
- 但是
find更严格
一些,区分大小写
-
拓展: Q:如果想要查找第二次出现的文本的位置,怎么做?
A:方法一,find嵌套,从查找范围入手,缩小范围;
方法二,find和substitute组合,从查找值入手,替换成唯一值
文本格式:text
文本型数字和数值型数字的转化方法
在单元格中数值型数字靠右显示,文本型靠左
。
除常规在工具栏中设置格式之外,还有如下方法:
文本转数字:value
数字转文本:分列
条件函数
if
- 简单的if函数
- if嵌套
- 扒洋葱法,一层层使用if语句,注意括号成对
- 使用If函数嵌套循环时,注意方向从大到小依次判断
如划分成绩等级:=IF(D3=100,"满分",IF(D3>=95,"优秀",IF(D3>=85,"良好",IF(D3>=70,"较好",IF(D3>=60,"及格","不及格")))))
- if与and/or连用
逻辑判断
and,or,not
iferror
判断某些内容的正确与否,正确则返回正确结果,错误则返回需要显示的信息。常与vlookup搭配
isnumber
判断单元格是否为数字,常与find连用
数学函数
取整:int和round
- 非四舍五入使用int
- 四舍五入使用round(roundup向上取整,rounddown向下取整)