Найти первую дату, которая содержит определенный год - PullRequest
0 голосов
/ 29 июня 2018

Я пытаюсь построить формулу 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 голосов
/ 29 июня 2018

Вам разрешено использовать формулы массива? Если это так, это может быть так просто:

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

Не забудьте зафиксировать ответ, используя Ctrl + Shift + Введите , так как это будет массив.

Вы захотите изменить ссылки в функции YEAR, чтобы они соответствовали вашему диапазону. Используя 0 в качестве параметра [match_type], вы получите первое значение в списке с годом 2016 .

.
0 голосов
/ 29 июня 2018

Для реальных дат, попробуйте,

=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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...