3

Допустим, у меня есть таблица с тремя столбцами (порядок важен и не может быть изменен), строки отсортированы по 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, так как первый находит первое совпадение, а второй хочет найти значение поиска в первом столбце)?

Кроме того, я видел решения с формулами массивов, но они, похоже, не работают в контексте таблицы данных.

3 ответа3

3

Это работает, начиная с Excel 2007. Выберите C3 и поместите в него эту формулу:

=IFERROR(INDIRECT("A"&MAX(ROW(B$2:B2)*(B$2:B2=B3))),"")

Подтвердите формулу, нажав Ctrl+Shift+Enter.

Перетащите (или скопируйте) туда, где это необходимо.

0

Разве вы не можете просто создать второй лист с перевернутыми столбцами и датами? Потому что тогда решения - это просто vlookup.

0

Я думаю, что это должно сделать это:

=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 Массив формул все еще должен работать с таблицами, нет?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .