查找包含特定年份的第一个日期

时间:2018-06-29 20:28:32

标签: excel excel-formula

我正在尝试建立一个MATCH公式(或类似的公式),该公式将返回与特定年份匹配的范围内的第一个值(日期)的位置。

例如,如果我有一个日期列表,例如:

      A
1 12-31-2014
2 11-30-2015
3 12-29-2016
4 12-30-2017

对于值2016,它应该返回3。

MATCH(2016,A:A,0)不起作用,因为它不完全匹配。我也不能使用任何辅助列,也不能修改日期。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

是否允许使用数组公式?如果是这样,它可能像这样简单:

=IFERROR(MATCH(2016,YEAR($A$1:$A$4),0),"No Match")

请记住使用 Ctrl + Shift + Enter 提交答案,因为它将是一个数组。

您需要在YEAR函数中更改引用以匹配您的范围。通过使用 0 作为您的[match_type]参数,您将获得列表中第一个年份为 2016 的值。

答案 1 :(得分:0)

有关真实日期,请尝试

=aggregate(15, 6, row($1:$999)/(year(a$1:a$999)=2016), 1)
'return the date with index as,
=index(a:a, aggregate(15, 6, row($1:$999)/(year(a$1:a$999)=2016), 1))

如果您可以按升序使用它们,

=MATCH(42369, A:A)+1
=index(a:a, MATCH(42369, A:A)+1)

有关看起来像日期的字符串列表,请尝试

=MATCH("*2016", A:A, 0)
=index(a:a, MATCH("*2016", A:A, 0))