January 9, 2021

Функция ВЫБОР/CHOOSE в Excel и Google Таблицах: выбираем случайный элемент из набора

Функция ВЫБОР возвращает одно из значений, перечисленных в ее аргументах, по порядковому номеру (это первый аргумент):

=ВЫБОР(индекс; значение 1; [значение 2]; ...)

Например:

=ВЫБОР(2; "мужской"; "женский")

будет возвращать текстовое значение "женский".

Ну а индекс совершенно не обязательно брать фиксированным числом. Его можно сделать случайным и сгенерировать какие-то данные. Например, я создаю учебную таблицу и мне нужно случайно присвоить товару один из трех вариантов — "женский", "мужской", "унисекс". Тогда у ВЫБОРа будет три значения, а индекс будем генерировать с помощью функции СЛУЧМЕЖДУ/RANDBETWEEN с аргумента 1 и 3 (случайное целое число от 1 до 3):

=ВЫБОР(СЛУЧМЕЖДУ(1;3); "женский";"унисекс";"мужской")

Аргументами могут быть и диапазоны. Пофантазируем: у нас есть таблицы соответствий мужских и женских размеров, и в зависимости от категории модели, мы будем ВПРом искать соответствие размера либо в одной таблице, либо в другой.

Функция ВЫБОР будет выдавать ссылку на ту или иную таблицу в зависимости от категории в столбце A:

ВЫБОР(A2;$E$3:$F$14;$H$3:$I$14)

Тут важно отметить, что это сработает напрямую, если категория указана как число, ведь у нас индекс у ВЫБОРа должен быть числом. Иначе надо как-то дополнительно конвертировать.

Ну а далее эта функция ВЫБОР становится аргументом у ВПР как таблица для поиска:

=ВПР(B2;ВЫБОР(A2;$E$3:$F$14;$H$3:$I$14);2;0)

Файл с примером

Отличаются ВЫБОРы в Google Таблицах и в Excel по количеству поддерживаемых значений (30 и 254 соответственно, хотя вряд ли столько понадобится на практике в большинстве случаев).