背景:在根据各种复杂的口径导出报表数据时,因为关联的表较多、数据量较大,一行数据往往会存在三个以上的字典数据。
为了保证导出数据的效率,博主选择了导出字典code值后,在Excel中处理匹配字典值。在查询百度之后,发现Excel中的VLOOKUP函数可以实现这一操作。
目录
一、什么是VLOOKUP?
VLOOKUP函数是Excel中用于在数据表中进行垂直查找的函数。主要功能是根据用户提供的查找值,在数据表的首列中精确搜索该值,并返回同一行中指定列的内容。
基本语法规则为:
VLOOKUP(lookup_value,table_array, col_index_num, range_lookup
eg: =VLOOKUP(B2,字典表!G2:H3,2,FALSE)
参数解析:
参数1(查找值):需要用于匹配的值的单元格位置,eg:A2、A3、B4、C5等
参数2(数据表):字典值所在的范围,eg:A2:B7(从A列第二行至B列第7行)。
若需要指定【工作簿】范围,则需要在加上工作簿名前缀,eg:工作簿2!A2:B7
若需要指定【其他表格文件】范围,则需要在加上表格名前缀,eg:表格2!A2:B7
参数3(列序数):取字典名所在列,基于参数2(数据表)的范围内的第几列,eg:A2:B7共两列,取1代表A列,去2代表B列
参数4(匹配条件):精确匹配:0/False;近似匹配:1/Ture
二、操作示例
1.原始数据
现在我们手上有一份表格,工作簿1是学生信息表。
其中的B、D、E列分别是学生性别、年级、班级的字典编码(key),需要转为对应的字典名称(value)。
2.字典数据
工作簿2我们用来存放字典表,提供了字典的编码(key)和对应的名称(value)。
3.数据处理
在学生信息表中列出三列,存放对应的字典名称。
年级匹配
学生年级需要以B列值精准匹配工作簿-字典表中的A2至B7列值。
班级匹配
学生班级需要以D列值精准匹配工作簿-字典表中的D2至E4列值。
性别匹配
学生性别需要以D列值精准匹配工作簿-字典表中的G2至H4列值。
最终展示结果
最后将原三列,及字典表工作簿隐藏即可
三、使用中碰到的问题
从数据库导出excel的数据,使用正确的公式却无法正常获取字典值
图中的公式中的A2修正为B2
可以看到在B列数据的左上角有一个绿色的三角标,通常是由于单元格是文本格式或者检查发现错误的提示。
点击转换为数字后,函数可以正常显示了。