1

在excel中,我有如下数据。

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

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

2011    5
2012    5

知道如何完成这项工作吗?

我正在查看这篇文章并找到了查找最后一行数据的方法,但是我需要知道如何按年份过滤相同的数据。

注意:我想使用 excel 预定义函数来执行此操作。没有宏,没有编码,没有枢轴。


编辑 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)这也给出了最后一行数据。

4

2 回答 2

1

这是你想要的吗?

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

必须将此作为数组函数输入,因此请在{}'s 之间输入复制并粘贴代码,然后按ctrl-shift-enter。该代码假设您2011在 cell 中A9。如果您然后输入 2012A10并将公式复制下来,它将起作用。

屏幕截图

该公式的基本思想是:

  1. 如果任何单元格A1:A7匹配A9,则将其行号添加到候选行列表中
  2. 取候选列表的最大行数;说这是k
  3. 使用索引函数返回第k行的值B1:B7
于 2012-10-30T13:39:01.400 回答
0

无需编码即可做到这一点的最简单方法是使用数据透视表

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

于 2012-10-30T12:07:43.767 回答