2016-09-12 185 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)。 之后,它获得日期的最大值,即最新的,并返回相应的金额。

但是,如果您有大量数据,则可能会很慢。

相关问题