在excel中查找[特定] / [过滤]年份的最后一行数据

时间:2012-10-30 12:01:23

标签: excel excel-formula

在excel中我有如下数据。

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

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

2011    5
2012    5

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

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

注意:我想使用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)这也会提供最后一行数据。

2 个答案:

答案 0 :(得分:1)

这是你想要的吗?

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

必须将其作为数组函数输入,因此请在{}之间输入复制并粘贴代码,然后按ctrl-shift-enter。该代码假设您在单元格2011中有A9。如果您在A10中输入2012并将公式复制下来,则可以使用。

Screen capture

该公式的基本思想是:

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

答案 1 :(得分:0)

使用pivot tables进行无需编码的最简单方法是使用max()

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