Соответствие значения в A значению в B для возврата значения из C, где A имеет дубликаты (Libreoffice calc/gnumeric)

У меня есть данные как:

A B C 1 1 hi 2 2 hello 3 3 howdy 3 4 hi 4 5 hi there 5 6 hello there 5 7 howdy 6 8 hi

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

Я хочу сделать что-то вроде:

"Что такое С для А"

Итак, мои данные будут выглядеть так:

A C 1 hi 2 hello 3 howdy 3 howdy 5 hi there 5 hi there 6 hello there

Если бы в A не было дубликатов, это было бы просто, я мог бы просто отсортировать A и B по алфавиту и удалить B. Однако из-за дубликатов в A значения в A периодически сдвигаются на дополнительную строку по сравнению с B и C, поэтому данные больше не выстраивается Около 50% значения в А являются дубликатами.

Я старался

=if(B$2:B$6=A2,C2,error)

Он отлично работал для первых нескольких значений, где в A нет дубликатов (поэтому A - B - C выровнены), но затем после первого дубликата он просто возвращает ошибку.

1 ответ

Это именно то, что делает VLOOKUP.

ABCD 1 1 привет привет 2   2 привет привет 3   3 привет привет 3   4 привет привет 4   5 привет там привет 5   6 привет там привет там 5   7 привет привет 6 6 привет привет 10  9 приветствий #N/A 

Установите формулу для D2 в =VLOOKUP(A2,B$2:C$10,2,FALSE()) а затем заполните до D10,

Примечание: я добавил десятую строку, чтобы показать, что ошибка возникает, когда A нет в B.

Другие вопросы по тегам