我有这样的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
有没有一种简单的方法可以做到这一点?谢谢!
我有这样的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
有没有一种简单的方法可以做到这一点?谢谢!
假设您已经在 C1 中列出了 0、1、2 等,然后在 D1 中使用此公式向下复制
=LOOKUP(C1,A:B)
突出显示整个表格。
在数据选项卡上,在大纲窗格中单击小计按钮。
在 At change in... 框中,选择 A。
在使用函数框中,选择 Max。
在将小计添加到框中,确保 B 具有复选标记
单击确定。
使用破折号折叠每个部分。
这将避免任何编程或公式,并保持数据完整。
使用宏的示例:
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
要获取 A 列中的最后一个值,请使用以下公式:
=INDEX(A:A, COUNTA(A:A), 1)
以下将获得 B 列中的最后一个值:
=INDEX(B:B, COUNTA(B:B), 1)