#excel #excel-formula
#excel #excel-формула
Вопрос:
Я пытаюсь объединить данные из 2 листов вместе.
Столбцы листа 1
Unique_ID
C1
C2
C3
...
Лист 2 столбца
Unique ID
Type [List of C1, C2, C3... etc. which matches the column headers in Sheet 1]
Answer
Мне нужно перенести «Ответ» с листа 2 на лист 1. Таким образом, логика должна была бы быть:
Лист 1 Unique_ID = Уникальный идентификатор листа 2
И
Заголовок столбца листа 1 [C1, C2, C3 … и т.д.] = Лист 2 [Список C1, C2, C3 … и т.д.]
Пожалуйста, дайте мне знать, если это не имеет смысла!
Лист 1 — Таблица 1
Unique ID C1 C2 C3
1
2
3
Лист 2 — Таблица 2
Unique ID Type Answer
1 C1 Text1
1 C2 Text2
1 C3 Text3
2 C1 Text4
2 C2 Text5
2 C3 Text6
3 C1 Text7
3 C2 Text8
3 C3 Text9
Лист 1 — Таблица 1
Ожидаемые результаты
Unique ID C1 C2 C3
1 Text1 Text2 Text3
2 Text4 Text5 Text6
3 Text7 Text8 Text9
Я заставил это работать, объединив Unique_ID и заголовок столбца, чтобы создать уникальный ключ на листе 2, который является Column3. На листе 1 я сделал
=VLOOKUP(CONCATENATE($A2,B$1),Table2[[#All],[Column3]:[Answer]])
Есть ли способ сделать это, не разбивая мою таблицу на диапазон и не добавляя дополнительный столбец на листе 2? Я пытался использовать INDEX
и MATCH
, но я не мог полностью разобраться в этом.
Ответ №1:
Комбинация Индекс / соответствие для этого выглядит следующим образом, начиная с B2 на листе 1, строка 1 имеет метки. Предполагая, что таблица на листе 2 начинается с A1.
=index(Sheet2!$C$1:$C$100,match($A2amp;B$1,index(Sheet2!$A$1:$A$100amp;Sheet2!$B$1:$B$100,0),0))
Скопируйте вдоль и поперек.
Вы не хотите использовать целые столбцы с формулой этого типа, потому что это может замедлить работу книги. Ссылайтесь только на диапазоны с данными.