2016-09-12 184 views
0

希望你很好。根據另一個單元格值獲取特定的單元格值

我目前正在努力嘗試根據另一個單元格的值獲取特定單元格的值。

如果你把下面的例子:

Sample

我試圖實現是相當簡單的。在C1上,我需要添加一個公式,該公式可以獲得C列中的最新值,但是需要使用的值必須在D列上具有「Yes」值。在上面的示例中,您可以清楚地看到我想達到什麼,但是我已經對其中的數字72進行了硬編碼。理想情況下,該公式會自動獲得該值,因爲72(在單元格C5中)在D列(D5)上具有「是」。

我不太確定如何建立這個公式。

謝謝你的任何建議。

+0

它會始終是最後一個「是」之上的所有「是」,還是會有「否」混入?這將有多少行? – Kyle

回答

0

C1把公式=LOOKUP("Yes", D4:D1000, C4:C1000)

這會找到最後一次出現的「是」,並將相鄰的C單元中的值返回到C1

你願意有動態範圍嗎?或者根據你的日期進行分析?只要您按日期對錶格進行排序,上面的公式只會有用,分別從最舊到最新從上到下排序。

對於動態範圍,我們可以通過使用命名範圍來簡化事情。命名各列這樣:

日期=OFFSET(Sheet1!$A$4,0,0,COUNTA(Sheet1!$A:$A),1)

對賬=OFFSET(Sheet1!$D$4,0,0,COUNTA(Sheet1!$D:$D),1)

enter image description here

然後我們可以使用這些命名範圍,結合所提供的公式grab74找到最近的值協調下標有「是」的項目。

在細胞C1進入=VLOOKUP(MAX(INDEX(Date*(Reconcile="Yes"),,)),Date:Reconcile,3,FALSE)

現在,不管你有多少項過去的第4排,細胞C1將始終顯示的是最新和解項的值。

如果出於某種原因你不想使用命名範圍,只是想和你一個很長的forumla你可以把C1如下:

=VLOOKUP(MAX(INDEX(OFFSET(Sheet1!$A$4,0,0,COUNTA(Sheet1!$A:$A),1)*(OFFSET(Sheet1!$D$4,0,0,COUNTA(Sheet1!$D:$D),1)="Yes"),,)),OFFSET(Sheet1!$A$4,0,0,COUNTA(Sheet1!$A:$A),1):OFFSET(Sheet1!$D$4,0,0,COUNTA(Sheet1!$D:$D),1),3,FALSE)

0

您也可以嘗試以下方法:

=VLOOKUP(MAX(INDEX(A4:A1000*(D4:D1000="Yes"),,)),A4:D1000,3,FALSE) 

內部部分檢查column D是否具有值「是」。在這種情況下,column A中的單元格乘以1(TRUE),否則爲0(FALSE)。 之後,它獲得日期的最大值,即最新的,並返回相應的金額。

但是,如果您有大量數據,則可能會很慢。

相關問題