У меня есть наборы данных для объединения в Excel 2010. Каждый набор данных имеет имя члена, например, "Алан Эндрюс" в строке 2 столбца 1, а результаты для Алана Эндрюса - в двух следующих столбцах. Набор данных в алфавитном порядке имени члена и около 400 строк.

Однако список участников и общее количество членов менялось несколько раз в течение года, когда были собраны наборы данных. Таким образом, в одном наборе данных Джон Уолл может быть строкой 370, а в другом он может быть строкой 372.

Есть 20 наборов данных

Я хочу создать единый список, в котором все имена будут отображаться в столбце 1 в алфавитном порядке, и для каждого имени будет до 40 столбцов данных.

Я не в VBasic. Любые предложения, пожалуйста?

1 ответ1

0

Добавьте новый лист и скопируйте имена элементов из каждого набора данных в столбец A нового листа, просто добавив его в конец предыдущего списка. Как только они все там, сортируйте их и удаляйте дубликаты.

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

Например, если первый набор данных находится на рабочем листе с именем "dataset1", а первый результат находится в столбце F, а второй результат - в столбце Q, введите эту формулу в строку 2 нового листа (я предполагаю, что строка 1 имеет заголовок):

=VLOOKUP($A2,dataset1!$A$2:$E$400,COLUMN(dataset1!$F$1),FALSE)

Формула для получения второго результата из набора данных1 (столбец Q):

=VLOOKUP($A2,dataset1!$A$2:$E$400,COLUMN(dataset1!$Q$1),FALSE)

Вы можете скопировать ячейку, содержащую формулу, а затем вставить ее в строки для всех имен в вашем списке.

Вы должны будете сделать то же самое для всех 20 наборов данных. Если номера столбцов результатов - это имя, вы можете скопировать / вставить формулы в строку 2 и просто обновить имя листа для каждого.

Если конкретное имя не отображается на определенном листе, вы получите сообщение об ошибке (# N/A). Вы можете либо оставить их, либо удалить их вручную, либо изменить свои формулы следующим образом:

=IFERROR(VLOOKUP($A2,dataset1!$A$2:$E$400,COLUMN(dataset1!$Q$1),FALSE),"")

Надеюсь, это поможет!

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