本人想在excel中的一行查找到某个项目,比如电话费或者手机费,然后返回其右侧的单元格内容(注:每行中电话费或者手机费位置不固定)
就是把上面表格的项目后面对应的金额填写在下面的表格对应格子里
假设数据如下图格式
要在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,))
图片已经上传,麻烦帮忙看下
追答这个有点复杂,可考虑用INDEX()+MATCH()进行匹配,同时还需发考虑不存在的限目。