语法:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
Lookup_value 为需要在表格数组第一列中查找的数值。Lookup_value 可以为数值或引用。若 lookup_value 小于 table_array 第一列中的最小值,VLOOKUP 将返回错误值 #N/A。
Table_array 为两列或多列数据。请使用对区域的引用或区域名称。table_array 第一列中的值是由 lookup_value 搜索的值。这些值可以是文本、数字或逻辑值。不区分大小写。
Col_index_num 为 table_array 中待返回的匹配值的列序号。Col_index_num 为 1 时,返回 table_array 第一列中的数值;col_index_num 为 2,返回 table_array 第二列中的数值,以此类推。如果 col_index_num :小于 1,VLOOKUP 返回错误值 #VALUE!。大于 table_array 的列数,VLOOKUP 返回错误值 #REF!。
Range_lookup 为逻辑值,指定希望 VLOOKUP 查找精确的匹配值还是近似匹配值:如果为 TRUE 或省略,则返回精确匹配值或近似匹配值。也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。table_array 第一列中的值必须以升序排序;否则 VLOOKUP 可能无法返回正确的值。可以选择“数据”菜单上的“排序”命令,再选择“递增”,将这些值按升序排序。有关详细信息,请参阅默认排序次序。如果为 FALSE,VLOOKUP 将只寻找精确匹配值。在此情况下,table_array 第一列的值不需要排序。如果 table_array 第一列中有两个或多个值与 lookup_value 匹配,则使用第一个找到的值。如果找不到精确匹配值,则返回错误值 #N/A。
注意引用的时候查找区域是绝对地址。
用VLOOKUP,你这里还需要有一个总表明细,就是所有人的姓名以及职务明细总表。你在B5单元格输入“=”符号,选择VLOOKUP函数,第一个参数选择第一行,第二个参数选择总表里面的一个区域,区域为N列,第一列为姓名,最后一列为职务(必须是列,不是行,VLOOKUP不支持从行里免匹配),选定后按F4键,第三个参数为N,第四个参数为0,回车后B5单元格就自动找到总表里面对应的职务了,后面的C5,D5,E5等,直接复制前面的B5,就会自动匹配相应的C1,D1,E1里姓名对应的职务了。
假设你表格的数据如图A列所示
则
B2单元格写入公式
=IF(B$1="","",OFFSET(INDEX($A:$A,MATCH(B$1,$A:$A,)),ROW(A1),,))
右拉复制公式再下拉复制公式
B2=IF($B$1="","",OFFSET(INDIRECT("A"&MATCH($B$1,A:A,)),ROW(A1),))
下拉
A列再多也可以
或发样表
mrpinetree@qq.com