Excel按另一个列名返回另一个日期之前的日期

时间:2017-03-28 21:39:28

标签: excel excel-formula

我有以下两张数据。

我希望从工作表1上的工作表2返回日期,其中开始日期早于删除日期。例如。对于客户A,删除日期为2016年12月29日。我想从表2中返回2014年12月20日的日期,因为它是从表1中删除日期12/29/2016的下一个上一个日期,并在2017年1月1日的第三个日期之前删除。同样对于客户B,返回的日期将是11/9/2013。

Vlookup无法正常工作,因为客户有多个唯一值,而且索引和匹配没有运气。还有其他可能的解决方案吗?

这是一个编辑。开始日期的Sumproduct和聚合方法非常有效。问题是我需要将最后日期作为更换日期之后的第一条记录。所以在这种情况下,它将是2/1/16。使用Min或Max sumproduct和aggregate方法,我得到0或最大日期3/22/17,这不是我想要的。

Image

2 个答案:

答案 0 :(得分:2)

由于日期(对于所有意图和目的)数字,这实际上只是一个伪MAXIFS问题。尝试,

=aggregate(14, 6, (b2:b7)/((a2:a7="A")*(b2:B7<date(2016, 12, 29))), 1)

答案 1 :(得分:1)

enter image description here

对于那些没有最新版本的Excel并且不能使用maxifs的人,我们可以做一个数组公式:取最小日期小于对应的日期

=SUMPRODUCT(MAX((A9:A14=A3)*(IF((B9:B14)<B3,B9:B14))))


作为数组公式输入( Ctrl + Shift + Enter