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

如何在 Excel 中製作幸運抽獎名單?

作者曉陽修改日期

在職場活動、團隊會議或特別場合中,經常需要從一大串名單中隨機挑選少數幸運參與者或得獎者——例如團隊抽獎、隨機頒獎或志願者遴選。當面對數位化名單,尤其人數眾多時,傳統的「帽子抽籤」方式不僅效率低落,也不切實際。所幸,Excel 提供多種實用方法,讓您直接在試算表中進行隨機選取,打造透明、可重複且高度自訂的幸運抽獎體驗。本文將逐步帶您掌握幾種在 Excel 中隨機抽取姓名的有效技巧,說明各自的適用情境、優勢與注意事項,並分享實用訣竅,幫助您避開常見錯誤。

使用公式抽取隨機姓名進行幸運抽獎

使用 Kutools for Excel 隨機選取姓名進行幸運抽獎

使用 VBA 程式碼抽取隨機姓名進行幸運抽獎

替代方案:使用 RAND 函數與排序抽取隨機姓名


使用公式抽取隨機姓名進行幸運抽獎

若您需要從一欄姓名中隨機選取特定數量的姓名(例如 3 位得獎者),可採用複雜公式法。此方法能自動避免重複選取,並在每次活頁簿重新計算時更新結果,特別適合從中等規模清單中抽取少量固定人數,尤其當您希望流程具備可追溯性,且無需額外增益集或程式碼時。

使用此方法,請依照以下步驟操作:

在您希望顯示首個幸運抽獎結果的空白儲存格中(例如 C2)輸入下列公式:

=IF(ROWS(C$2:C2)>B$2,"",INDEX(A$2:A$16,AGGREGATE(15,6,((ROW(A$2:A$16)-ROW(A$2)+1)/ISNA(MATCH(A$2:A$16,C$1:C1,0))),RANDBETWEEN(1,ROWS(A$2:A$16)-COUNTA(C$1:C1)+1))))

輸入公式後,請將填滿控點向下拖曳至所需抽取姓名數量的列數(例如,若要抽取 3 個姓名,則拖曳至 C4,共涵蓋 3 列)。抽選出的姓名將自動顯示於對應儲存格中。請參閱截圖:

使用公式提取隨機姓名

參數說明與實用提示:

  • 在此公式中:
    • A2:A16—這是您的來源姓名清單。請將此範圍調整為符合您實際的姓名資料。
    • B2—此儲存格應填入您欲隨機抽取的姓名總數(例如:輸入 3)。
    • C2—這是結果清單中輸入公式的首個儲存格。
    • C1—這是公式正上方的儲存格。即使留空,也必須保留,以確保公式結構正確運作。
  • 此方法具備高度動態性:只要按下 F9 重新計算,即可立即取得全新的一組隨機姓名!
  • 為避免每次工作表重新計算時公式內容變動,您可以複製結果,並使用選擇性貼上 > 數值,將抽選出的姓名轉為靜態值。
  • 若您的名稱列表較長,或您打算多次進行抽選,請務必確保結果欄位與名稱列表互不重疊,以免產生錯誤。

注意:請仔細確認儲存格參照是否正確,且所選範圍與您的實際資料相符。若變更工作表結構或刪除被參照的儲存格,將可能導致公式失效。


使用 Kutools for Excel 隨機選取姓名進行幸運抽獎

若您偏好簡單直觀、無需撰寫公式的操作方式,Kutools for Excel 透過其隨機排序功能,提供快速隨機選取姓名的簡便途徑!此解決方案特別適合非技術使用者,或當您希望以視覺化方式輕鬆操作——尤其在處理大型資料集或需頻繁重複抽選時,更能大幅提升效率!

Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊……         免費試用……

Kutools for Excel 安裝完成後,請依照以下步驟操作:

1. 選取您要用於幸運抽獎的完整名單,接著點擊 Kutools> 範圍> 隨機排序或選擇。請參閱截圖:

點擊 Kutools 的「隨機排序/選擇範圍」功能

2. 隨機排序或選擇對話方塊中,切換至選取分頁。於要選中的個數方塊中輸入您想隨機抽取的姓名數量(例如 3),並在儲存格區段下選擇選中類型,即可輕鬆隨機選取任意數量的不重複姓名!請參閱截圖:

在對話框中指定選項

3. 點擊確定,系統將隨機選取指定數量的姓名,並在您的清單中醒目標示,方便您輕鬆辨識得獎者或選中人員。請參閱截圖:

已選取指定數量的姓名

此方法以操作簡便、可靠著稱,並額外提供排序或洗牌姓名的選項(視需求而定)。您可依需要反覆使用此功能,有效避免手動計算常見的錯誤與重複問題,是追求快速取得結果、無需煩惱公式或編碼使用者的理想選擇。

注意:請確保選取範圍內不含其他無關資料,因為僅有醒目提示的儲存格代表您的得獎姓名。您可依需求複製或標記高亮名稱區域,以供後續使用。

立即點擊下載 Kutools for Excel,免費試用!

總結來說,Kutools for Excel 提供直覺友善且極致高效的隨機抽選管理方案,特別適合重視可靠性與易用性,或需針對不同群組規模反覆執行抽選的場景。


使用 VBA 程式碼抽取隨機姓名進行幸運抽獎

針對進階應用情境,或當您希望以更高彈性自動化流程時,可透過 VBA 程式碼從清單中抽取隨機姓名。此解決方案特別適合熟悉 Excel 開發人員選項的使用者,尤其當您需要重複抽選、調整程式(例如將結果輸出至特定位置),或處理大型清單時。

使用 VBA 進行幸運抽獎的步驟如下:

1. 按下 Alt + F11,即可開啟 Microsoft Visual Basic for Applications 視窗。

2. 點擊插入 模組,建立新模組後,將下方 VBA 程式碼複製貼上至模組視窗中。

VBA 程式碼:從清單中抽取隨機姓名:

Public Sub LuckyDraw()
    Dim I, J, xRnd As Long
    Dim xSRg, xDRg As Range
    Dim xDic As New Dictionary
    Dim xnum, xLastRow As Long
    On Error Resume Next
    Set xSRg = Application.InputBox("Please select the data list:", "KuTools for Excel", Selection.Address, , , , , 8)
    If xSRg Is Nothing Then Exit Sub
    Set xDRg = Application.InputBox("Please selecta cell to put the result:", "KuTools for Excel", , , , , , 8)
    If xDRg Is Nothing Then Exit Sub
    xLastRow = xSRg.Rows.Count
    Set xSRg = xSRg(1)
    Set xDRg = xDRg(1)
    xnum = Range("B2")
    If xnum < 1 Then Exit Sub
    J = 0
    For I = 1 To xnum
LabExit:
        xRnd = Int(Rnd() * xLastRow)
        If xDic.Exists(xRnd) Then GoTo LabExit
        xDic.Add xRnd, ""
        xDRg.Offset(J, 0).Value = xSRg.Offset(xRnd, 0).Value
        J = J + 1
    Next
End Sub

參數說明:程式碼中的 B2 為您輸入欲抽取隨機姓名數量的儲存格,可依需求調整儲存格參照。

3. 貼上程式碼後,在 VBA 編輯器視窗中前往工具> 參考項目。在開啟的對話方塊中,於可用參考項目清單中勾選 Microsoft Scripting Runtime。此步驟為啟用程式碼中所使用的 Scripting Dictionary 所必需。請參閱截圖:

點擊「工具」>「參考設定」,然後勾選 Microsoft Scripting Runtime 選項

4. 點擊確定關閉對話方塊,再按下 F5 執行程式碼。系統將彈出提示框,要求您選取欲進行抽選的姓名資料清單。請參閱截圖:

用於選取資料清單的 VBA 程式碼

5. 按一下確定,系統將顯示另一個提示框,讓您選擇幸運抽獎結果要顯示的目標儲存格。請參見螢幕截圖:

用於選取儲存結果之儲存格的 VBA 程式碼

6. 按一下確定以完成此程序。隨機選出的姓名將立即從您指定的儲存格開始輸出。請參閱螢幕截圖:

已隨機產生所需數量的姓名

實用提示:執行程式碼前,請務必先儲存您的工作內容。若遇到錯誤,請再次確認參考設定與儲存格範圍是否正確。此方法提供更高的控制權,但最適合熟悉基本 VBA 操作的使用者。

優缺點:VBA 方法在自訂化方面功能強大,能針對進階需求靈活調整,例如排除先前中獎者、自動發送通知等。然而,此方法需具備基本的 VBA 知識,且除非您的環境支援巨集執行,否則可能無法使用。


替代方案:使用 RAND 函數與排序抽取隨機姓名

除了上述方法外,另一種實用又直觀的解決方案,就是結合 Excel 的 RAND 函數與排序功能。此方法簡單易行,無需複雜公式、外掛程式或程式碼,適用於任何 Excel 版本,特別適合快速、偶發性的抽獎需求!當您希望手動查看並驗證隨機化過程時,這個方法尤其實用。

操作步驟如下:

  • 在您的姓名列表旁新增一個輔助欄位,並於輔助欄位的首個儲存格中輸入 =RAND()(例如:若姓名位於 A2:A16,請在 B2 輸入)=RAND())。
  • 將公式向下複製到整個清單旁側,每個儲存格將自動填入一個隨機小數。
  • 選取您的原始姓名清單及 RAND 輔助欄位。
  • 前往資料選項卡,點選排序,將排序依據設為包含 RAND 值的輔助欄位,並選擇「由小到大」排序(反之亦可),即可隨機重新排列整個清單!
  • 排序完成後,只需從重新排列的清單中選取前 N 個姓名,即為您的幸運抽獎得主。

提示與注意事項:每次重新計算工作表時,RAND 函數都會自動更新。若想凍結抽獎結果,請複製姓名並使用「貼上為數值」功能貼到其他位置;若要重新抽獎,只需按下 F9 重新計算即可!

優點:此方法極易操作,無需額外設定,且於現場抽獎時能清晰展現公平性。然而,若您需頻繁重複抽獎,或需使用排除名單等進階功能,建議改用公式、VBA 或 Kutools 來處理。


總結而言,Excel 提供多種方式可隨機選取姓名進行幸運抽獎。選擇哪種方法取決於您對簡易性、可自訂性或視覺互動性的偏好。若追求簡單的手動操作,建議使用 RAND 與排序功能,或 Kutools for Excel。若需要動態且可重複使用的解決方案,則公式或 VBA 能提供更多彈性。若遇到錯誤或非預期結果,請再次檢查您的儲存格參照、儲存格範圍選擇,並確認必要的外掛程式或巨集設定已啟用。為確保最佳效果,執行抽獎前務必先儲存資料,並驗證結果,以免在重要活動或團隊事件中發生失誤。


最佳 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 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用