2017-07-27 102 views
1

我有一个包含200k行数据的数据列表。我需要在某个日期之前搜索下一个订单日期,该日期与Excel中的ID号码匹配。我知道我可以使用索引匹配来查找给定日期之前的下一个日期,但是当我需要ID号来匹配给定的ID时,我该怎么做?我附上了我正在搜索的数据的示例格式。问题还在于,我没有按日期范围搜索,我需要在某个日期之前的下一个日期。在给定的日期之前有多个日期,我需要在之前提取一个日期。找到具有匹配ID号的日期之前的下一个日期Excel

找到下一个给定日期的索引匹配公式。

= INDEX(订单B:!B,MATCH(MIN(ABS(订单B:!B-F3)),ABS(订单B:!B-F3),0))

ID Date 
1 7/22/2015 
2 4/27/2016 
3 7/6/2016 
2 4/23/2016 
+0

出于某种原因,它不让我附加任何东西。它基本上是A列中的ID号和B列的日期,然后是另一张表中的ID号码是A列,而我需要找到该日期之前的下一个日期的列表,颜色为B. – ANN

+3

您可以将数据发布为文本然后用Ctrl-K格式化它。如果这不起作用,只需将数据作为文本发布,然后有人会为您进行格式化。 –

+0

ID \t日期 2015年7月22日 2016年4月27日 2016年7月6日 2016年4月23日 – ANN

回答

2

说明您的要求的另一种方法是找到B:B中的最大日期,即< F3,并且在A:A中有ID中指定的E3这是下面的公式不正是:

=AGGREGATE(14,6,Orders!B2:B999/(Orders!B2:B999<F3)/(Orders!A2:A999=E3),1) 
  • AGGREGATE(14, ...., 1)得到最大的结果给定数组中

  • 通过标准的分歧会产生不数组项DIV!0符合条件

  • 参数6指示函数忽略错误条目,包括那些除以0

注意的是,虽然这个公式不需要CSE,它是基于阵列的,因此要避免使用全列因为他们慢下来。选择足以跨越数据的合理行数(即A2:A999)。

+0

在正确的上下文中使用* maximal *这个词(我甚至没有想到它是一个真正的词,直到我GOOGLE了)。 – Jeeped

+0

@亲爱的大声笑,谢谢。本来可以用这个奖金来覆盖其他的198个单词:P –

+0

谢谢,这看起来很棒!但是,我无法让它工作。 #NUM!是我收到的错误。 – ANN

相关问题