Я работаю над проектом, и мне нужно переформатировать большой набор данных лабораторных результатов. Теперь каждый лабораторный тест связан с идентификатором участника исследования - по одной строке на тест. Мне нужно переформатировать данные, чтобы у каждого участника была только одна строка и один столбец для каждого из 26 тестов.

СЕЙЧАС:

ID....TEST....VALUE  
ID001 TEST1 25     
ID001 TEST2 30  
ID001 TEST3 54  
ID002 TEST1 23   
ID002 TEST2 54  
ID002 TEST3 67  
etc          

ЦЕЛЬ:

ID  TEST1 TEST2 TEST  
ID001 25 30 54  
ID002 23 54 67  
etc  

Это выполнимо в Excel 2010? Любая помощь будет принята с благодарностью.

2 ответа2

2

Это типичная работа, которую люди выполняют с помощью сводной таблицы:

  • выберите ваши данные и вставьте сводную таблицу
  • добавить идентификаторы как метки строк
  • добавить тесты в качестве заголовков столбцов
  • добавьте числа в тело сводной области, используйте сумму или среднее, поскольку у вас есть только один внешний элемент строки в исходных днях запроса, и оба будут одинаковыми
0

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

Это будет мое предложение о том, как справиться с этим, и будет работать для любой версии Excel.

Первое, что вам нужно, это уникальный ключ, чтобы вы могли найти значение в вашем наборе данных. Вставьте столбец перед идентификатором, а затем добавьте формулу =B2&C2 в ячейку A2 . Затем просто скопируйте его на весь столбец, и у вас будет идентификатор, похожий на ID001TEST1 .

Далее вы хотите назвать свой диапазон данных. Самый простой способ сделать это - выделить весь набор данных от A1 до Dx , нажать на маленькое поле чуть выше столбца A и ввести « Data . Это назовет ваш диапазон. Ваши данные теперь будут выглядеть так:

              ID    TEST    VALUE
ID001TEST1  ID001   TEST1   25
ID001TEST2  ID001   TEST2   30
ID001TEST3  ID001   TEST3   54
ID002TEST1  ID002   TEST1   23
ID002TEST2  ID002   TEST2   54
ID002TEST3  ID002   TEST3   67

Теперь создайте новый лист и введите в заголовки столбцов и идентификатор участника что-то вроде этого

    A      B        C       D
1  ID      TEST1    TEST2   TEST3
2  ID001    
3  ID002    

Как только у вас есть это, вы собираетесь создать следующую формулу и вставить в B2

=VLOOKUP($A2&B$1,Data,4,0)

По сути, первый аргумент создает уникальный ключ от объединения идентификатора участника в столбце A и заголовков столбцов в строке 1. Знаки доллара фиксируют столбец A, а строку - один для второй части, чтобы при копировании и вставке формулы получался уникальный ключ, который вы хотите найти. Теперь вы можете вставить эту формулу в тело таблицы, и она должна дать вам все значения правильно.

Второй аргумент - это имя вашего набора данных, который вы установили ранее. Преимущество использования имени в том, что при копировании и вставке оно не нарушает ссылки на ячейки.

Третий аргумент, 4, представляет строку значения, и именно здесь функция извлекает данные для совпадения с ключом поиска.

Последний аргумент, 0, сообщает поисковой функции, чтобы она возвращала # N/A, если для этого ключа не найдено значение.

Ваш конечный результат будет выглядеть так:

ID     TEST1    TEST2   TEST3
ID001   25       30      54
ID002   23       54      67

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

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