在Excel中获取系列的最后一个值?

时间:2013-10-10 12:46:12

标签: excel vba excel-vba excel-2010

我的excel表格如下:

A | B
-----
0 | 2
0 | 3
0 | 4
0 | 5
0 | 6
0 | 7
1 | 8
1 | 9
1 | 10
1 | 11
1 | 12
2 | 13
2 | 14

...

如何在A?

中为每个值的最后一次出现获取B的值

输出是 -

C | D
0 | 7
1 | 12
2 | 14

有一种简单的方法吗?谢谢!

4 个答案:

答案 0 :(得分:5)

假设你已经在C1中列出了0,1,2等等,那么在D1中复制使用这个公式

=LOOKUP(C1,A:B)

答案 1 :(得分:2)

突出显示整个表格。

在“数据”选项卡上的“大纲”窗格中,单击“小计”按钮。

在At change in ...框中,选择A.

在使用功能框中,选择最大。

在“添加小计”框中,确保B有复选标记

单击“确定”。

使用破折号折叠每个部分。

这将避免任何编程或公式,并保持数据完整。

答案 2 :(得分:0)

要获取A列中的最后一个值,请使用以下公式:

=INDEX(A:A, COUNTA(A:A), 1)

以下内容将获取B列中的最后一个值:

=INDEX(B:B, COUNTA(B:B), 1)

答案 3 :(得分:0)

使用宏的示例:

Sub LastValueInB()

VarA = Range("A1").Value
VarB = Range("B1").Value
Output = ""

For i = 1 To 10

    If Range("A" & i).Value = VarA Then
        VarB = Range("B" & i).Value
    Else
        Output = Output + VarA & VarB & vbCrLf
        VarA = Range("A" & i).Value
    End If

Next i

MsgBox Output

End Sub