求助用EXCEL公式在多列数据中查找指定数据并输出结果

如图,需要利用公式,输入型号就能够输出对应的品牌及款型

此题牵扯到合并单元格的问题,用公式处理起来就很麻烦。

建议把C列合并单元格拆分开,每一行都填上新型或者旧型,不要用合并单元格。

看下图的例图:

E12单元格公式为:

=INDEX(D:D,MIN(IF(E5:H8=E11,ROW(5:8))))

E13单元格公式为:

=INDEX(C:C,MIN(IF(E5:H8=E11,ROW(5:8))))

都是数组公式,输入公式后,按 SHIFT+CTRL+回车 三键退出单元格。

追问

为什么我会出现#value

追答

我说了,都是都是数组公式,输入公式后,按 SHIFT+CTRL+回车 三键退出单元格。
否则结果不对,或者结果是错误值。

追问

不好意思哈,这一点没有理解过来

追答

我用大白话和你说,
平时普通的公式,就是在单元格内写完公式,直接按回车键退出单元格吗。
我这两条公式,是数组公式,
需要在写完公式后,同时按下 SHIFT键+CTRL键+回车键 三个键退出单元格。
这么说明白了没?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-02-23
F12公式:=INDEX($D:$D,MIN(IF($E$5:$H$8=$F$11,ROW($E$5:$H$8))))
F13公式:=INDEX(C:C,LOOKUP(MIN(IF(E5:H9=F12,ROW(E5:H9),"")),IF(C5:C9<>"",ROW(C5:C9),"")))
以上均为数组公式,粘贴完公式后按F2,再按ctrl+shift+回车。追问

可不可以简单解释下 MIN(IF 这里的意思

追答

=INDEX($D:$D,MIN(IF($E$5:$H$8=$F$11,ROW($E$5:$H$8))))解析为,如果$E$5:$H$8=$F$11,则返回$E$5:$H$8中等于$F$11的单元格的行号,min则取其中的最小行号,本例中最小行号其实也是其唯一的行号,只是用min函数从$E$5:$H$8返回的行号和“”的数组中将其提取出来。

追问

F13的公式方便解释吗,不好解释那就算了

追答

MIN(IF(($E$5:$H$8=$F$11),ROW($E$5:$H$8))))返回查找型号对应的行号(比如会5)
INDIRECT("C1:C"&MIN(IF(($E$5:$H$8=$F$11),ROW($E$5:$H$8))))则返回C1:C5D的区域,
MAX(IF(INDIRECT("C1:C"&MIN(IF(($E$5:$H$8=$F$11),ROW($E$5:$H$8))))"",ROW(INDIRECT("C1:C"&MIN(IF(($E$5:$H$8=$F$11),ROW($E$5:$H$8)))))))返回以上区域内不等于“”的最大行号

本回答被提问者采纳