Excel - получение диапазона года из одного столбца - PullRequest
0 голосов
/ 01 июня 2018

Мне нужно создать годовой диапазон для нескольких ячеек с одинаковыми именами, имеющих разные даты.YearRange

В качестве примера я бы хотел, чтобы все ячейки с именем 48947_b580541 имели годовой диапазон 1946-1950 гг.Мне нужно сделать это для примерно 500 тысяч строк данных.Желаемый результат ниже.

enter image description here

Мне не удалось найти способ получить диапазон, который изменится, когда столбец источника изменится.То есть формула создаст диапазон лет для лет в 48947_b580541, а затем начнет заново, как только достигнет 48947_b580542, и создаст его для этой группировки.

Любая помощь очень ценится.

1 Ответ

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

Для всех версий

=MIN(INDEX(--(B$2:INDEX(B:B, MATCH("zzz", A:A)))+(A$2:INDEX(A:A, MATCH("zzz", A:A))<>A2)*1E+99, , ))&"-"&
 MAX(INDEX(--(B$2:INDEX(B:B, MATCH("zzz", A:A)))-(A$2:INDEX(A:A, MATCH("zzz", A:A))<>A2)*1E+99, , ))

enter image description here

Для более новых версий Excel с функциями MINIFS / MAXIFS вы можете просто использовать,

=minifs(b:b, a:a, a2)&"-"&maxifs(b:b, a:a, a2)

Тем не менее, я подозреваю, что числа-годы в столбце B на самом деле представляют собой числа-тексты-числа;скорее всего от left(c2, 4).Если это так, добавьте двойное унарное выражение к формуле в столбце B, например,

=--left(c2, 4)

, которое преобразует все результаты в действительные числа, которые можно прочитать с помощью minifs / maxifs.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...