В Google Таблицах, как и в Excel есть функции для генерации случайных чисел.
Это СЛЧИС / RAND и СЛУЧМЕЖДУ / RANDBETWEEN.
Первая генерирует случайное число от 0 до 1, а вторая — целые числа в заданном диапазоне.
Соответственно, у СЛЧИС() аргументов нет — она всегда возвращает число от 0 до 1.
У СЛУЧМЕЖДУ два аргумента — границы, в которых нужно сгенерировать число.
Например, эта функция будет возвращать число от 3 до 27:
=СЛУЧМЕЖДУ (3;27)
Важная особенность этих функций — они волатильные, то есть обновляются (пересчитываются) при любых действиях пользователя в таблице (изменение, удаление данных — достаточно просто нажать Delete в пустой ячейке). Так что если вы хотите сохранить сгенерированные значения, чтобы они не менялись при каждом действии — воспользуйтесь специальной вставкой, чтобы сохранить их как значения. Скопируйте их и вставьте сочетанием клавиш Ctrl + Shift + V, чтобы избавиться от формул.
Генерация случайной даты и времени
Если вспомнить, что дата и время в Google Таблицах и Excel— это числа, то мы поймем, что можем без труда генерировать случайные даты и время.
Напомню, дата — это целое число.
Так, следующая функция будет возвращать случайные даты в промежутке между 01.01.2024 и 01.01.2025:
=СЛУЧМЕЖДУ ("01.01.2024";"01.01.2025")
Ну, а чтобы сгенерировать случайное время — достаточно воспользоваться СЛЧИС. Ведь она генерирует число от 0 до 1, а время для Google Таблиц и есть число от 0 до 1 (напомню, полдень, например = 0,5).
Соответственно, если хочется сгенерировать случайную дату и случайное время, нужно сложить две функции:
=СЛУЧМЕЖДУ("01.01.2024";"01.01.2025") + СЛЧИС ()
Выбор случайных значений из списка с помощью ИНДЕКС и СЛУЧМЕЖДУ или ВЫБОРа
Посмотрим, как можно выбрать, например, случайную команду из списка, чтобы провести жеребьевку кубка.
Задача состоит из двух этапов:
Выбрать случайное число от 1 до N, где N — количество команд в лиге (функция СЛУЧМЕЖДУ);
Вернуть названия команды, соответствующее этому номерам, из списка (функция ИНДЕКС, которая, как мы помним, возвращает элемент из массива по его номеру).
Формула будет выглядеть следующим образом:
=ИНДЕКС (список_клубов; СЛУЧМЕЖДУ (1;N))
Если у вас нет списка значений в ячейках, можно его ввести прямо в формуле. Самым простым вариантом будет функция ВЫБОР / CHOOSE: ее первый аргумент — это число, а все следующие будут возвращаться в зависимости от того, какое число в первом. Например, следующая функция вернет «Excel»: =ВЫБОР (2; "Google Таблицы"; "Excel")
Ну, а если нужно случайное значение из списка, то будет следующий общий вид: =ВЫБОР (СЛУЧМЕЖДУ (1; N); элемент 1; …; элемент N)
Например:
Случайные символы
Что насчет текста? Есть функция СИМВОЛ / CHAR — она возвращает символ по его номеру. Номер можно узнать функцией КОДСИМВ / CODE. Вот нужны вам английские буквы в верхнем регистре, например — введите их в ячейках и примените КОДСИМВ (или сразу введите буквы внутри функции в кавычках):
Получается, что A соответствует 65, а Z 90. Мы можем получить эти буквы функцией СИМВОЛ с соответствующими аргументами:
Ну, а далее отправим в эту функцию в качестве аргумента не 65 и не 90, а случайное число в этом интервале — и будет нам случайная английская буква: =СИМВОЛ (СЛУЧМЕЖДУ (65;90))
А если нужна последовательность случайных букв? Например, 5 подряд? Есть соблазн использовать функцию ПОВТОР / REPT, которая в соответствии со своим именем повторяет текст заданное число раз. Но нет, она повторит одну и ту же букву:
Можно либо склеить вручную несколько формул, генерирующих букву: =СИМВОЛ(СЛУЧМЕЖДУ(65;90)) & СИМВОЛ(СЛУЧМЕЖДУ(65;90)) & СИМВОЛ(СЛУЧМЕЖДУ(65;90))
(но это, очевидно, грустно для числа символов больше 2-3)
Либо создать массив букв с помощью MAKEARRAY (в примере 10 строк и 1 столбец, но можно и наоборот - неважно, мы все равно потом все склеиваем в одну текстовую строку) и потом объединить с помощью СЦЕПИТЬ / CONCATENATE: