Note: The other languages of the website are Google-translated. Back to English
Войти  \/ 
x
or
x
Регистрация  \/ 
x

or

Как сгенерировать случайные строки символов в диапазоне в Excel?

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

Создавайте случайные символьные строки с формулами
Генерация случайных символьных строк с кодом VBA
Легко генерируйте случайные строки символов с помощью Kutools for Excel


Создавайте случайные символьные строки с формулами

Следующие формулы могут помочь вам создать случайные числа, буквы и буквенно-цифровые значения в диапазоне в Excel.

1. Чтобы создать случайное 5-значное число от 10000 до 99999, используйте эту формулу: = СЛУЧМЕЖДУ (10000,99999), и нажмите Enter key, в ячейке будет отображаться 5-значное число, затем выберите ячейку и перетащите маркер заполнения в диапазон, который вы хотите содержать эту формулу, был сгенерирован диапазон 5-значных чисел, см. снимки экрана:

doc-generate-strings1 -2 doc-generate-strings2

Внимание: вы можете изменить аргументы по своему усмотрению.

2. Чтобы создать случайную букву, используйте эту формулу: = СИМВОЛ (СЛУЧМЕЖДУ (65,90)). Эта формула может генерировать случайную букву от a до z, если вам нужно создать четыре случайных буквы, вам нужно использовать символ &, чтобы добавить буквы. Такие как = СИМВОЛ (RANDBETWEEN (65,90)) & CHAR (RANDBETWEEN (65,90)) & CHAR (RANDBETWEEN (65,90)) & CHAR (RANDBETWEEN (65,90)). Затем вы получите четыре случайных буквы, а затем перетащите дескриптор заполнения в диапазон, который вы хотите содержать эту формулу. Смотрите скриншот:

doc-generate-strings3

Базовые ноты:

(1.) Формула действительна в Excel 2007, 2010 и 2013, но не в Excel 2003. В Excel 2003 используйте формулу = СИМВОЛ (INT (RAND () * 25 + 65)) & CHAR (INT (RAND () * 25 + 65)) & CHAR (INT (RAND () * 25 + 65)) & CHAR (INT (RAND () * 25 + 65))

(2.) В формуле 65 - A, а 90 - Z.

(3.) Вы можете использовать символ &, чтобы добавить необходимое количество букв.

3. Чтобы создать случайную буквенно-цифровую строку, состоящую из двух букв и двух цифр, используйте эту формулу: = СИМВОЛ (СЛУЧАЙНОМУ (65,90)) И СИМВОЛ (СЛУЧМЕЖДУ (65,90)) & СЛУЧМЕЖДУ (10,99) И вы получите следующие строки в диапазоне, содержащем две буквы и две цифры:

doc-generate-strings4

Внимание: вы можете изменить аргументы, чтобы получить цифру, как вам нужно, и использовать &, чтобы добавить количество букв.

Легко генерировать случайные строки символов в выбранном диапазоне:

Легко сгенерировать случайные символьные строки с определенными символами и длиной текста с помощью Вставить случайные данные полезности Kutools for Excel.
Загрузите Kutools для Excel прямо сейчас! (30-дневная бесплатная трасса)


Генерация случайных символьных строк с кодом VBA

Если вы считаете, что приведенные выше формулы сложны и проблематичны, следующий код VBA может вам намного проще. Пожалуйста, сделайте так:

1. Удерживайте ALT + F11 ключи, и он открывает Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > модуль, и вставьте следующий макрос в модуль окно.

Public Function RandomizeF(Num1 As Integer, Num2 As Integer)
'Update 20131107
Dim Rand As String
Application.Volatile
getLen = Int((Num2 + 1 - Num1) * Rnd + Num1)
Do
    i = i + 1
    Randomize
    Rand = Rand & Chr(Int((85) * Rnd + 38))
Loop Until i = getLen
RandomizeF = Rand
End Function

3. Затем сохраните и закройте код, в ячейке введите эту функцию = RandomizeF (x, y) для вставки случайной строки символов с минимальной длиной x символов и максимальной длиной y символов.

4. В этом примере я буду использовать функцию = RandomizeF (5,10) для создания символьной строки от 5 до 10 символов. Затем нажмите Enter , выберите ячейку и перетащите маркер заполнения в диапазон, который вы хотите содержать эту функцию. И случайные буквенно-цифровые и определенные символьные строки, которые были созданы от 5 до 10 символов. Смотрите скриншот:

doc-generate-strings5


Создание случайных строк символов с помощью Kutools for Excel

Есть ли способ сгенерировать случайные строки с буквами, цифрами, специальными символами и т. Д.? Kutools for Excel's Вставить случайные данные - отличный генератор случайных чисел (и текстовой строки), который может генерировать случайные числа, случайную текстовую строку или случайные числа, текст и символы со всеми видами символов, включая буквы, числа, специальные символы, пробелы и даже настраиваемые строки.

Перед применением Kutools for Excel, Пожалуйста, сначала скачайте и установите.

1. Выберите диапазон, в котором вы будете генерировать случайные строки, а затем щелкните Kutools > Вставить > Вставить случайные данные. Смотрите скриншот:

3. В Вставить случайные данные диалоговое окно, нажмите строка вкладку и выберите нужный тип символов, затем укажите длину строки в Длина строки поле и, наконец, щелкните OK кнопка. Смотрите скриншот:

Затем выбранный диапазон был заполнен случайными строками символов.

Чаевые: если вы хотите сгенерировать или вставить указанные строки данных форматирования (например, ???? @. ??. com) в диапазон, вы также можете использовать эту утилиту. Сделайте так:

1. Выберите диапазон, укажите символы и установите флажок По маске. Затем введите указанные строки данных, которые вам нужны. Смотрите скриншот:

Внимание: С помощью ? для обозначения цифры случайного символа в конечных указанных строках форматирования.

2, Затем нажмите OK or Применить. Указанные строки данных форматирования были сгенерированы случайным образом следующим образом. Смотрите скриншот:

Kutools for Excel's Вставить случайные данные может помочь вам легко выполнить следующие операции в ячейках диапазона.

  • Сгенерировать или вставить случайные числа в диапазон
  • Сгенерировать или вставить случайную дату в диапазон
  • Создание или вставка настраиваемого списка в диапазон

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


Демонстрация: создание случайных строк символов в диапазоне


Связанные статьи:


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office / Excel 2007-2019 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Carl · 4 years ago
    I found this useful as a starting point--I hadn't touched VBA in several years, so it was way easier to use the sample code here as a basis than start from scratch.

    Skelly1008, have you thought about something like this?

    Do
    Randomize
    charVal = (Int(85 * Rnd) + 48)
    If charVal > &H30 And charVal < &H7A Then
    If Not (charVal > &H5A And charVal < &H61) Then
    If Not (charVal > &H39 And charVal < &H41) Then
    newChar = Chr(charVal)
    Rand = Rand & newChar
    End If
    i = i + 1
    End If
    End If
    Loop Until i = getLen

    That generates strings that contain only a-z, A-Z, and 0-9.
  • To post as a guest, your comment is unpublished.
    skelly1008 · 4 years ago
    I'm looking for a code that can generate any number 0 to 9 and or any letter A to Z. But I need 25 characters in the that final out put.
  • To post as a guest, your comment is unpublished.
    Nuno Figueiredo · 4 years ago
    Found way:
    1st: For each char: =RANDBETWEEN(0;1) to randomly select a number or a letter (result in A2 to A9, for example)
    2nd: =IF(An=0;RANDBETWEEN(0;9);CHAR(RAND()*26+97)) - in B2 to B9 -> to generate a number or a letter depending on result in A column
    3rd: in the cell you want the generated password: =B2&B3&B4&B5&B6&B7&B8&B9
  • To post as a guest, your comment is unpublished.
    JoJo · 4 years ago
    I live the formula but once I enter something in another field the numbers in the random fields change. I only want it to randomly generate one time. Not every time I enter data in other fields on the worksheet. Is that a separate function? Thanks!
  • To post as a guest, your comment is unpublished.
    rOHIT · 4 years ago
    Hi I want one help from you. I have to replace one last three values in this text for example: LoadTesting . I want to change only last three word of it
    • To post as a guest, your comment is unpublished.
      Jingle · 4 years ago
      [quote name="rOHIT"]Hi I want one help from you. I have to replace one last three values in this text for example: LoadTesting . I want to change only last three word of it[/quote]
      Assuming it is in cell A1:
      [code] =MID(A1,1,LEN(A1)-3)&"CAT" [/code]
  • To post as a guest, your comment is unpublished.
    Philip · 5 years ago
    Hi,

    On generating the random number in excel,can we insert the value to a form?any query plz share
  • To post as a guest, your comment is unpublished.
    Samantha R. · 5 years ago
    This is several times better than I dared hope for!! I completely disregarded the idea of generating several values in a single cell. Guaranteed I'll be using this info every chance I get! 11/10.
  • To post as a guest, your comment is unpublished.
    simone · 5 years ago
    Hi i would like to make the same in a MS WORD tab. is it possible ?
  • To post as a guest, your comment is unpublished.
    Adam · 5 years ago
    The VBA isn't working as a true random number. I'm using (10,12) as the criteria and if I run it down a couple thousand rows and do a countif formula in the adjacent column I find many duplicate passwords.
  • To post as a guest, your comment is unpublished.
    Carly · 6 years ago
    Very helpful, thank you.
    Using the VBA code, is it possible to only show letters and numbers and not other symbols?
  • To post as a guest, your comment is unpublished.
    Valentino · 6 years ago
    it works :)
    But every time he is generating new passwords, if i select or generate on another cell, previewed ones are changing all the time, and i want to not to change them. please help
    • To post as a guest, your comment is unpublished.
      HelloKelly · 6 years ago
      Hi,
      (1) After generation new passwords, you can copy them, and then paste as values.

      (2) See this article: [url]http://www.extendoffice.com/documents/excel/2496-excel-random-number-stop-changing.html[/url]
  • To post as a guest, your comment is unpublished.
    curtis · 6 years ago
    Is there a way to keep the values from changing every time I change a different field in the sheet? The passwords re-randomize every time something is changed in the sheet at all.
  • To post as a guest, your comment is unpublished.
    mel · 7 years ago
    hi,
    I need to create unique codes - how can I test to ensure the codes are not duplicated?
  • To post as a guest, your comment is unpublished.
    lineth peou · 7 years ago
    thank you for posting use full formula.
  • To post as a guest, your comment is unpublished.
    Anil Choudhary · 7 years ago
    How to do the randbetween for jan to dec string.
    • To post as a guest, your comment is unpublished.
      HelloKelly · 7 years ago
      Hi Anil Choudhary,

      You can try our Kutools for Excel. Click the Kutools > Insert Tools > Insert Random Data, and then in the Random Data dialog box, click the Custom list tab. Here you can select the custom list of month names, and then click OK.

      You can see the steps in detail at: http://www.extendoffice.com/product/kutools-for-excel/excel-random-number-generator.html#a4
  • To post as a guest, your comment is unpublished.
    Crystal · 7 years ago
    VBA method worked great. Thanks so much. I really needed this!
    Take care...
  • To post as a guest, your comment is unpublished.
    Dan88 · 7 years ago
    I was wondering if there was a way to add a generic word to the beginning of each generated code, i.e. DISCOUNT56979, DISCOUNT88531, etc. The reason I ask is so that I can track discounts used from different leads.
    • To post as a guest, your comment is unpublished.
      HelloKelly · 7 years ago
      In the Insert Random Data dialog box, there is a [b]By mask[/b] option on the String tab that can help you.

      For example, Add the “DISCOUNT” before the 5 random characters, please check the [b]By mask[/b] option, and then enter the “[i][b]DISCOUNT?????[/b][/i]” in the following box.
      • To post as a guest, your comment is unpublished.
        RRK · 5 years ago
        Try This: ="DISCOUNT"&RANDBETWEEN(10000,99999)
        This Code is for 5 Random numeric character after "Discount"

        For alphanumeric try this:
        ="DISCOUNT"&CHAR(RANDBETWEEN(65,90))& CHAR(RANDBETWEEN(65,90)) & CHAR(RANDBETWEEN(65,90)) & CHAR(RANDBETWEEN(65,90))&RANDBETWEEN(0,9)

        or

        ="DISCOUNT"&CHAR(RANDBETWEEN(65,90))& CHAR(RANDBETWEEN(65,90)) & CHAR(RANDBETWEEN(65,90))&RANDBETWEEN(10,99)
  • To post as a guest, your comment is unpublished.
    JD99 · 7 years ago
    Hi Guys,
    I would like to exclude zeros, O's and X's from the randomly generated string. How is best to achieve this? Many thanks
    • To post as a guest, your comment is unpublished.
      HelloKelly · 7 years ago
      Hi,
      It is impossible to exclude some characters from the random string when they are generating with the methods in this article.

      However, you can replace the excluded characters with other letters or numbers in the random strings.

      First of all select these strings, and then open the Find and Replace dialog box with hotkeys of Ctrl + F, at last replace each excluded character with a specified letter or number.
  • To post as a guest, your comment is unpublished.
    HappyE · 7 years ago
    Thanks for your sharing. For generate random alphanumeric function is not working in Excel 2003 version. Also, how to make it to 8 digits instead of 4?
    • To post as a guest, your comment is unpublished.
      HelloKelly · 7 years ago
      Hi HappyE,
      To generate 8 digits of random alphanumeric, you can repeat the & CHAR(INT(RAND() * 25 + 65)) 8 times in the function. That’s meaning the function changes to:

      =CHAR(INT(RAND( )* 25 + 65)) & CHAR(INT(RAND() * 25 + 65)) & CHAR(INT(RAND() * 25 + 65)) & CHAR(INT(RAND() * 25 + 65))& CHAR(INT(RAND() * 25 + 65)) & CHAR(INT(RAND() * 25 + 65)) & CHAR(INT(RAND() * 25 + 65))& CHAR(INT(RAND() * 25 + 65))
      • To post as a guest, your comment is unpublished.
        MayZ · 6 years ago
        HelloKelly,
        Great formula, thanks for posting it as I've found it very useful generating passwords. Do you know how to generate it without repeating characters at all? Example - it just returned "JUUJFENQ" but I can't have the repeating 'UU'.
        TIA,
        MayZ
  • To post as a guest, your comment is unpublished.
    HelloKelly · 7 years ago
    Hi LAurent,

    Thank you for your comment. I am very sorry the first method with formula (=CHAR) works well in Excel 2007 and 2010, but not Excel 2003. In Excel 2003, you can try the formula

    =CHAR(INT(RAND()* 25 + 65))
    or
    =CHAR(INT(RAND()* 25 + 65)) & CHAR(INT(RAND()* 25 + 65)) & CHAR(INT(RAND()* 25 + 65)) & CHAR(INT(RAND()* 25 + 65))

    By the way, the VBA code works fine in Excel 2003, and we recommend you try it.
  • To post as a guest, your comment is unpublished.
    LAurent · 7 years ago
    Great tuto
    but The function does not work for me using EXCEL 2003