Excel多条件查找公式

A B C
白义 2019-7-31 A
白义 2019-8-1 B
白义 2019-8-2 C
大地 2019-8-3 D
大地 2019-8-4 E
大地 2019-8-5 F
大地 2019-8-6 G
白义 2019-8-7 H
白义 2019-8-8 I
白义 2019-8-9 J
白义 2019-8-10 K

多条件查找, A列第一个条件, B列第二个条件, C列为查找区域
例如:
我要查"大地", 最大的日期(返回结果8/6最大), 结果返回是"G"
我要查"白义", 最大的日期(返回结果8/10最大), 结果返回是"K"
日期可能会随机变

在H1中输入或复制粘贴下列公式(以下面公式为准,图上的公式重复了)

=INDEX(C:C,SMALL(IF(($B$1:$B$11=MAX(IF($A$1:$A$11="大地",$B$1:$B$11))),ROW($1:$11),4^8),ROW(A1)))&""

按三键CTRL+SHIFT+ENTER结束公式输入

下拉填充

将上述公式中的大地修改为白义即得到第2个结果。

上述公式对于同名称的最大日期有多个的记录,可以同时查出相应的结果。

如果每个名称下每天日期都不重复,可用如下数组公式

=LOOKUP(1,0/(B$1:B$11=MAX(IF(A$1:A$11="大地",B$1:B$11))),C$1:C$11)

按三键CTRL+SHIFT+ENTER结束公式输入

追问

谢谢, 根据你写的公式稍做调整, 多增加了一个条件(B区)公式如下:
=INDEX(D:D,SMALL(IF(($C$1:$C$11=MAX(IF($A$1:$A$11="大地",IF($B$1:$B$11="B区",$C$1:$C$11)))),ROW($1:$11),4^8),ROW(A1)))&""
若是: B区这列的这条件, 也是为日期也是要查找最大日期. 请问公式如何修正.4^8是什么意思

追答

4^8=65536这是2003老版本最大/末行的行号。一般都是空白的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-31
可用LOOKUP或VLOOKUP实现。方法如下: 1、用LOOKUP函数配合有关条件实现。示例公式: =LOOKUP(0,0/((sheet2!A$1:A$100=A1)*(sheet2!B$1:B$100=B1)),sheet2!C$1:C$100) 该公式“在SHEET2中查找A列B列与本表A列B列对应相同的C列值”。其中:LOOKUP函数返回向量或数组中的数值,其语法形式有向量和数组两种,本例使用了向量形式。向量形式的语法是: LOOKUP(lookup_value,lookup_vector,result_vector) 参数Lookup_value为函数在第一个向量中所要查找的数值,Lookup_vector和result_vector分别为第一向量查找区域和第二向量结果区域,它们是只包含一行或一列的区域。 2、用VLOOKUP函数与IF({1,0}配合实现。示例公式: =VLOOKUP(A1&B1,IF({1,0},SHEET2!A$1:A$100&SHEET2!B$1:B$100,SHEET2!C$1:C$100),2,) 其中:IF({1,0},SHEET2!A$1:A$100&SHEET2!B$1:B$100,SHEET2!C$1:C$100)建立一个包含两列数据的内在数组,第一列为A列与B列值同行合并结果,第二列为C列值。追问

sheet2!B$1:B$100=B1
这个恐怕不行, 日期是选最近的日期;等于某日期肯定是不行的

第2个回答  2019-07-31

公式:

=INDEX($C$2:$C$12,MATCH(MAX(IF($A$2:$A$12=F2,$B$2:$B$12,0)),$B$2:$B$12,0))

三键

第3个回答  2019-08-10
直接使用高级筛选就可以达到此目的,在高级筛选中选择条件。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网