Н.А. Болсуновская, Л.В. Беспалова Технологии создания автоматизированных систем результатов диагностики в программе Microsoft Excel обработки Эта статья продолжает серию публикаций, посвященных использованию компьютерной программы Microsoft Excel в деятельности психолога образования. Напомним, что в №1, 2007 г. мы обратились к описанию общих возможностей программы Microsoft Excel для психологов, а в №№ 2–3 познакомили читателей с базовыми функциями программы и технологиями создания компьютерных вариантов психологических тестов. Сейчас мы представляем технологию создания систем автоматизированной обработки психологических тестов в программе Microsoft Excel. Не секрет, что обработка результатов диагностики занимает значительную часть рабочего времени психолога. Одной из наиболее эффективных технологий, облегчающих этот трудоемкий процесс, является автоматизация обработки результатов психодиагностических исследований, которая проводится с использованием специальных компьютерных программ. С этой задачей успешно справляется базовая офисная программа Microsoft Excel, позволяющая создавать автоматизированные системы обработки результатов диагностики. Разрабатываемые в Microsoft Excel приложения позволяют значительно сократить время на обработку и анализ результатов. Например, за один час можно сделать полную автоматическую обработку данных по тесту Филипса по целому классу (25 человек) с расчетом всех индивидуальных и групповых показателей, что при ручной обработке займет минимум четыре часа. Кроме сокращения времени, создаваемые в Excel приложения для обработки результатов, обладают и дополнительным спектром преимуществ: 1) Они позволяют использовать при обработке огромные статистические возможности, заложенные в программе Excel. 2) Обработчики Excel позволяют представить полученные результаты в автоматизированном режиме. Возможно спроектировать обработчик таким образом, что он будет автоматически генерировать отчеты, схемы, индивидуальные и групповые профили и т.д. 3) Обработчики Excel легко совместимы с другими программами Microsoft, что позволяет без проблем переносить данные из одной программы в другую Для того, чтобы создавать обработчики психологических тестов в Microsoft Excel, необходимо рассмотреть общую технологию действия автоматизированной системы обработки результатов. 1) В специально созданную таблицу-оболочку в Microsoft Excel психологом вводятся имена участников тестирования и их ответы на вопросы. 2) Ответы участников тестирования автоматически сравниваются с ключом к тесту. 3) В соответствие с особенностями обработки теста, баллы суммируются произвольным образом, а затем выводится итоговая сумма баллов субъекта по тесту в целом и его отдельным субтестам (параметрам). 1 4) Итоговые баллы автоматически сравниваются с нормативными показателями. На основании этого сравнения в автоматической режиме выдается информация об уровне выраженности той или иной характеристики у субъекта. 5) На основании итоговых результатов отдельных субъектов тестирования выводятся результаты по определенной выборке. 6) Индивидуальные результаты субъектов и обобщенные результаты по выборке представляются в текстовой (программа позволяет давать описание результатов, рекомендации по развитию или коррекции) или графической форме (диаграммы, графики, профили). Так же рассчитываются общегрупповые статистические показатели. В соответствии с представленной технологией этапы создания обработчика в программе Microsoft Excel выглядят следующим образом: 1. Создается лист «Исходные данные». На этом листе задается таблица со следующими полями: «Порядковый номер», «Фамилия, имя», «Номера ответов» (от 1 до n). В таблицу вносятся имена, фамилии субъектов диагностики и номера правильных ответов. Ответы вписываются в виде чисел или букв. Рис. 1 2. Затем создается новый лист «Обработка», на котором будут производиться все расчеты: автоматическое присуждение баллов на основании ответов субъектов, расчет первичных, итоговых баллов или групповых показателей. На листе задается таблица с полями «Номера вопросов от 1 до n», «Итоговый балл», «Итоговый уровень». Если диагностика предполагает наличие отдельных субтестов или расчет нескольких показателей, то вводятся поля «Балл по показателю N1», «Балл по показателю N2». Отдельно прописывается строка «Ключ», куда вводятся номера правильных ответов на все вопросы. Однако строка «Ключ» нужна только для тех тестов, где идет двухмерная шкала отметки, например, «1» за правильный ответ и «0» за неправильный. Для тестов, где возможны градации, например, появляется ответ «Иногда», «Когда как» и т.д. или используются трехмерные и более шкалы отметки, поле «Ключ» не вводится. Рис. 2 3. В новую таблицу автоматически переносятся фамилии субъектов тестирования. Для этого в первой ячейке столбца «Фамилия, имя» новой таблицы ставится «=», затем мы переходим на первый лист «Исходные данные» и щелкаем по ячейке с первой фамилией. Нажимаем Enter. Первая фамилия автоматически отображается на листе «Обработчик». Для того, чтобы отобразились следующие фамилии в 2 автоматическом режиме, достаточно с помощью маркера автозаполнения растянуть ячейку до конца таблицы. 4. Создание для каждого субъекта тестирования обработчика, обеспечивающего автоматическое: a) сравнение введенных ответов с образцом и присвоение определенного балла в результате каждого сравнения (двухмерная шкала отметки). b) Присвоение того или иного балла в ситуации трехмерной и более шкалы оценивания. В случае «а», когда имеется ключ, создание обработчика происходит следующим образом: введенное значение сравнивается с правильным и если они совпадают, то вводится определенное количество баллов (выдается характеристика). Если они не совпадают, то выдаются другие характеристики. Например, если информация в ячейке C3 листа «Исходные данные» совпадает с информацией «Ключа» в ячейке C2 листа «Обработчик», то необходимо присвоить 3 балла. В противном случае – присвоить 0 баллов. Данный алгоритм прописывается с использованием функции «Если» (Вставка/ Функция/Логические/Если), которая задается в пустой строке, ниже каждого ответа. Типовая формула для описанного представленного выше случая: =ЕСЛИ('Исходные данные'!C3=Обработка!C$2;3;0) Здесь важно понимать, что информация для записи формулы берется с двух листов «Исходные данные» и «Обработка». Запись в формуле 'Исходные данные'!C3 означает, что информация взята с листа «Исходные данные» из ячейки C3. Для того, чтобы взять информацию из другого листа, достаточно после записи части =ЕСЛИ( перейти на нужный лист и выделить в нем соответствующую ячейку. После этого мы возвращаемся на исходный лист и продолжаем записывать формулу. Прописывая формулу важно помнить, что при работе с «Ключом» ячейка, где находится эталонное значение, в данном случае C2, должна быть отмечена знаком абсолютной ссылки C$2, для того чтобы компьютер сравнивал значения именно с этим эталоном и для других субъектов. То есть мы могли бы «растянуть» данную формулу и на другие ответы-ячейки одного субъекта. После того, как формула прописана в одной ячейке, мы «растягиваем» ее с помощью маркера автозаполнения вправо, чтобы автоматически осуществился перевод в баллы по другим вопросам для одного субъекта. Затем выделяем все появившиеся баллы у одного субъекта, и с помощью маркера автозаполнения «тянем» всю группу вниз, для того, чтобы около всех субъектов в автоматическом режиме появились баллы перевода. Номера вопросов ФИ Иванова Петрова Сидорова Кузнецов Столбов Ключ 1 3 2 3 0 3 0 3 3 1 0 3 3 0 3 4 2 0 3 0 0 0 5 2 0 0 0 3 0 6 1 0 3 0 0 3 7 2 0 3 3 0 0 0 0 0 0 0 Рис. 3 В случае «б» задание опций обработки происходит в соответствии с другим алгоритмом: «Если в ячейку внесен определенный ответ (например «нет»), то поставь определенное количество баллов (например, "3"). Если внесен другой ответ (например, 3 «когда как») – поставь другое количество баллов (например, "0,5"); если внесен третий ответ (например, «да»), то поставь соответствующее количество баллов (например, "0"). В данном случае, формула прописывается вручную и состоит из нескольких звеньев (см. Вестник № 3, 2007, С. 113–121). Типичный вид формулы: =ЕСЛИ('Исходные данные'!C3="да";3;ЕСЛИ('Исходные данные'!C3="когда как";1;0)) Если формула перевода в баллы, остается идентичной во всем тесте, то с помощью автоматического заполнения она «растягивается» на все остальные ответы одного субъекта тестирования. Если формула перевода меняется, то в тех местах, где она изменилась, после применения автоматического заполнения, она вручную меняется в нужной нам ячейке. После того, как формула прописана в одной ячейке, мы «растягиваем» ее с помощью маркера автозаполнения вправо, чтобы автоматически осуществился перевод в баллы по другим вопросам для одного субъекта. Затем выделяем все появившиеся баллы у одного субъекта, и с помощью маркера автозаполнения «тянем» всю группу вниз, для того, чтобы около всех субъектов в автоматическом режиме появились баллы перевода. 5. Создание для всех субъектов тестирования обработчика, подсчитывающего итоговый результат теста или результаты по отдельным субтестам. Для того, чтобы подсчитать итоговый результат, необходимо воспользоваться функцией "СУММ" (Вставка/ Функция/ CУММ), которая автоматически обработает результат (более подробно см. тренажер на CD в «Вестнике практической психологии образования» №2, 2007). Пример формулы: =СУММ(J4:K4) После того, как формула прописана для всех ответов одного субъекта, она распространяется на ячейки всех остальных участников тестирования. Для этого мы с помощью маркера автозаполнения «тянем» ячейку вниз до конца таблицы. Если нам необходимо, просчитать результат по отдельным субтестам, мы суммируем не все, а вводим в область суммирования лишь необходимые нам ячейки. Номера вопросов ФИ Иванова Петрова Сидорова Кузнецов Столбов Ключ 1 3 2 3 0 0 3 0 3 3 1 0 3 3 0 3 4 2 0 3 0 0 0 5 2 0 0 0 3 0 6 1 0 3 0 0 3 7 2 0 3 3 0 0 0 0 0 0 0 Балл по Балл по Итоговый первому второму балл параметру параметру 0 6 3 0 6 0 6 6 3 3 0 12 9 3 9 Рис. 4 6. Создание обработчика, который позволяет автоматически выдавать уровни выраженности показателей, на основании значения итогового результата. Часто нам необходимо не только получить итоговый результат, но и определить уровень выраженности того или иного качества (параметра). Для того, чтобы в тесте система автоматически относила показатели к тому или иному уровню, надо воспользоваться функцией ЕСЛИ. Общий алгоритм. Если ячейка с итоговым баллом находится в диапазоне Х, то введите один уровень; если ячейка с итоговым баллом находится в диапазоне У, то введите другой уровень и т.д. Например, если L4<6, то напишите «Низкий уровень». Формула записывается аналогично, представленной выше. 4 Образец формулы (она же используется для выполнения работы в правой части): =ЕСЛИ (L4<6;"низкий уровень";ЕСЛИ(L4<10;"средний уровень";"высокий уровень")) После того, как формула прописана для всех ответов одного субъекта, она распространяется на ячейки остальных участников тестирования: с помощью маркера автозаполнения мы «тянем» ее вниз до конца таблицы. Иногда необходимо, чтобы наряду с информацией об уровне, в соседней ячейке появлялась рекомендация по коррекции или текстовая расшифровка уровня. Процедура создания такого обработчика идентична представленной выше. Пример такой формулы: =ЕСЛИ(I5<10;"Необходимо обратить внимание на развитие памяти";ЕСЛИ(I5<13;"У вас хорошая память, но необходимо обратить внимание на зрительную память";"Так держать")) Номера вопросов ФИ Иванова Петрова Сидорова Кузнецов Столбов Ключ 1 3 2 3 0 0 3 0 3 3 1 0 3 3 0 3 4 2 0 3 0 0 0 5 2 0 0 0 3 0 6 1 0 3 0 0 3 7 2 0 3 3 0 0 0 0 0 0 0 Балл по Балл по Итоговый первому второму Итоговый уровень балл параметру параметру 0 6 3 0 6 0 6 6 3 3 0 12 9 3 9 низкий уровень высокий уровень средний уровень низкий уровень средний уровень Рис. 5 7. Создание обработчика, рассчитывающего групповые показатели. Работая с выборкой субъектов, после нахождения всех индивидуальных показателей, важно рассчитать групповые показатели: количество субъектов с тем или иным уровнем, процентное соотношение, среднее по выборке и т.д. Для осуществления подобных расчетов, нам понадобятся функции СРЗНАЧ(Вставка/ Функция/ СРЗНАЧ), СЧЕТЕСЛИ(Вставка/ Функция/ СЧЕТЕСЛИ) и другие подобные функции, используемые для проведения статистических расчетов. Для групповых показателей, отражающих количество субъектов с тем или иным уровнем, целесообразно, создать отдельную табличку с полями: «Уровень», «Количество», «%» и расположить ее ниже базовой таблицы с итоговыми показателями. Уровень Низкий уровень средний уровень высокий уровень Всего количество % Рис. 6 А. Нахождение количества субъектов с тем или иным уровнем Общий алгоритм: Компьютер выбирает из всех данных только те, которые относятся к заданному нами уровню и считает их количество. Например, посчитай, сколько ячеек с «низким уровнем» в том или ином диапазоне. Примерный образец формулы: =СЧЁТЕСЛИ(M$4:M$8;M15), где M15 – это ячейка, в которой указывается, какой именно уровень брать для подсчета, в данном случае – «низкий уровень». Можно было бы и в самой формуле прописать словами «низкий уровень», однако тогда мы не сможем «растягивать» ее для субъектов с другими уровнями, и нам придется каждый раз прописывать эту формулу. 5 Также в формуле при ее прописывании важно не забыть про абсолютные ссылки при указании диапазона M$4:M$8, что указывает на то, что мы каждый раз обращаемся именно к этому диапазону, иначе при «растягивании» формулы вниз, мы будем получать ошибки. После того, как мы прописали формулу для одного из уровней, с помощью маркера автозаполнения мы «тянем» ее вниз, в результате у нас автоматически появляются значения для других уровней. Рис. 7 Б. Процентная представленность того или иного уровня в группе. Для того чтобы рассчитать процентную представленность необходимо количество субъектов с тем или иным уровнем разделить на общее количество участников и поставить процентный формат. Примерная формула, прописываемая вручную: =N15/СЧЁТЗ(M$4:$M8) N15 – это ячейка, в которой показано, сколько участников получили определенный уровень, а СЧЁТЗ(M$4:$M8) – это формула для расчета общего количества участников, когда в ячейках содержится не числовая информация, а текстовая. M$4:$M8 – диапазон ячеек, которые мы считаем. После того, как мы ввели формулу, необходимо выбрать процентный числовой формат в опции «Формат ячеек». Когда формула уже прописана для одного из уровней, мы с помощью маркера автозаполнения «тянем» ее вниз, тем самым у нас автоматически появляются процентные значения для других уровней. В. Расчет результатов выполнения отдельных заданий. Например, требуется найти, сколько субъектов в первом задании получили 3 балла за выполнение, а сколько 0 баллов. Процесс вычисления аналогичен тому, который был описан в пункте А, с тем лишь отличием, что фиксируются они в другом месте. Примерная формула: =СЧЁТЕСЛИ(C$4:C$8;3) «3» в данном случае – это критерий для отбора. Примерная формула для расчета процентной представленности по выполнению отдельного задания: =C9/СЧЁТ(C4:C8) 6 Номера вопросов ФИ Ключ Иванова Петрова Сидорова Кузнецов Столбов Кол-во "3" Кол-во "0" Кол-во "3" в % Кол-во "0" в % 1 3 2 3 0 0 0 3 3 3 0 0 3 3 2 3 3 2 40% 60% 60% 40% 3 1 0 3 0 0 0 1 4 20% 80% 4 2 0 0 0 3 0 1 4 20% 80% 5 2 0 3 0 0 3 2 3 40% 60% 6 1 0 3 3 0 0 2 3 40% 60% 7 2 0 0 0 0 0 0 5 0% 100% Рис. 8 Аналогичным образом рассчитываются групповые показатели по отдельным субтестам, если это необходимо. Кроме того, в Excel возможен расчет многих других показателей. 8. Графическое представление результатов. На основе групповых показателей строятся диаграммы, гистограммы, графики, которые при изменении основных показателей меняются вслед. При этом возможно размещение диаграммы как на том же листе «Обработка», так и на отдельном листе «Диаграммы». Более подробно о диаграммах можно прочитать в «Вестнике» № 3, 2007 г., С. 113–121. Мы выделяем те столбцы, которые хотели бы включить в диаграмму. Затем заходим в «ВСТАВКА/ ДИАГРАММА» и следуем указанием мастера создания диаграмм. 9. Создание индивидуальных профилей субъектов диагностики. Программа позволяет а автоматическом режиме формировать индивидуальные протоколы обследования субъектов. Так, вводя порядковый номер субъектов в списке, мы автоматически получаем результаты по данному участнику тестирования. Для того, чтобы создать индивидуальный протокол обследования, мы используем специальную функцию ИНДЕКС – (Вставка/ Фукнция/ Индекс). Особенность данной функции в том, что она автоматически пересчитывает результаты на каждого конкретного субъекта по его порядковому номеру. Функция в записи выглядит так: (массив;номер_строки;номер_столбца), где массив – это наша таблица с итоговыми результатами группы; номер строки – это номер ребенка по списку; номер столбца – номер столбца, откуда берутся данные. Создадим в нашей книге Лист/ «Протокол». Заполним шапку следующим образом: Рис. 9 Ячейка N1 изначально пустая, в нее вводится порядковый номер ребенка из таблицы. В зависимости от этого номера в ячейке L3 появляется фамилия ребенка. Меняя номер, введенный в N1, автоматически меняется фамилия или данные. В этом месте (в ячейке L3) и используем функцию ИНДЕКС. Формула: L3=ИНДЕКС(Обработка!A4:M8;N1;2), где «Обработка!A4:M8» – ссылка на лист Обработка, диапазон A4:M8, где «N1» – это ссылка на ячейку в которую мы ввели 7 (вводим) номер обследуемого субъекта, «2» - это номер столбца в таблице, в котором находятся фамилии субъектов. Общий алгоритм таков: При введении порядкового номера субъекта в ячейку N1, из нашего диапазона данных, из столбца №2 выбирается фамилия того субъекта, которая соответствует порядковому номеру этого субъекта. Для того, чтобы в автоматической режиме выдавались результаты по обозначенному субъекту, необходимо также применить функцию ИНДЕКС, но задать условия, при которых она будет отображать не фамилию, а результаты диагностики по конкретному. Для этого необходимо выполнить следующие действия. Создаем таблицу ниже по образцу. Рис. 10 Столбцы «Балл», «Общий результат», «Уровень» заполняются по формулам с использованием функции ИНДЕКС. Столбец «Балл» заполняется также с использованием формулы ИНДЕКС. Общий алгоритм: Необходимо из столбца №, где содержится та или иная информация (например, итог выполнения конкретного задания, уровень, итоговый результат) с диапазоном X, отобрать и показать ту информацию, которая соответствует порядковому номеру ребенка. Информация отображается при введении порядкового номера ребенка. Рассмотрим диапазон: Обработка!$A$4:$M$8 Тогда порядковый номер вводится в ячейку N$1, а информация находится в столбце №3. Общая формула записывается в следующем виде в ячейке G9: =ИНДЕКС(Обработка!$A$4:$M$8;N$1;3), где N$1 – это номер ячейки, куда вводится порядковый номер ребенка; 3 – это номер столбца, где содержатся ответы на данное задание; Обработка!$A$4:$M$8 – это диапазон, из которого берем данные. Важно не забыть про абсолютные ссылки, иначе диапазон при «растягивании» может сдвинуться и будет выдавать неверные подсчеты. Формулу можно «растянуть», но последнее значение, где содержится информация про номер столбца придется менять вручную. Аналогично прописывается ИНДЕКС для «Общего результата» и «Уровня» – здесь поменяется только номер столбца, т.к. информация об уровне и итоговом результате находятся в разных столбцах. 8 Рис. 11 Формула для «Итогового результата»: =ИНДЕКС(Обработка!$A$4:$M$8;N$1;12), где 12 – это номер столбца, где содержится информация об итоговых результатах (см. приложение на CD к журналу – Тренажер-практикум «Технологии создания автоматизированных систем обработки результатов диагностики в программе Microsoft Excel»). Формула для «Уровня»: =ИНДЕКС(Обработка!$A$4:$M$8;N$1;13), где 12 – это номер столбца, где содержится информация об уровнях выраженности. Таковы базовые возможности программы Microsoft Excel в создании автоматических систем обработки данных психологических исследований. Постепенное вхождение в мир создания автоматизированных обработчиков позволит вам открывать все новые и новые возможности. В следующих номерах журнала мы научим вас использовать возможности Microsoft Excel-приложения VBA – Visual Basic Application для автоматизации обработки психодиагностических исследований и создания компьютерных психологических тестов. 9