2013-10-10 55 views
0

我有我的Excel工作表是這樣的:在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 

... 

如何獲得B的值,A中的每個值最後一次出現?

輸出是 -

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

是否有這樣做的一個簡單的方法?謝謝!

+0

A和/或B總是按升序排序嗎?他們總是爲了?你試過什麼了? – Jaycal

+0

最後的值總是最大的? –

+1

@Jaycal是的,A和B總是按升序排序。我已經寫了一個python代碼,而且我已經得到了我需要的東西,但是我想知道我是否可以通過一個快速的宏或其他東西在excel中完成這些工作。謝謝,如果你可以幫助:) – ComputerFellow

回答

5

假設你已經有0,1,2等在C1中列出然後用這個公式在D1複製下來

=LOOKUP(C1,A:B)

+1

+ 1很好。值得一提的是,如果它是列A中的長列表並且用戶沒有列C中的值,那麼他/她總是可以使用高級過濾器在列C中生成這些值: –

+1

+1 - 另一個非常優雅的解決方案(比較VBA版本!) – pnuts

+2

可能值得澄清這個作品,因爲列A/B是排序的。 – enderland

0

要獲得列的最後一個值A使用這個公式:

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

下面將獲得B列的最後一個值:

=INDEX(B:B, COUNTA(B:B), 1) 
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 
2

突出顯示整個表格。

在「數據」選項卡的「大綱」窗格中,單擊「小計」按鈕。

在...框在改變,選擇A.

在使用功能框中,選擇最大。

在添加小計中,確保B有一個對勾

單擊確定。

使用破折號摺疊每個部分。

這將避免任何編程或公式,並保持數據不變。

相關問題