以前过多的使用脚本程序来处理数据,却忽略了Excel本身的能力
最近处理数据时候,需要对多个表格进行匹配处理,以前都是通过python写脚本来解析Excel来做,现在环境下安装不了Python的pip包,对Excel中的函数进行了研究,虽说很基础,以前却没咋用过,先介绍几个函数,这几个函数已经能解决我工作中的大部分数据分析的问题了。
1、VLOOKUP
使用场景:需要在表格或区域中按行查找内容时,例:A表包括用户ID和用户姓名,B表格中是部分用户姓名,需要找到B表格姓名查找用户ID 公式为:
VLOOKUP(要查找的内容、要查找的位置、包含要返回的值的范围内的列号、返回表示为 1/TRUE 或 0/FALSE 的近似或精确匹配项)。
例如A表数据、B表数据情况如下:
姓名 | 员工ID | 参会人员 | 员工ID |
---|---|---|---|
李三 | M10120 | 刘楼 | |
王五 | M10121 | 王水 | |
刘楼 | M10122 | 高久 | |
八七 | M10123 | 高一 | |
高久 | M10124 | 小米 | |
陈武 | M10125 | 陈文华 | |
小米 | M10126 | 小紫 | |
小红 | M10127 | 侠岚 | |
小紫 | M10128 | ||
侠岚 | M10129 | ||
夏文 | M10130 | ||
吴一凡 | M10131 | ||
吴久久 | M10132 |
如果数据少的话可以对照着将数据填写进去,但是数据量比较多呢?采用vlookup函数进行查找,查找公式为:
=VLOOKUP(A2,A!A:B,2,FALSE)
A2:是要查找的值 A!A:B是要查找的范围,这里是A表格中的A和B列 2是要匹配第二列,也就是交换后的员工号列 FALSE是要精确匹配
查找的视频如下:
大家看到了视频中的A表将A和B列做了交换,这个是由于vlookup查找的数据必须在选择要匹配的第一列,否则就会出现NA的错误,大家可以试一下
2、IFERROR
上面可以看到出现了NA错误,为了不显示这个错误,可以使用IFERROR函数进行处理,例如上面参会人员并不是我司人员,所以不存在员工号 公式为:
=IFERROR(表达式,用于替换错误值的内容)
我们在上面增加个公式为:
=IFERROR(VLOOKUP(A2,A!A:B,2,FALSE),"非我司成员")
最终结果如下:
3、MATCH
MATCH函数返回指定值在数组中的位置,如果在数组中没有找到该值则返回#N/A。公式为:
MATCH(lookup_value, lookup_array, [match_type])。
我们继续上面的案例,场景为,查找我司的员工的签到顺序, 直接看结果:
4、FIND
返回一个字符串在另一个字符串中出现的起始位置(区分大小写) 公式为:
FIND(find_text,within_text,[start_num])
FIND(查找值,在哪里找,从第几个字符开始查找)
我们继续上面的表格,这里直接找网上的表格来看吧,很简单:
[!info] 很多情况下find都是与vlookup和match等等配合使用
5、IF
IF 函数能够根据指定的条件判断“真”、“假”,通过真假来返回相应的内容。公式为:
IF (测试条件,结果 1, 结果 2),如果满足“测试条件”显示“结果 1”,如果不满足则显示“结果 2”。
原文始发于微信公众号(YY的黑板报):Excel常用函数基础
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论