将最后一个日期返回到一列,其中包含来自另一列的条件

时间:2017-04-28 15:27:19

标签: excel-formula

我正在使用excel中的一组数据。将数据输入到列中指定的项目的行中。第一列包含日期。其中一列的同一行中的单元格包含人的名称,并且在同一行的另一个单元格中,但不同的列可能包含大于零的数字(或者它可能为空)。 我需要创建一个公式,该公式返回一个大于零的数字最后输入该列的特定名称的日期。这是一个“生活列表”,它继续增长,并且相同的名称出现在不同的行中,有时在列a中有一个数字,有时没有。 我在这个网站上找到了一个关于类似主题的旧帖子,这让我知道最后一个包含人名的条目的日期,但我仍然无法配置它以告诉我该特定的人还有一个号码该列中大于零。 这是主题:How to get the newest value from a column with conditions

我目前的公式如下:

=INDEX($A:$A,MATCH(MAX(IF($G:$G=Sheet7!C5,$A:$A,0)),IF($G:$G=Sheet7!C5,$A:$A,""))) CTRL + Shift + Enter

A列包含日期 G列包含名称(“Sheet7!C5”是对名称的引用) 我需要添加到混合中的值列是列AY

我觉得必须有一个简单的解决方案(对公式的一个小补充)来解决这个问题,但我总是会出错。

提前致谢:)

编辑:这是所需数据输入和输出列表的简化示例。 Data and output example

1 个答案:

答案 0 :(得分:0)

为此,您需要对日期 DESCENDING 进行排序,并将表格格式化为 Excel表格

编辑:您可以对日期升序进行排序。最后见说明。

使用您的示例,公式将是

=INDEX(TableData[Activity A], MATCH($B14, TableData[Employee initials], 0))

这与通常的VLOOKUPINDEX MATCH一样,在与员工姓名首字母匹配的活动中获取第一个日期。

您可以使用VLOOKUP,但您需要dynamically name the range每列。

编辑:就在今天,我发现了MATCH在找到多个匹配值时的有趣行为。如果您使用1代替0,则会获取列表中 last 匹配值。

因此,您可以在ASCENDING表中使用此公式。

=INDEX(TableData[Activity A], MATCH($B14, TableData[Employee initials], 1))