Найти в Дзене
Широков Александр

Электронные таблицы: применяем с пользой (часть 9)

Оглавление

Новая виртуальная игральная кость

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

06.06.2021 на сайте exceltip.ru была опубликована статья, представляющая модифицированную версию моей заметки «Имитация игральной кости». В этой статье описан новый вариант создания в среде Microsoft Excel 2016 игрального кубика, отличающийся другим способом визуализации «граней» кости. Так как упомянутый сайт посвящён работе именно с Excel, то ниже будет рассказано про реализацию этого нового способа изготовления виртуального игрального кубика при помощи LibreOffice Calc.

Хочется порекомендовать хотя бы бегло ознакомиться с содержимым указанной статьи, поскольку на неё будет опираться изложение в настоящей заметке. Также следует напомнить, что некоторые действия и операции, используемые ниже, ранее уже разъяснялись в Пособии и других заметках на канале.

Итак, создаём новую книгу и на её листе объединяем ячейки диапазона “A1:C15” при помощи кнопки «Объединить и центрировать ячейки» (см. заметку «Ищем аллитерации в стихах»):

-2

После этого в ячейке “B17” помещаем формулу, которая будет выдавать случайное целое число от 1 до 6. Как и в случае статьи на exceltip.ru, здесь также возможны два варианта.

Вариант 1-1

Формула может быть такой (описание алгоритма её работы приведено в заметке «Имитация игральной кости»):

=INT(RAND()*6+1)

Вариант 1-2

Получить число в интервале от 1 до 6 можно иначе:

=RANDBETWEEN(1;6)

Применённая функция возвращает случайное целое из диапазона между двумя заданными ей в качестве аргументов числами.

Следует отметить, что RANDBETWEEN( ; ), как и RAND(), выдаёт новое значение каждый раз при изменении данных в листе (в том числе – при нажатии клавиши [Delete], когда выделенная ячейка является пустой).

* * *

Для визуализации граней воспользуемся специальными символами Юникода, благо что приложения LibreOffice умеют с ними работать:

⚀ ⚁ ⚂ ⚃ ⚄ ⚅

Вариант 2-1

Заполните ячейки в диапазоне “A19:A24” числами 1 до 6, в ячейках диапазона “B19:B24” поместите соответствующие знаки-грани, а в ячейке “C19” – формулу вида:

=IF(A19=B$17;B19;"")

Далее эту формулу нужно будет при помощи маркера заполнения размножить вниз, до “C24”. В результате всех этих манипуляций в одной из ячеек диапазона “C19:C24” будет отображаться символ грани кубика, соответствующий числу в “B17”, а остальные ячейки при этом будут выглядеть пустыми:

-3

Теперь нужно сделать так, чтобы в ячейке “A1” (объединённый диапазон ячеек “A1:C15”) отображался видимый символ из диапазона “C19:C24”, для чего введём в неё формулу, для записи которой можно предложить парочку вариаций.

Подвариант 2-1a

Допустимо воспользоваться символом «амперсанд» &, работа которого в составе формулы сводится к соединению (конкатенации) строк:

=C19&C20&C21&C22&C23&C24

Подвариант 2-1b

Можно применить функцию CONCATENATE( ; ; …), которая умеет объединять несколько текстовых строк в одну:

=CONCATENATE(C19;C20;C21;C22;C23;C24)

-4

Функции CONCATENATE( ; ; …) в Excel соответствует СЦЕПИТЬ( ; ; …), работающая аналогично.

-5

Вариант 2-2

Формулы способны содержать в себе символы Юникода, поэтому в “A1” можно поместить следующее выражение из пяти вложенных функций IF:

=IF(B17=1;"⚀";IF(B17=2;"⚁";IF(B17=3;"⚂";IF(B17=4;"⚃";IF(B17=5;"⚄";"⚅")))))

Вне зависимости от использованных вариантов для акцента на графическом отображении «выпавшей» грани кубика в “A1” лучше установить кегль (размер шрифта) побольше, например 250 пт, после чего имитация игральной кости будет готова.

Второй кубик при необходимости создаётся копированием и вставкой диапазона ячеек, содержащих формулы (при использовании Варианта 2‑1 вставку нужно выполнять строго справа, без смещения по вертикали, поскольку этого требует синтаксис использованных формул):

-6

Напоследок нужно упомянуть о сохранности в рабочем состоянии формул. Наряду с группировкой (Пособие, с. 19) и защитой ячеек (Пособие, с. 55) ещё одним способом избежать случайного их повреждения является сокрытие нужных строк (или столбцов), для чего следует их выделить, щёлкнуть по их заголовкам правой кнопкой мыши и в появившемся контекстном меню выбрать необходимый пункт:

-7

Обратное действие (показ скрытого) выполняется аналогично, с предварительным выделением диапазона строк, содержащих «спрятанные».

Файлы с примерами: xlsx / ods

-8
Перечень публикаций на канале
Широков Александр2 декабря 2020