EXCEL如何在多列中查找不同值?

如题所述

如图,用vlookup(查找的值,查找范围,返回第几列,0),大概意思就是:

查找的值:B2+C2+D2+E1组合,用&符号连接,这个组合作为查找值,

查找范围:用choose函数构造一个数组,第一列是I+J+K+L,就是第二个表格的名称+标准+规格+材质,第二列是M列,就是价格,

返回第几列:2,就是查到了返回第二列

输入完公式后,要按住Ctrl+Shift,然后回车,因为说数组公式,所以要这么按

最后再调整下相对还是绝对引用,就可以上下左右拖动了,就是$这个符号

如果没查到要显示空白的话,就再外面套个iferror就行了

追问

可能是我描述的不清楚
我这里需求的,应该是查找你图中的I,J,K,通过L,然后得到E或F的数值,查找范围是B,C,D,E,F

追答

是反过来找嘛,那用index和match也可以,你看下图片的公式

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-09-22

参考下面处理

第2个回答  2020-09-22

截图没行号和列标,怎么给你写公式呢?记得貌似公式中是用什么单元格地址来定位的,从而得到单元格中的数据,不知是不是这样啊?是不是我记错了,要不怎么提问的截图时大都不带行号和列标呢?

试试下面的“准公式”,说是准公式,是因为公式没有办法来确定数据的地址。

=INDEX(价格区域,MATCH(名称数据&标准数据&规格数据,表一中的名称数据列&表一中的标准数据列&表一中规格数据列,),MATCH(材料数据,表一中的材料数据区域,))

同时按Ctrl+Shift+Enter三键 输入数组公式。

表一中的材料数据区域就是从“304”到“Q235”的数据行区域。

追问


确实没注意。

追答

=INDEX(表一!E$2:K$9,MATCH(B2&C2&D2,表一!B$2:B$9&表一!C$2:C$9&表一!D$2:D$9,),MATCH(E2,表一!E$1:K$1,))

如果表一的工作表名称并不是表一,就把“表一”改为实际的工作表名称。

请注意,公式为数组公式!输入公式后,要同时按Ctrl+Shift+Enter三键 !

本回答被提问者采纳
第3个回答  2020-09-22
在F2中输入或复制粘贴下列公式

=SUMPRODUCT((表1!B$2:B$100=B2)*(表1!C$2:C$100=C2)*(表1!D$2:D$100=D2)*(表1!E$1:K$1=E2)*表1!E$2:E$100)
下拉填充
相似回答