Excel多条件查找公式
ABC白义2019-7-31A白义2019-8-1B白义2019-8-2C大地2019-8-3D大地2019-8-4E大地2019-8-5F大地2019-8-6G白义20...
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"
日期可能会随机变 展开
白义 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"
日期可能会随机变 展开
4个回答
展开全部
在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老版本最大/末行的行号。一般都是空白的。
展开全部
可用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
这个恐怕不行, 日期是选最近的日期;等于某日期肯定是不行的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接使用高级筛选就可以达到此目的,在高级筛选中选择条件。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |