Сопоставление Excel и создание нового столбца - PullRequest
2 голосов
/ 29 апреля 2020

Столбцы файла Excel:

A                  B                  C
2                  two                3
5                  five               8
3                  three              10
8                  eight              11
12                 one                15

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

A                  B                  C               D
2                  two                3               three
5                  five               8               eight
3                  three              10              
8                  eight              11
12                 one                15

Я хочу отобразить C и A и при совпадении D принимает значения B.

Пример: значение 3 в C присутствует в A, поэтому D будет принимать B значение three.

Спасибо!

Ответы [ 2 ]

3 голосов
/ 29 апреля 2020

Если у вас есть DA-функциональность, вы можете использовать:

1) - исключая пустые ячейки, используя FILTER:

enter image description here

Формула в D1:

=FILTER(B1:B5,COUNTIF(C1:C5,A1:A5)>0)

2) - включая пустые ячейки с использованием XLOOKUP:

enter image description here

Формула в D1:

=XLOOKUP(C1:C5,A1:A5,B1:B5,"")

Если кто-то не имеет доступ к DA-функциональности, которую вы можете использовать:

1) - Исключая пустые ячейки, используя INDEX, MATCH и SMALL:

=IFERROR(INDEX(B$1:B$5,SMALL(IFNA(MATCH(C$1:C$5,A$1:A$5,0),""),ROW(A1))),"")

Примечание 1 - необходимо ввести массив через Ctrl Shift Enter

Примечание 2 - В качестве альтернативы можно использовать подход, не введенный в массив, включая AGGREGATE согласно @ basi c: =IFERROR(INDEX(B$1:B$5,AGGREGATE(15,6,MATCH(C$1:C$5,A$1:A$5,0),ROW(A1))),"")

2) - Включая пустые ячейки, используя VLOOKUP:

Пожалуйста, обратитесь к другому ответу @Gravity здесь .


В основном разница между подходы могут быть визуализированы как:

enter image description here

3 голосов
/ 29 апреля 2020

Итак, основываясь на дополнительном предложении BigBen об использовании IFERROR, я думаю, вы хотите что-то похожее на это в столбце D:

=IFERROR(VLOOKUP(C1, A:B, 2, FALSE), "") ... и затем перетащите формулу вниз по всему столбцу D

Теперь здесь делаются некоторые предположения:

  1. У ваших данных нет строки заголовка, все данные начинаются со строки 1, а не со строки 2
  2. Вам нужны пустые / пустые значения там, где нет точного соответствия (это предложение IFERROR BigBen). Ваш текущий макет вопроса, кажется, предлагает это. В противном случае вы получите #N/A во всех этих пустых ячейках столбца D.

РЕДАКТИРОВАТЬ: Для подтверждения я использовал ваши данные (хотя я начал в строке 2), и вот как это выглядело после -

enter image description here

...