在排序表中查找匹配值的最后一行

在排序表中查找匹配值的最后一行

我在 Excel 中有一个表格,为简单起见,我们将其定义为:

Order# |   Date   | Price |
123    | 1-1-2013 | 100   |
135    | 1-2-2013 | 150   |
145    | 2-4-2013 | 100   |
145    | 2-5-2013 | 100   |
123    | 3-5-2013 | 250   |

在此表中,订单号是一个重复值,每次的日期和价格都不同(即分期付款)。该表按日期从最旧到最新排序。我无法以任何方式修改或重新排列此表的内容。

我有一个单独的列表,其中包含订单号的部分样本,我需要针对主表进行查询并返回订单号的最后一个匹配实例的日期值。例如,如果订单的部分样本为 (123, 135),则表格将如下所示:

Order# | Last_Match_Date |
123    | 3-5-2013        |
135    | 1-2-2013        |

我尝试使用该vlookup(Order#,TableArray,DateColumn,false)函数,但它返回第一个匹配的日期值(最早的日期),而我需要最后匹配的日期值(最新的日期)。

答案1

在下面上次比赛日期列输入此数组公式1并抄下来:

=MAX(IF(order_numbers=A2,dates,""))

在哪里:

  • order_numbers指的是源数据中的第一列(订单号)
  • dates指的是第二列(日期)
  • A2 是您要在单独列表中查找的订单号

公式将返回最新/最新日期即使你的源数据没有排序。

例子:

在下面的例子中,我将& 替换order_numbers为。$A$1:$A$6dates$B$1:$B$6

在此处输入图片描述

--

1输入公式后 按 Ctrl++ShiftEnter

相关内容