根据另一个单元格值

时间:2016-09-12 12:30:32

标签: excel excel-formula cell vlookup

希望你好。

我目前正在努力尝试根据其他单元格的值获取特定单元格的值。

如果您采用以下示例:

Sample

我想要实现的目标非常简单。在C1上,我需要添加一个在C列中获取最新值的公式,但是需要使用的值必须具有“是”'在D列上分配给它的值。在上面的示例中,您可以清楚地看到我想要实现的内容,但我已经对其中的数字72进行了硬编码。理想情况下,公式会自动获得此值,因为72(在单元格C5中)具有“是”和“是”。在D栏(D5)上。

我不太确定如何构建这个公式。

感谢您的任何建议。

2 个答案:

答案 0 :(得分: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将始终显示最近一次对帐项目的值。

如果出于某种原因你不想使用命名范围,并且你只想要一个非常长的论坛,你可以放入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)

答案 1 :(得分:0)

您还可以尝试以下操作:

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

内部部分检查column D是否有值"是"。在那种情况下,column A中的单元格乘以1(TRUE),否则乘以0(FALSE)。 之后,它获得日期的最大值,即最新值,并返回相应的金额。

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