0

我有这样的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

4 回答 4

5

假设您已经在 C1 中列出了 0、1、2 等,然后在 D1 中使用此公式向下复制

=LOOKUP(C1,A:B)

于 2013-10-10T12:56:13.933 回答
2

突出显示整个表格。

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

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

在使用函数框中,选择 Max。

在将小计添加到框中,确保 B 具有复选标记

单击确定。

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

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

于 2013-10-10T13:09:11.563 回答
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
于 2013-10-10T13:02:36.943 回答
0

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

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

以下将获得 B 列中的最后一个值:

=INDEX(B:B, COUNTA(B:B), 1)
于 2013-10-10T12:54:28.990 回答