Индекс совпадения для возврата MAX Date с несколькими критериями - PullRequest
0 голосов
/ 04 декабря 2018

извиняюсь за это, я предполагаю, что это просто, но несколько часов ТАКОГО поиска в Google не помогли

Достаточно скулить от меня:

Рассмотрим следующий набор данных:

ID, Date, Review, Review    Status
1   01/02/18, "Cool",       Positive
1   01/03/18, "Awesome", "  Positive
1   01/01/18, "Cumbersome", Negative
1   01/02/18, "Rubbish!", " Negative

В настоящее время я использую совпадение индекса типа массива, чтобы получить последний обзор на основе нескольких условий

У меня есть два столбца, один из которых говорит о положительном, один о отрицательном.

в каждом столбце я хотел бы получить последний положительный отзыв, но я не уверен, как получить максимальную дату в приведенной ниже формуле:

{=index(C2:C4, MATCH(1,(1 = A2:A4)*("Positive" = D2:D4)*(maxdatehere = B2:B4),0))}

Данные, которые у меня есть, составляют около 7 тыс. строк и являются GoogleПросмотрите данные и в значительной степени соответствует приведенному выше примеру.

Я бы предпочел не использовать VBA, поскольку я никогда не использовал его раньше (но сделаю это неохотно)

, поскольку это превосходно, я не создал демонстрационный лист Google, норад сделать это для удобства экспертов и для других, если они найдут путь сюда однажды.

1 Ответ

0 голосов
/ 04 декабря 2018

Если у вас Office 365:

=INDEX(C2:C5, MATCH(1,(1 = A2:A5)*("Positive" = D2:D5)*(MAXIFS(B:B,A:A,1,D:D,"Positive") = B2:B5),0))

Подтвердите с помощью Ctrl-Shift-enter вместо Enter при выходе из режима редактирования.

enter image description here


Если у вас 2010 или более поздняя версия, то:

=INDEX(C:C,AGGREGATE(15,7,ROW(C2:C5)/((A2:A5=1)*(D2:D5="Positive")*(AGGREGATE(14,7,B2:B5/((A2:A5=1)*(D2:D5="Positive")),1)=B2:B5)),1))

Введен нормально.

enter image description here

...