在excel中查找 / 年份的最后一行数据

在Excel中,我有如下的数据。

2011 0 2011 15 2011 10 2011 5 2012 15 2012 10 2012 5 

我想find的是相应年份的最后一行,以便输出

 2011 5 2012 5 

任何想法如何做到这一点?

我正在看这篇文章,并findfind最后一行数据的方式,但是我需要知道如何过滤一年。

注意 :我想用Excel预定义的函数来做这个。 NOmacros,NO编码,NO pivot。


编辑1

=INDEX($B:$B,MAX(IF(LEN($B:$B)>0,ROW($B:$B),0)),1)给了我答案5.然而,我希望它适合按年份。 任何想法如何做到这一点?


编辑2

=OFFSET(B2,MAX(IF(NOT(ISBLANK(B2:B25)),ROW(B2:B25),0))-ROW(B2),0)这也给出了最后一行数据。

这是你想要的吗?

 {=INDEX($B$1:$B$7,MAX(IF(A9=$A$1:$A$7,ROW($A$1:$A$7))))} 

必须将其input为数组函数,因此请在{}之间复制并粘贴代码,然后按ctrl-shift-enter 。 代码假定你在单元格A92011年。 如果你在A10input2012,然后复制公式,那么它将起作用。

屏幕截图

公式的基本思想是:

  1. 如果A1:A7中的任何单元格与A9匹配,则将其行号添加到候选行列表中
  2. 取候选人名单的最大行数; 说这是k
  3. 使用索引函数返回B1:B7k中的值

没有编码的最简单的方法是使用数据透视表 。

如果你碰巧写了一个Excel公式或函数,你很可能会使用max()函数和vlookup()或hlookup()函数。