需求如下图:在一个工作表中(不是同一张工作表,也可以实现,道理相同),想将右下角的年龄一列填值,按照姓名不同,和左上角数据域的姓名比对,相同姓名取相应的年龄值,填充到右下角域年龄单元格中。
具体操作:使用excel的vlookup函数完成。
一、选中需要填写数据的单元格→公式→插入函数→选择或搜索vlookup函数
二、选中vlookup函数以后,出现如下对话框:
参数说明:
1、Lookup_value :想要按照哪个单元格匹配数据(当前为右下角姓名列中的张1)。
2、Table_array:匹配数据的取值范围:使用鼠标框选范围(当前为左上角姓名和年龄这一范围,框选即可)。
3、Col_index_num : 想要取的值所在的列的索引(当前框选的取值范围为左上角的姓名和年龄,具体年龄匹配的是年龄所在的列,从姓名开始是第1列,年龄为第2列,所以本例填2即可)。
4、Range_lookup:是否模糊匹配,可以填true、false或者1、0,true和1是模糊匹配(不建议使用),fasle和0是精确匹配(都使用精确匹配)。
注意:这里的第二个参数有一个很重要的特点:必须是绝对值,如果为相对值,后续操作函数会失效。框选以后,按住键盘F4,就能将框选的相对值变为绝对值。下图就是取的绝对值,定位单元格的字母和数字前都加了$符号。
第三个参数一定是按照你框选的顺序取值,这里只取了两列(姓名和年龄),并没有取序号那一列,所以取值为2。如果你选取了序号,相应的取值为3,会发现公式计算的结果报错(具体原因我不知道,一般情况下,进行匹配的列,应该位于第一列,这里放到了第二列,第一列被序号占用了)。
具体效果:
可以看到预览结果:计算结果=21,就是具体的结果。
通过光标放到单元格右下角,稍微停顿一下,光标变成加号+,粗黑的,然后双击或者按住鼠标拖拉,就可实现如下效果。