Note: The other languages of the website are Google-translated. Back to English

如何在Excel中生成一個隨機字符串?

有時您可能需要在單元格中生成隨機字符串,例如不同的密碼。 本文試圖向您展示一些技巧,以便在Excel中生成不同的隨機字符串。

使用公式生成隨機字符串
使用VBA代碼生成隨機字符串
使用Kutools for Excel輕鬆生成隨機字符串


使用公式生成隨機字符串

以下公式可以幫助您在Excel的範圍內生成隨機數,字母和字母數字值。

1。 要創建介於5和10000之間的99999位隨機數,請使用以下公式: = RANDBETWEEN(10000,99999),然後按 Enter 鍵,一個5位數字將顯示在一個單元格中,然後選擇該單元格並將填充手柄拖到要包含此公式的範圍內,已生成一系列5位數字,請參見屏幕截圖:

文檔生成字符串1 -2 文檔生成字符串2

備註:您可以更改參數以獲取需要。

2。 要創建隨機字母,請使用以下公式: = CHAR(RANDBETWEEN(65,90))。 此公式可以生成一個從a到z的隨機字母,如果需要創建四個隨機字母,則需要使用&字符添加字母。 如 = CHAR(RANDBETWEEN(65,90))&CHAR(RANDBETWEEN(65,90))&CHAR(RANDBETWEEN(65,90))&CHAR(RANDBETWEEN(65,90))。 然後,您將獲得四個隨機字母,然後將填充手柄拖到要包含此公式的範圍內。 看截圖:

文檔生成字符串3

筆記:

(1.)該公式在Excel 2007、2010和2013中有效,但在Excel 2003中無效。在Excel 2003中,請使用該公式 = CHAR(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。 若要創建具有兩個字母和兩個數字的隨機字母數字字符串,請使用以下公式: = CHAR(RANDBETWEEN(65,90))&CHAR(RANDBETWEEN(65,90))&RANDBETWEEN(10,99) 並且您將在包含兩個字母和兩個數字的範圍內獲得以下字符串:

文檔生成字符串4

備註:您可以更改參數以獲取所需的數字,並使用&添加字母數。

輕鬆生成選定範圍內的隨機字符串:

生成帶有特定字符和文本長度的隨機字符串很容易, 插入隨機數據 的效用 Excel的Kutools.
立即下載 Excel 版 Kutools! (30-天免費試用)


使用VBA代碼生成隨機字符串

如果您覺得上述公式很困難且很麻煩,那麼以下VBA代碼可以幫助您輕鬆得多。 請這樣做:

1。 按住 ALT + F11 鍵,然後打開 Microsoft Visual Basic for Applications 窗口。

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個字符的字母數字和特定字符串。 看截圖:

文檔生成字符串5


使用Kutools for Excel生成隨機字符串

有沒有一種方法可以生成帶有字母,數字和特殊字符或更多字符的隨機字符串? Excel的Kutools's 插入隨機數據 是一個出色的隨機數(和文本字符串)生成器,可以生成具有各種字符(包括字母,數字,特殊字符,空格甚至自定義字符串)的隨機數,隨機文本字符串或隨機數和文本符號。

申請前 Excel的Kutools首先下載並安裝.

1。 選擇一個將在其中生成隨機字符串的範圍,然後單擊 庫工具 > 插入 > 插入隨機數據。 見截圖:

3。 在 插入隨機數據 對話框,單擊 標籤,然後根據需要選擇字符類型,然後在 弦長 框,最後單擊 OK 按鈕。 看截圖:

然後,所選範圍已用隨機字符串填充。

尖端注意:如果要在範圍中生成或插入指定的格式數據字符串(例如???? @。??。com),則也可以使用此實用程序。 這樣做:

1。 選擇範圍並指定字符並檢查 面膜。 然後輸入所需的指定數據字符串。 看截圖:

備註:使用 ? 在最終指定的格式字符串中指示一位隨機字符。

2。 然後點擊 OK or 登記。 指定的格式數據字符串已按以下方式隨機生成。 看截圖:

Excel的Kutools's 插入隨機數據 可以幫助您輕鬆地在範圍單元格中處理以下操作。

  • 生成或插入範圍內的隨機數
  • 生成或插入範圍內的隨機日期
  • 生成或在範圍內插入自定義列表

  如果您想免費試用(30-day) 這個實用程序, 請點擊下載,然後按照上述步驟進行操作。


演示:生成範圍內的隨機字符串


相關文章:


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部

按評論排序
留言 (29)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
很棒的教程,但該功能對我使用 EXCEL 2003 不起作用
網站主持人對此評論進行了最小化
嗨 LAurent,謝謝您的評論。 很抱歉,第一種使用公式 (=CHAR) 的方法在 Excel 2007 和 2010 中效果很好,但在 Excel 2003 中效果不佳。在 Excel 2003 中,您可以嘗試使用公式 =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)) 順便說一下,VBA 代碼在 Excel 2003 中運行良好,我們建議您嘗試一下。
網站主持人對此評論進行了最小化
謝謝你的分享。 生成隨機字母數字函數在 Excel 2003 版本中不起作用。 另外,如何將其變為 8 位而不是 4 位?
網站主持人對此評論進行了最小化
您好 HappyE,要生成 8 位隨機字母數字,您可以在函數中重複 & CHAR(INT(RAND() * 25 + 65)) 8 次。 這意味著函數更改為: =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))
網站主持人對此評論進行了最小化
HelloKelly,很棒的公式,感謝您發布它,因為我發現它生成密碼非常有用。 你知道如何在不重複字符的情況下生成它嗎? 示例 - 它剛剛返回“JUUJFENQ”,但我不能重複“UU”。 TIA, MayZ
網站主持人對此評論進行了最小化
大家好,我想從隨機生成的字符串中排除零、O 和 X。 如何最好地實現這一目標? 非常感謝
網站主持人對此評論進行了最小化
您好,使用本文方法生成隨機字符串時,無法排除某些字符。 但是,您可以 更換 隨機字符串中帶有其他字母或數字的排除字符。 首先選擇這些字符串,然後用快捷鍵Ctrl+F打開查找和替換對話框,最後用指定的字母或數字替換每個排除的字符。
網站主持人對此評論進行了最小化
我想知道是否有一種方法可以在每個生成的代碼的開頭添加一個通用詞,即 DISCOUNT56979、DISCOUNT88531 等。我問的原因是我可以跟踪來自不同潛在客戶的折扣。
網站主持人對此評論進行了最小化
在插入隨機數據對話框中,有一個 面膜 “字符串”選項卡上的選項可以幫助您。 例如,在 5 個隨機字符前添加“折扣”,請檢查 面膜 選項,然後輸入“折扣?????”在下面的框中。
網站主持人對此評論進行了最小化
試試這個:="DISCOUNT"&RANDBETWEEN(10000,99999) 這個代碼是“折扣”後的 5 個隨機數字字符 對於字母數字試試這個:="DISCOUNT"&CHAR(RANDBETWEEN(65,90))& CHAR(RANDBETWEEN(65,90, 65,90)) & CHAR(RANDBETWEEN(65,90)) & CHAR(RANDBETWEEN(0,9))&RANDBETWEEN(65,90) 或="折扣"&CHAR(RANDBETWEEN(65,90))& CHAR(RANDBETWEEN(65,90, 10,99)) & 字符(RANDBETWEEN(XNUMX))&RANDBETWEEN(XNUMX)
網站主持人對此評論進行了最小化
VBA 方法效果很好。 非常感謝。 我真的需要這個! 小心...
網站主持人對此評論進行了最小化
如何為 jan 到 dec 字符串做 randbetween。
網站主持人對此評論進行了最小化
嗨 Anil Choudhary,您可以試試我們的 Kutools for Excel。 單擊 Kutools > 插入工具 > 插入隨機數據,然後在隨機數據對話框中,單擊自定義列表選項卡。 在這裡您可以選擇月份名稱的自定義列表,然後單擊確定。 您可以在以下位置查看詳細步驟: http://www.extendoffice.com/product/kutools-for-excel/excel-random-number-generator.html#a4
網站主持人對此評論進行了最小化
感謝您發布使用完整的公式。
網站主持人對此評論進行了最小化
嗨,我需要創建唯一代碼 - 我如何測試以確保代碼不重複?
網站主持人對此評論進行了最小化
每次我更改工作表中的不同字段時,有沒有辦法防止值發生變化? 每次在工作表中更改某些內容時,密碼都會重新隨機化。
網站主持人對此評論進行了最小化
它有效:) 但是每次他生成新密碼時,如果我在另一個單元格上選擇或生成,預覽的密碼一直在變化,我不想改變它們。 請幫忙
網站主持人對此評論進行了最小化
嗨,(1)生成新密碼後,您可以復制它們,然後粘貼為值。 (2) 見這篇文章:[url]http://www.extendoffice.com/documents/excel/2496-excel-random-number-stop-changing.html[/ URL]
網站主持人對此評論進行了最小化
很有幫助,謝謝。 使用 VBA 代碼,是否可以只顯示字母和數字而不顯示其他符號?
網站主持人對此評論進行了最小化
VBA 不能用作真正的隨機數。 我使用 (10,12) 作為標準,如果我將它運行到幾千行並在相鄰列中執行 countif 公式,我會發現許多重複的密碼。
網站主持人對此評論進行了最小化
嗨,我想在 MS WORD 選項卡中做同樣的事情。 是否可以 ?
網站主持人對此評論進行了最小化
這比我想像的要好幾倍!! 我完全無視在單個單元格中生成多個值的想法。 保證我一有機會就會使用這些信息! 11/10。
網站主持人對此評論進行了最小化
嗨,在 excel 中生成隨機數時,我們可以將值插入到表單中嗎?任何查詢請分享
網站主持人對此評論進行了最小化
嗨,我需要你的幫助。 我必須替換此文本中的最後三個值,例如: LoadTesting 。 我只想改變它的最後三個字
網站主持人對此評論進行了最小化
[quote]您好,我需要您的幫助。 我必須替換此文本中的最後三個值,例如: LoadTesting 。 我只想改變它的最後三個字通過 rOHIT[/quote] 假設它在單元格 A1 中:

=MID(A1,1,LEN(A1)-3)&"CAT"
網站主持人對此評論進行了最小化
我採用公式,但是一旦我在另一個字段中輸入內容,隨機字段中的數字就會改變。 我只希望它隨機生成一次。 不是每次我在工作表的其他字段中輸入數據時。 那是一個單獨的功能嗎? 謝謝!
網站主持人對此評論進行了最小化
找到方法: 第一種:對每個字符:=RANDBETWEEN(1;0) 隨機選擇一個數字或字母(例如A1到A2) 第9種:=IF(An=2;RANDBETWEEN(0;0); CHAR(RAND()*9+26)) - 在 B97 到 B2 -> 根據 A 列中的結果生成數字或字母 第 9 列:在要生成密碼的單元格中:=B3&B2&B3&B4&B5&B6&B7&B8
網站主持人對此評論進行了最小化
我正在尋找可以生成任何數字 0 到 9 和或任何字母 A 到 Z 的代碼。但我需要在最終輸出中包含 25 個字符。
這裡還沒有評論
載入更多
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護