KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何在 Excel 中從資料清單隨機填入數值?

作者Kelly修改日期

在 Excel 中從預先定義的清單隨機選取值,是一項常見且實用的操作,廣泛應用於數據分析、模擬、隨機分配、抽樣及測試情境等場景。例如,您可能需要模擬抽獎結果、為品質保證隨機指派測試案例,或在團隊成員間公平分配任務。透過 Excel 自動化此流程,不僅大幅提升工作效率,更能有效降低人為錯誤的風險。

本完整指南將逐步介紹多種達成此目標的方法,涵蓋適合所有使用者的簡易公式解法、進階的 VBA 自動化解決方案,以及如 Kutools for Excel 這類專用且使用者友善的工具。每種方法皆有其獨特優勢與適用情境,以下將詳細解析,協助您選出最契合自身需求的解決方案。


使用公式從資料清單中隨機填入值

本節將逐步介紹幾種實用的公式解法,協助您從指定清單中隨機填入數值。這些方案無需額外安裝,即可快速應用於大多數現代版 Excel。

✅ 公式一:INDEX + RANDBETWEEN 函數

INDEX 與 RANDBETWEEN 函數的組合,是一種經典且跨版本相容的隨機選取方法,適用於快速產生單一或多個可重複的隨機值,例如用於隨機抽樣或模擬資料生成。

使用此方法時,只需將下列公式複製或輸入至空白儲存格(例如 B2),再向下拖曳填滿控點,即可快速產生所需數量的隨機值。請注意,由於公式包含易變函數(如 RANDBETWEEN),每次工作表重新計算時,結果都會自動更新。

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

使用 INDEX + RANDBETWEEN 函數隨機填入值

🔍 此公式的詳細說明:
  • A2:A15:代表您要從中隨機選取資料的清單範圍。
  • COUNTA($A$2:$A$15):動態計算清單中的項目數量,確保清單長度變更時公式依然穩定運作!
  • RANDBETWEEN(1, n):產生介於 1 與 n(清單中的項目數)之間的隨機整數。
  • INDEX(範圍, 數字):從您的清單中擷取對應隨機位置的項目。

注意事項:由於數值會在工作表有任何變動時自動刷新,若您希望保留固定結果,請務必複製已填入的儲存格,並以「貼上為數值」的方式貼上。此外,此方法無法排除重複值—若需確保唯一性,請參考後續章節所述方法或另行處理。

 

✅ 公式二: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 函數隨機填入值

🔍 此公式的詳細說明:
  • A2:A15:用於隨機選取的指定資料清單。
  • COUNTA(A2:A15):計算目標清單中的項目數量。
  • RANDARRAY(5,1,1, COUNTA(...), TRUE):產生 5 個介於 1 與清單最後一個位置之間的隨機整數,並以垂直陣列(1 欄)輸出。
  • INDEX(A2:A15, …):將每個隨機數字對應至清單中的相應值。

提示:若需不同數量的隨機值,只需調整 5RANDARRAY(5,1, ...) 中的設定即可。若需固定結果,請務必使用「貼上為數值」方式貼上,因為公式輸出會隨著工作表變動而自動更新。

💡提示:由於 RANDBETWEEN 與 RANDARRAY 均為易失性函數,只要工作表有任何變更,輸出結果就會更新。若要保留靜態快照,請複製結果並使用「貼上為數值」。

使用 VBA 從清單中隨機填入值(進階且可自訂的解決方案)

若您需要自動化大規模隨機值分配、避免重複項目,或實現更高程度的自訂化(例如在選取過程中套用複雜邏輯),VBA(Visual Basic for Applications)正是理想選擇。透過 VBA,您不僅能產生真正唯一的隨機選取結果、靈活套用自訂分配邏輯,還能透過單一指令反覆執行任務——非常適合進階模擬、自動化隨機分配,以及處理大型資料集。

此解決方案專為熟悉巨集的使用者,或希望自動化 Excel 工作流程的人士量身打造。

1. 開啟 VBA 編輯器:點選開發人員 > Visual Basic(或按下 )Alt + F11),即可開啟 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. 點擊 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 > 範圍 > 隨機排序或選擇。請參閱下方截圖:
    點擊 Kutools 的「隨機排序/選取範圍」
  3. 隨機排序或選擇對話方塊中,切換至選取索引標籤,並執行下列操作:
    • 請指定您希望隨機選取的儲存格數量。
    • 請務必在儲存格中選擇選中類型選項。
    • 最後,點擊確定按鈕。
      在對話框中設定選項
  4. 系統將隨機反白或選取指定數量的儲存格,接著您可依需求將這些儲存格複製並貼到其他位置。
    複製並貼上隨機儲存格

除了操作簡便外,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 助手:基於以下內容徹底革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、醒目提示或標記重複值     刪除空白行     合併列或儲存格而不遺失資料     不使用公式的四捨五入……
高級 LOOKUP多重條件 VLookup    多重數值 VLookup     跨多個工作表 VLookup      模糊查找……
高級下拉列表快速建立下拉式清單     相依式下拉式清單     多選下拉式清單……
欄位管理員新增指定數量的欄位移動欄位切換隱藏欄位的可見狀態比較範圍與欄位……
精選功能網格聚焦     設計視圖   增強編輯欄    工作簿與工作表管理員     資源庫(自動文字)  日期提取     合併工作表    加密/解密儲存格    依清單傳送電子郵件     超級篩選      特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符,……)   50+ 圖表 類型甘特圖,……)   40+ 實用公式基於生日計算年齡,……)   19 插入工具插入二維碼從路徑插入圖片,……)   12 轉換工具金額轉大寫匯率轉換,……)   7 合併和拆分工具高級合併行分割儲存格,……)……以及更多
在您的慣用語言中使用 Kutools—支援英文、西班牙文、德文、法文、中文及另外 40+ 種語言!

運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……


Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!

  • 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
  • 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
  • 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!

所有 Kutools 增益集,一個安裝程式

Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!

ExcelWordOutlookTabsPowerPoint
  • 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
  • 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
  • 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
  • 30 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用