假设数据如下图格式
要在D2单元格得出C2单元格姓名所对应的A列的编号
那么可以在D2单元格写入公式
=VLOOKUP(C2,IF({1,0},B2:B5,A2:A5),2,)
公式中IF({1,0},....)起到了将两列数据调换的作用,
{1,0}这样的写法是常数数组
在IF公式中常数数组中的1可以转化成真值TRUE,0可以转化成假值FALSE。
我就以上面的公式和表格结构说明一下演绎的过程
IF({1,0},B2:B5,A2:A5)
IF({TRUE,FALSE},{"张三","李四","王二","麻子"},{1,2,3,4})
在下一步中真值TRUE将返回B2:B5单元格对应的数据,假值FALSE将返回A2:A5单元格的数据,形成新的数组
{"张三",1;"李四",2;"王二",3;"麻子",4}
所以
=VLOOKUP("王二",{"张三",1;"李四",2;"王二",3;"麻子",4},2,)
值为3
但还是建议用INDEX和MATCH组合函数公式来做更简单一些
如
=INDEX(A:A,MATCH(C2,B:B,))
因为你这里看不到行号和列号,我先做个假设,第一行就是最顶行,下表月租费那个蓝框是在C16
于是,在C17,可以填上下面这个公式:
=OFFSET($A$2,MATCH($A17,$A$2:$A$15,0)-1,MATCH(C$16,OFFSET($A$2:$M$2,MATCH($A17,$A$2:$A$15,0)-1,0),0))
直接复制粘贴到其它格就OK
请看看是不是这效果了?详细见图。
公式如下:
=VLOOKUP(D2,A:B,2,)
使用Vlookup函数就可以搞定
匹配位置不固定,是不能直接用VLOOKUP的,你把详细列表说说,看有没有解决办法。