У нас есть книга Excel 2013, которую мы используем при создании новых учетных записей пользователей (столбец A для имени, столбец B для фамилии, столбец C для пароля и т.д.).
First name Last name Password
John Doe #s$r28
Jane Doe #s$r29
Some User #s$r30
Формат текста пароля в основном похож на # s $ r28 (этот столбец в настоящее время использует статический текст). Когда мы создаем нового пользователя, мы используем дескриптор заполнения в Excel 2013, чтобы скопировать последнюю строку на листе до следующей строки, что увеличивает содержимое ячейки для столбца пароля на 1 (один), так что пароль для новый пользователь во вновь скопированной строке станет # s $ r29, а затем следующий скопированный получит # s $ r30 и так далее. Однако этот метод не является тем, что я бы назвал лучшей практикой, и не генерирует действительно случайный пароль.
Я могу сгенерировать случайный пароль, просто используя формулу, например:
=RANDBETWEEN(0,9)&CHAR(RANDBETWEEN(65,90))&CHAR(RANDBETWEEN(97,122))&CHAR(RANDBETWEEN(33,47))
Но моя проблема в том, что при любом обновлении листа Excel формула снова запускается, и Excel обновляет все предыдущие пароли, которые отображались для всего столбца паролей. Технически это нормально, но книга хранится в исторических целях, и я хотел бы создать случайный пароль, который не обновляется при каждом копировании строки. Я искал, но не смог решить мою проблему. Я не думаю, что хочу заменить содержимое формулы в новой ячейке результатами формулы (если это вообще возможно), потому что нам все еще нужно копировать это в следующую строку всякий раз, когда мы создаем следующего пользователя ( поэтому ячейка столбца пароля должна оставаться формулой, я думаю). Так можно ли вообще запускать формулу только при копировании строки в новую? Или можно создать формулу в Excel, которая срабатывает только один раз? Или есть какой-то другой способ, которым я просто не вижу, который может сработать?
заранее спасибо