У меня есть лист Excel в нижнем состоянии:

Column1     Column2
A              10
X              20
C              30
D             -45
A              50
B              61
C             -08
D             -15

Здесь я хочу, чтобы формула выбрала уникальные имена из Column1 и по отношению к этому захватить последнее значение из column2.

Например: ожидаемый результат

Column11       Column21
A                 50
B                 61
C                -08
D                -15
X                 20

1 ответ1

0

Скажем, у нас есть данные в столбцах A и B, например:

В С1 введите:

=A1

и в C2 введите формулу массива:

=IFERROR(INDEX($A$1:$A$14,INT(SMALL(IF(COUNTIF(C$1:C1,$A$1:$A$14)=0,ROW($A$1:$A$14)+(COLUMN($A$1:$A$14)*0.01)),1)),100*MOD(SMALL(IF(COUNTIF(C$1:C1,$A$1:$A$14)=0,ROW($A$1:$A$14)+(COLUMN($A$1:$A$14)*0.01)),1),1)),"")

и скопировать вниз. Это извлечет уникальные значения из столбца А. В D1 введите:

=LOOKUP(2,1/($A$1:$A$8=C1),$B$1:$B$8)

и скопировать вниз. Столбец D похож на VLOOKUP(), за исключением того, что он возвращает последнее совпадение, а не первое.

Формулы массива должны вводиться с помощью Ctrl + Shift + Enter, а не только клавиша Enter .

EDIT # 1:

Для объяснения формулы LOOKUP() см .:

комментарии simoco

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