excel查询问题,index和match嵌套问题。

L1单元格公式为:=INDEX($A$2:$A$9,MATCH(K1,INDIRECT(J1),0)),整个L列(绿色)公式是通过L1下拉的。中国、日本、美国、英国都定义成了名称,分别代表自己下面的列。
目的是通过函数查询国家与数字对应的 一系列名字(A2-A9),我写的函数如果遇到数字重复,查询是有误的,请问怎样修改函数才能正确。[PS:比如L3单元格应该是“岩石”才对,然后日本、美国、英国里面的重复都有问题]。谢谢

奋斗两天,公式终于编出来,不过来晚咯,回答已被采纳。

L1单元格输入以下公式:

=INDEX($A$2:$A$9,MATCH(K1,OFFSET($B$2:$B$9,0,MATCH(J1,$B$1:$E$1,0)-1),0)+IF(COUNTIF(INDIRECT("K"&MATCH(J1,$J$1:$J$20,0)&":K"&COUNTIF($J$1:J1,J1)+MATCH(J1,$J$1:$J$20,0)-1),K1)>1,IFERROR(MATCH(K1,INDIRECT(LEFT(CELL("address",OFFSET($B$2:$B$9,0,MATCH(J1,$B$1:$E$1,0)-1)),3)&MATCH(K1,OFFSET($B$2:$B$9,0,MATCH(J1,$B$1:$E$1,0)-1),0)+2&":"&LEFT(CELL("address",OFFSET($B$2:$B$9,0,MATCH(J1,$B$1:$E$1,0)-1)),3)&"9"),0),0),0))

公式下拉即可。

效果图:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-18
这类的查询公式在碰见有多个可能的结果的时候,都会自动默认第1个结果的。就是说你的查询结果不唯一。
用公式可能处理不了,反正我不知道。这类的问题可以用宏解决。或者你弄个肯定是唯一的查找方式。追问

假设A列很多名称,比如100行;国家也很多,比如也有100个,这样没有公式太恼火了。

本回答被提问者和网友采纳
相似回答