вторник, 31 мая 2011 г.

Объединение данных


Чтобы было понятнее о чем идет речь рассмотрим конкретный пример. Допустим, имеем две таблицы с данными по пациентам. В Таблице 2 представлены данные результатов анализов пациентов (А1, А2, Т1), ID_p это уникальный код пациента. В Таблице 1 представлены заболевания пациентов KOD_z. То что эти данные разделены в две разные таблицы связано с тем, что у одного пациента может быть несколько заболеваний. Задача заключается в том, чтобы каждому пациенту в Таблице 2 проставить признак всех имеющихся заболеваний из Таблицы 1.

Используя функцию СЦЕПИТЬ, в отдельном столбце для Таблицы 1 создадим уникальный код записи состоящий из кода пациента и кода заболевания
Теперь в Таблице 2, используя функцию ВПР можно перенести данные из Таблицы 1 опираясь на созданный уникальный код.


=ЕСЛИ(ЕНД(ВПР(СЦЕПИТЬ($F3;J$2);$A$3:$D$10;4;ЛОЖЬ));0;1)

Пояснения. В функции СЦЕПИТЬ($F3;J$2) адрес строки $2 и столбца $F выбраны абсолютными, чтобы при копировании формулы, номер строки/столбца не изменялся. Область данных - $A$3:$D$10, абсолютная по той же причине. Конструкция возвращает "0" если заболевания у пациента нет и "1" если есть.
Такая форма представления данных позволяет подсчитать сколько всего пациентов страдает конкретным заболеванием (сумма по столбцу) и сколько заболеваний у одного пациента (сумма по строке).



Комментариев нет:

Отправить комментарий