Кроссворд. Формулы
Автор: Александр Хохлов   
06.01.2011 19:10

Как создать интерактивный кроссворд в электронных таблицах на основе стандартных функций Excel? Очень просто. Подробная пошаговая инструкция тут.

Постановка задачи.

Нужно сделать кроссворд так, чтобы после правильного ответа на все вопросы, выдавалось сообщение «Молодец!», в противном случае «Думай еще!». Решим эту задачу на основе стандартных функций Excel 2010.

Действие 1. Создаем сетку кроссворда на первом листе.

Одна клеточка - одна буква. Оформление - на ваше усмотрение, слова тоже. Само собой, нужно придумать вопросы к словам. Эту задачу постарайтесь решить самостоятельно.

Действие 2. Вспомогательная таблица.

Ниже, на том же листе набираем вот такую табличку.

Эта вспомогательная таблица нужна для удобства разработчика и будет скрыта от пользователя. В ячейках диапазона F16:F25 набраны правильные ответы к кроссворду. В ячейках диапазона J16:J25 будут вписаны ответы пользователя. Диапазон O16:O25 покажет, совпадают ли правильные ответы с ответами пользователя и, наконец, ячейка O26 отобразит количество верных ответов пользователя.

Действие 3. Склеиваем буквы. Функция СЦЕПИТЬ().

На этом шаге требуется объединть буквы, введенные пользователем при заполнении кроссворда, в слова. Используя функцию СЦЕПИТЬ(), склеим значения ячеек диапазона F3:M3. Обратите внимание, что ячейки диапазона последовательно указываются через точку с запятой. Чтобы не запутаться, воспользуемся кнопкой Вставить функцию.

При наборе слов, пользователь может использовать строчные и прописные буквы. При сравнении правильных ответов и введенных ответов могут возникнуть проблемы. Чтобы этого избежать, используем функцию СТРОЧН() для преобразования прописных букв к строчным.

Оставшиеся ячейки диапазона J16:J25 заполните формулами самостоятельно.

Действие 4. Считаем результат.

Задача состоит в следующем: если, собранное по буквам слово, совпадает с правильным ответом, то пишем в ячейку O16 единицу, в противном случае - пишем ноль. Полученную формулу копируем в диапазоне О16:O25.

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

Если теперь заполнить сетку кроссворда правильными ответами, то результат вспомогательной таблицы будет таким.

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

Действие 5. Вывод сообщений.

Теперь, если пользователь отгадал все слова, следует выдать сообщение «Молодец!», иначе - «Думай еще!». Другими словами, если в ячейке O26 записано число 10, значит все слова разгаданы, иначе - допущены ошибки. Используем логическую функцию ЕСЛИ() и в  ячейку N27 введем формулу.

В ячейке  N28 подсчитаем количество слов, которые осталось разгадать.

Действие 6. Группировка и блокировка ячеек.

Для того, чтобы исключить возможность подсмотреть ответы, скроем вспомогательную таблицу от пользователя. Выделяем диапазон E15:O26 и выполняем команду Данные -> Структура -> Группировать... В появившемся окне выбираем строки, затем жмем ОК.

Нажимаем на символ минуса и скрываем группу ячеек.

Выполняем команду Рецензирование -> Защитить лист. Вводим пароль, снимаем галочку напротив изменение объектов, нажимаем ОК. Теперь структура листа защищена от изменений и пользователь не сможет раскрыть вспомогательную таблицу.

Действие 7. Результат.

Кое-что подправим внешне и, в конечном итоге, получаем такой результат.

Или, при наличии ошибок, следующее.

 

Добавить комментарий

Защитный код
Обновить