Допустим, у меня есть таблица с тремя столбцами (порядок важен и не может быть изменен), строки отсортированы по A:
A B C
date ID last_date
10/05/2015 29A06E95
10/08/2015 E5A884C4
10/12/2015 D24F4975
10/12/2015 D24F4976
10/21/2015 29A06E95
Для любой строки, если идентификатор также отображается в любой строке выше текущей, я хочу заполнить столбец C самой последней датой (или, поскольку строки отсортированы по A, значение даты из предыдущей строки с тем же идентификатором ). Например, здесь результат будет выглядеть так:
A B C
date ID prev_date
10/05/2015 29A06E95 <blank>
10/08/2015 E5A884C4 <blank>
10/12/2015 29A06E95 10/05/2015
10/12/2015 D24F4976 <blank>
10/21/2015 29A06E95 10/12/2015
Как мне это сделать (я не смог использовать ни MATCH, ни VLOOKUP, так как первый находит первое совпадение, а второй хочет найти значение поиска в первом столбце)?
Кроме того, я видел решения с формулами массивов, но они, похоже, не работают в контексте таблицы данных.
Разве вы не можете просто создать второй лист с перевернутыми столбцами и датами? Потому что тогда решения - это просто vlookup.
источник
Я думаю, что это должно сделать это:
=IFERROR(IF(A2=INDEX(MIN($A$2:$A$6),MATCH(B2,$B$2:$B$6,0)),"",INDEX(MIN($A$2:$A$6),MATCH(B2,$B$2:$B$6,0))),"")
Поместите это в C2, отредактируйте диапазоны по мере необходимости, введите как массив (с CTRL + SHIFT + ENTER ) и перетащите вниз.
Редактировать: Хорошо, неважно, видимо массивы не работают? Можете ли вы уточнить, что вы подразумеваете под «контекстом таблицы»? AFAIK Массив формул все еще должен работать с таблицами, нет?
источник