Skip to main content

Kutools for Office — 一套工具,五種功能。完成更多工作。

如何在Excel中從數據列表中隨機填充值?

Author Kelly Last modified

在Excel中從預定義的列表中隨機選擇值是一項常見任務,應用範圍廣泛,包括數據分析、模擬、隨機分配、抽樣、測試場景等。例如,您可能希望模擬抽取獎品、為質量保證分配隨機測試案例,或在團隊成員之間隨機分配任務。在Excel中實現這一點可以讓您的工作流程更加高效且減少錯誤,相比手動選擇更是如此。

本綜合指南將引導您使用多種方法來實現這一目標,從適合所有用戶的簡單公式方法,到使用VBA進行高級自動化,甚至使用像Kutools for Excel這樣的專業且易於使用的工具。每種方法都有其自身的優勢和理想的使用場景,以下內容將進行詳細分析,以幫助您選擇最適合您需求的解決方案。


使用公式從數據列表中隨機填充值

在本節中,我們將引導您通過幾種基於公式的實用方法,從指定列表中隨機填充值。這些解決方案不需要額外安裝,並且可以在大多數現代版本的Excel中快速實現。

✅ 公式1:INDEX + RANDBETWEEN 函數

INDEX 和 RANDBETWEEN 函數的組合是一種經典且跨版本兼容的方法,用於從列表中隨機選擇值。它適用於快速生成單個或多個隨機值的情況,其中重複選擇是可以接受的,例如在隨機抽樣或模擬數據生成中。

要使用此方法,只需將以下公式複製或輸入到空白單元格中(例如B2),然後拖動填充柄向下填充所需的隨機值數量即可。請記住,由於該公式涉及易變函數(如RANDBETWEEN),每次工作表重新計算時其結果都會改變。

=INDEX($A$2:$A$15, RANDBETWEEN(1, COUNTA($A$2:$A$15)))

INDEX + RANDBETWEEN functions to fill values randomly

🔍 此公式的詳細解釋:
  • A2:A15:代表您想從中隨機選擇的值列表。
  • COUNTA($A$2:$A$15):動態計算列表中的項目數量,確保如果列表長度發生變化,公式仍然穩健。
  • RANDBETWEEN(1, n):生成介於1和n(列表中的項目數)之間的隨機整數。
  • INDEX(區域, 數字):根據隨機選擇的位置從列表中檢索對應的項目。

注意事項:由於每次工作表更改時值都會刷新,如果您希望結果保持不變,務必複製填充值並粘貼為值。此外,這種策略不排除重複項——如果需要唯一性,請考慮後續章節中描述的方法或進行後處理。

 

✅ 公式2:INDEX + RANDARRAY 函數(Excel 365 / 2021+)

INDEX 和 RANDARRAY 函數的組合適用於Excel 365和Excel 2021用戶。此方法利用動態數組一次性輸出大量隨機選擇,簡化了需要一步內生成許多隨機選擇的工作流程。當您需要快速獲得一定數量的隨機選擇時尤其有用。然而,請注意,與之前的公式一樣,此方法不能保證批次內結果的唯一性。

要使用此解決方案,只需將公式輸入到空白單元格(如B2)中,然後按Enter鍵。Excel會自動“溢出”生成的隨機值到後續行。例如,以下公式從列表中輸出5個隨機值:

=INDEX(A2:A15, RANDARRAY(5, 1, 1, COUNTA(A2:A15), TRUE))

INDEX + RANDARRAY functions to fill values randomly

🔍 此公式的詳細解釋:
  • A2:A15:指定的隨機選擇數據列表。
  • COUNTA(A2:A15):計算目標列表中的條目數。
  • RANDARRAY(5,1,1, COUNTA(...), TRUE):生成介於1和列表最後位置之間的5個隨機整數,生成垂直數組(1列)。
  • INDEX(A2:A15, …):將每個隨機數映射到列表中的值。

提示:如果您需要不同數量的隨機值,只需相應調整RANDARRAY(5,1, ...)中的5即可。始終記住,如果您需要結果保持固定,請粘貼為值,因為基於公式的輸出會隨著工作表的更改而更新。

💡 提示:由於RANDBETWEEN和RANDARRAY都是易變函數,因此任何工作表更改都會更新輸出。若要保留靜態快照,請複製結果並使用“粘貼值”。

使用VBA從列表中隨機填充值(高級和可定制解決方案)

如果您需要自動化大規模的隨機值分配、防止重複或需要更多自定義(例如在選擇過程中應用複雜邏輯),則使用VBA(Visual Basic for Applications)方法是理想的選擇。VBA使您可以生成真正唯一的隨機選擇,應用自定義分佈邏輯,並通過單一命令重複任務——對於高級模擬、自動化隨機分配或處理大型數據集非常有幫助。

此解決方案適合熟悉宏的用戶或希望自動化其Excel工作流程的用戶。

1. 單擊開發工具 > Visual Basic(或按Alt + F11)打開VBA編輯器,這將打開Microsoft Visual Basic for Applications窗口。然後,轉到插入 > 模塊並將以下代碼粘貼到模塊窗口中:

Sub RandomFillFromList_NoDuplicates()
    Dim srcRange As Range
    Dim destRange As Range
    Dim srcValues As Variant
    Dim destCount As Integer
    Dim usedIndexes As Object
    Dim i As Integer
    Dim randIndex As Integer
    
    On Error Resume Next
    Set srcRange = Application.InputBox("Select source list", "KutoolsforExcel", Type:=8)
    If srcRange Is Nothing Then Exit Sub
    
    Set destRange = Application.InputBox("Select destination range (number of random values to fill)", "KutoolsforExcel", Type:=8)
    If destRange Is Nothing Then Exit Sub
    
    srcValues = Application.Transpose(srcRange.Value)
    destCount = destRange.Cells.Count
    Set usedIndexes = CreateObject("Scripting.Dictionary")
    
    If UBound(srcValues) < destCount Then
        MsgBox "Not enough unique items in the source list to fill destination without duplicates.", vbExclamation, "KutoolsforExcel"
        Exit Sub
    End If
    
    Randomize
    For i = 1 To destCount
        Do
            randIndex = Int(Rnd() * UBound(srcValues)) + 1
        Loop While usedIndexes.Exists(randIndex)
        
        usedIndexes(randIndex) = True
        destRange.Cells(i).Value = srcValues(randIndex)
    Next
End Sub

2. 單擊 Run button VBA工具欄上的按鈕運行宏。該宏將提示您選擇(a)源列表(要選擇的值範圍)和(b)輸出範圍(對於提取的隨機值數量,只需選擇相同數量的單元格)。如果源列表足夠大,該代碼確保輸出中沒有重複值。否則,它將顯示警告。

此VBA方法具有以下優勢和注意事項:

  • 優點:確保隨機且不重複的選擇;允許處理非常大的列表和批次;輕鬆自動化重複任務。
  • 缺點:需要啟用宏的Excel文件。如果您的工作簿限制宏,此方法可能不適用。如果目標數量超過源項目的數量,可能會發生錯誤。
  • 錯誤提醒:如果源列表中沒有足夠的唯一值來滿足您的請求,宏將通知您。
  • 自定義提示:您可以進一步調整代碼以允許重複(移除唯一性檢查),或實現加權或過濾邏輯以適應更專業的場景。

使用Kutools for Excel從數據列表中隨機選擇並填充值(所有版本)

Kutools for Excel提供了一種易於訪問且互動的解決方案,用於從列表中隨機選擇並填充值。它非常適合那些希望處理隨機分配而無需編寫公式或代碼的用戶,或者需要快速批量處理選擇且最少手動輸入的用戶。Kutools還提供了控制輸出的選項,例如選擇的值數量,並通過直觀的對話框界面完成操作。

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...

安裝Kutools for Excel後,按照以下步驟使用其內置的隨機選擇功能:

  1. 選擇包含您希望隨機選擇的值的範圍。
  2. 單擊 Kutools > 區域 > 隨機排序或選擇範圍。參閱下面的截圖:
    click Sort / Select Range Randomly of kutools
  3. 隨機排序或選擇範圍 對話框中,轉到 選擇 標籤,並執行以下操作:
    • 指定要隨機選擇的單元格數量。
    • 確保在選擇類型中選擇隨機選擇單元格選項。
    • 最後,單擊 確定 按鈕。
      set options in the dialog box
  4. 指定的隨機單元格數量將被突出顯示或選擇。然後您可以根據需要將這些單元格複製並粘貼到其他地方。
    copy and paste the random cells

除了簡單之外,Kutools方法還能防止手動隨機化時常見的錯誤,並且不需要熟悉Excel公式或宏設置。如果您希望選擇中包含唯一值,請確保源列表大於計劃選擇的項目數量,並在對話框中驗證是否支持選擇無重複的選項(如果有)。


🔚結論

在Excel中從預定義列表隨機填充值可以通過多種技術高效管理,這些技術適用於不同的知識水平和場景:

  • 對於所有Excel版本,INDEX加上RANDBETWEEN公式對於生成隨機選擇快速可靠,特別是在允許重複的列表中。
  • 如果您使用的是Excel 365或2021,RANDARRAY + INDEX解決方案提供了一種更動態的批量選擇,當需要一次生成大量輸出時可以加快處理速度。
  • 對於高度可定制的需求——例如確保無重複、自動化大規模隨機分配或處理複雜選擇邏輯——VBA方法提供最大的靈活性,但用戶應該熟悉如何運行宏。
  • 如果您偏好無代碼、易於使用的解決方案,Kutools for Excel允許您通過圖形界面生成隨機選擇,使其既適合初學者也適合需要快速結果的高級用戶。

重要的是要考慮您是否需要唯一選擇還是可以允許重複,您需要多少隨機選擇,以及您對Excel公式或宏的熟悉程度。在共享或保存隨機結果之前,使用粘貼為值功能來防止意外重新計算。對於有興趣探索更多Excel解決方案的用戶,請訪問我們的Excel教程部分以獲取更多實用指南和提示

故障排除建議:仔細檢查列表範圍的準確性,留意易變函數的重新計算,並確保在使用基於代碼的解決方案時,宏安全設置允許VBA執行。如果在使用VBA時發生錯誤(例如源列表大小不足),請遵循提示並重新考慮您的範圍。


相關文章:

根據條件在Excel中隨機選擇單元格

在Excel中隨機添加背景/填充顏色給單元格


最佳 Office 生產力工具

🤖 Kutools AI 助手:以智能執行為基礎,革新數據分析 生成程式碼 創建自訂公式 分析數據並生成圖表 調用 Kutools 增強函數
熱門功能查找、選取項目的背景色或標記重複值刪除空行合併列或單元格且不遺失數據四捨五入(免公式)...
高級 LOOKUP多條件 VLookup多值 VLookup多表查找模糊查找...
高級下拉列表快速創建下拉列表 依賴型下拉列表 多選下拉列表...
列管理器添加指定數量的列移動列切換隱藏列的顯示狀態比較區域及列...
精選功能網格聚焦 設計檢視 增強編輯欄 工作簿及工作表管理器 資源庫(快捷文本) 日期提取器 合併資料 加密/解密儲存格 按列表發送電子郵件 超級篩選 特殊篩選(篩選粗體/傾斜/刪除線...)...
15 大工具集12 項文本工具添加文本刪除特定字符…)50+ 儀表 類型甘特圖等)40+ 實用 公式基於生日計算年齡等)19 項插入工具插入QR码根據路徑插入圖片等)12 項轉換工具金額轉大寫匯率轉換等)7 項合併與分割工具高級合併行分割儲存格等)...及更多
使用 Kutools,語言任你選 — 支援英語、西班牙語、德語、法語、中文及超過40 種語言!

運用 Kutools for Excel,全面提升您的 Excel 技能,體驗前所未有的高效。 Kutools for Excel 提供超過300 項進階功能,讓您提升工作效率、節省時間。 點此尋找您最需要的功能...


Office Tab 為 Office 帶來分頁介面,讓您的工作更加輕鬆簡單

  • 在 Word、Excel、PowerPoint 中啟用分頁編輯與閱讀
  • 在同一視窗的新分頁中打開與創建多份文件,而非開啟新視窗。
  • 提升您的生產力50%,每日可幫您減少數百次鼠標點擊!

所有 Kutools 外掛,一次安裝

Kutools for Office 套裝整合了 Excel、Word、Outlook 和 PowerPoint 的外掛,外加 Office Tab Pro,非常適合需要跨 Office 應用程式協同作業的團隊。

Excel Word Outlook Tabs PowerPoint
  • 全合一套裝 — Excel、Word、Outlook及 PowerPoint 外掛 + Office Tab Pro
  • 一鍵安裝,一份授權 — 幾分鐘完成設置(支援 MSI)
  • 協同運作更順暢 — Office 應用間無縫提升生產力
  • 30 天全功能試用 — 無需註冊、無需信用卡
  • 最超值 — 一次購買,節省單獨外掛費用