EXCEL多重条件取值

2024-12-31 15:38:49
推荐回答(5个)
回答1:

如果你是excel 2016,可以如下操作

1、先将原始数据表建立一个查询,并加载到一个连接中

2、对查询数据进行合并查询

3、选择相关字段

4、添加一个自定义列,内容为 if([值]>=[表1.下限] and [值]<=[表1.上限]) then 1 else 0

5、对自定义列进行筛选,只留下对的

6、只保留结果列

7、加载到指定位置就可以了(图可以参考第一张)

回答2:

如果只是固定在F列查询的,在F2输入公式下拉,数组公式按三键CTRL+SHIFT+回车  结束。

 

=INDEX(D:D,MIN(IF((A$2:A$10=F$1)*(B$2:B$10<=E2)*(C$2:C$10>=E2),ROW($2:$10),4^8)))&""

 

其实公式可改为这样,可以支持更多更完善的查询,在F2输入数组公式,要按三键   CTRL+SHIFT+回车   结束后,右拉至H列,再下拉即可。

 

多条件查询公式:

=INDEX($D:$D,MIN(IF(($A$2:$A$10=F$1)*($B$2:$B$10<=$E2)*($C$2:$C$10>=$E2),ROW($2:$10),4^8)))&""

 

我把文件传上来,请点击这回答右下角那个绿色的 “下载” 按钮,下载文件看看效果。

 

 

回答3:

=INDEX(D:D,SMALL(IF(($B$2:$B$10<=E2)*($C$2:$C$10>=E2),ROW($A$2:$A$10),4^8),ROW(A1)))&""
数组,同时按CTRL SHIFT 回车键执行
你先前也提了这样一个问题,你都没有采纳我的?。。。。。。
你采纳的答案,如果是文本就错误,这个无论什么格式数据都可以。

回答4:

=index(d:d,max((a1:a10=F1)*(b1:b10e2)*row(1:10))) 按组合键ctrl+shift+enter结束公式输入

回答5:

输入
=IF(A1="W",-84,IF(A1="E",-94,IF(A1="D",-104,"")
或者输入
=VLOOKUP(A1,{"W",-84;"E",-94;"D",-104},2,0)
简化为
=-84-VLOOKUP(A1,{"W",0;"E",10;"D",20},2,0)