Классический вариант японского судоку – это квадрат 9 * 9 клеток, в котором необходимо расставить цифры от 1 до 9 так, чтобы в каждой строке, в каждом столбце и в каждом выделенном квадрате 3 * 3 все цифры были различны.
О том, как решать судоку можно прочитать, например, здесь.
Здесь мы рассмотрим пример использования некоторых функций Excel, помогающих решить судоку.
ИНДЕКС(массив;номер_строки;номер_столбца) - возвращает значение элемента таблицы или массива, заданного номером строки и номером столбца.
- если используется один аргумент, номер_строки или номер_столбца, то функция вернет массив значений (строку или столбец соответственно)
- если используются оба аргумента номер_строки и номер_столбца, то функция возвращает значение, находящееся в ячейке на пересечении указанных строки и столбца.
СЧЁТЕСЛИ(диапазон;критерий) - подсчитывает количество ячеек внутри диапазона, удовлетворяющих заданному критерию.
Разместим исходные данные в ячейках "A1 : I9"
Теперь мы хотим, зная номер строки и столбца какой-то ячейки нашего судоку, определить какие в этой ячейке могут быть числа.
Для начала присвоим диапазону "A1 : I9" имя "СУДОКУ".
Для примера определим количество вхождений числа 2 в строку 6
=СЧЁТЕСЛИ(ИНДЕКС(Судоку;6;);2)
Работает эта формула таким образом:
- ИНДЕКС(Судоку;5;) представляет из себя строку номер 6 нашей таблицы
- Функция СЧЕТЕСЛИ() считает количество элементов этой строки, которые равны 2
Чтобы проверить присутствие числа 2 в столбце 3, к примеру, запишем
=СЧЁТЕСЛИ(ИНДЕКС(Судоку;;3);2)
А чтобы проверить и строку и столбец просто сложим два выражения
=СЧЁТЕСЛИ(ИНДЕКС(Судоку;6;);2)+СЧЁТЕСЛИ(ИНДЕКС(Судоку;;3);2)
Об использовании функции СМЕЩ() читайте в следующей заметке.
Комментариев нет:
Отправить комментарий