Найти в Дзене

Генерируем случайную строчку в Excel

Приспичило генерировать случайную строку определенной длины в Microsoft Excel. Зачем такое вдруг

Сделать это оказалось не так, чтоб уж сложно, но пришлось столкнуться с тем, что Excel (внезапно для меня) понимал формулы только на русском и это немного усложнило процесс - пришлось потренироваться в русские названия функций :)

В общем, хотелось получить что-то такое:

То есть, если словами: на входе произвольно заданный алфавит + длина генерируемой строки, ну, и на выходе - сама случайная строка искомой длины.

В данном примере, случайный символ из алфавита можно отыскать вот по такой не хитрой формуле:

=ПСТР(B3;СЛУЧМЕЖДУ(1;ДЛСТР(B3));1)

Ну, и дальше можно тупо склеить несколько таких заклинаний с помощью амперсанда нужное кол-во раз, чтоб получить искомую длину строки:

=ПСТР(B3;СЛУЧМЕЖДУ(1;ДЛСТР(B3));1)&ПСТР(B3;СЛУЧМЕЖДУ(1;ДЛСТР(B3));1) итд.

Но это скучно. Поэтому вооружаемся функциями СЦЕП и СЛМАССИВ и делаем немного более мудрено.

В итоге, формула (в ячейке В6) расчета строки для приведенного на скриншоте примера выглядит вот так:

=СЦЕП(ПСТР(B3;СЛМАССИВ(1;B4;1;ДЛСТР(B3);ИСТИНА);1))

Всё происходило в Microsoft Excel 2021, но, по идее, должно работать и в более ранних версиях.