Обработка результатов опросов в Excel

Автор: | 17.03.2014

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

В первый раз это было связано с выборами, наверное 2006 года. Опрос проводился с целью предварительного определения  предпочтения избирателей к партиям, представленным в Госдуме.

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

В Excel есть довольно мощный механизм получения OLAP-отчетов в виде сводных таблиц.

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

Хочется немного отвлечься, именно, по вопросу получения уникальных записей.

Этого можно добиться также путем использования коллекций VBA с анализом загружаемых (добавляемых (ADD) в коллекцию записей на их уникальность. Этот программный код хорошо представлен опять же у такого автора как Джон Уокенбах “Программирование в EXCEL на VBA”.

 

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

 

Новые опросы можно было уже делать на основе предыдущего кода. Что и было сделано во второй программе.

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

Формы не защищены, как и листы. Всё это писалось для себя. Если ПО делать более профессионально, то количество времени на его отладку резко увеличивается и не в разы, а десятки и сотни раз.

 

Защита проекта, если она есть,- 123.

Опрос о предпочтениях к партиям, входящим в Госдуму

Опрос по кандидатам в депутаты Горсовета

Опрос об экстремисткой деятельности

What are you working on?