メインコンテンツへスキップ

Excelで抽選用の名前をどのように作成しますか?

Author: Xiaoyang Last Modified: 2025-08-06

日常業務において、時々長い名前のリストからランダムに従業員を選んで抽選用の名前とする必要があります。Excelでは、どのようにしてランダムに名前を選んで抽選を作成できますか?この記事では、Excelでこの作業を行うための便利な方法について説明します。

数式を使用して抽選用のランダムな名前を抽出する

Kutools for Excelを使用して抽選用のランダムな名前を選択する

VBAコードを使用して抽選用のランダムな名前を抽出する


数式を使用して抽選用のランダムな名前を抽出する

例えば、名前のリストから任意の3つの名前を抽出したい場合、次の長い数式が役立ちますので、以下のように操作してください:

結果を表示させたい空白セルにこの数式を入力します: =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)))) その後、必要に応じてフィルハンドルを下にドラッグします。スクリーンショットをご覧ください:

Extract random names with a formula

注意:

1. 上記の数式では、A2:A16はランダムに抽出したい名前のリスト、B2は抽出したい名前の必要数、C2は数式を入力するセル、C1は数式セルの上のセルです。

2. 新しい名前のグループをランダムに取得するためにF9キーを押すことができます。


Kutools for Excelを使用して抽選用のランダムな名前を選択する

上記の2つの方法は私たちの多くにとって難しいかもしれません。ここで、Kutools for Excelを持っている場合、その「範囲をランダムに並び替え」機能を使用して、簡単にランダムに名前を選択することができます。

Kutools for Excelは、300以上の高度な機能を提供し、複雑なタスクを簡素化し、創造性と効率を向上させます。 AI機能と統合され、Kutoolsは正確にタスクを自動化し、データ管理を容易にします。Kutools for Excelの詳細情報...無料トライアル...

Kutools for Excelをインストールした後、次のように操作してください:

1. ランダムに選択したい名前のリストを選択します。次に Kutools > 範囲 > 並び替え、選択、またはランダムに をクリックします。スクリーンショットをご覧ください:

click Sort / Select Range Randomly feature of kutools

2. 「並び替え、選択、またはランダムに」ダイアログボックスで、「選択」タブの下にある「選択するセルの数」テキストボックスに選択したい名前の数を入力し、「選択の種類」セクションで「ランダムに選択」を選択します。スクリーンショットをご覧ください:

specify the options in the dialog box

3. 次に「 OK」ボタンをクリックすると、必要な数の名前が選択されます。スクリーンショットをご覧ください:

the specific number of names are selected

今すぐKutools for Excelをダウンロードして無料トライアル!


VBAコードを使用して抽選用のランダムな名前を抽出する

ここでは、VBAコードもこのタスクを完了するのに役立ちます。次のように操作してください:

1. Alt + F11 キーを押して Microsoft Visual Basic for Applications ウィンドウを開きます。

2. 挿入 > モジュール をクリックし、 モジュールウィンドウに次のコードを貼り付けます。

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. コードを挿入した後、開いた Microsoft Visual Basic for Applications ウィンドウで ツール > 参照設定 をクリックし、表示された「参照設定 – VBAProject」ダイアログボックスで「利用可能な参照」リストボックス内の「Microsoft Scripting Runtime」オプションをチェックします。スクリーンショットをご覧ください:

click Tools > References, then check Microsoft Scripting Runtime option

4. そして「OK」ボタンをクリックしてダイアログボックスを閉じ、F5キーを押してこのコードを実行します。データリストを選択するように促すメッセージボックスが表示されます。スクリーンショットをご覧ください:

vba code to select the data list

5. 「OK」ボタンをクリックすると、別のメッセージボックスが表示されます。結果を配置したいセルを選択してください。スクリーンショットをご覧ください:

vba code to select a cell to put the result

6. その後「OK」をクリックすると、指定した数の名前が一度にランダムに生成されます。スクリーンショットをご覧ください:

the desired number of names are created randomly

最高のオフィス生産性ツール

🤖 Kutools AI Aide:データ分析を革新:インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データを分析してグラフを生成  |  Kutools Functions を呼び出す
人気機能重複の検索・ハイライト・マーキング   |  空白行を削除   |  データを失わず列やセルを統合   |   丸める ...
スーパーLOOKUP複数条件VLOOKUP   複数値VLOOKUP  |  複数シートの検索  |  ファジーマッチ ....
高度なドロップダウンリストすばやくドロップダウンリストを作成   |  依存型ドロップダウンリスト   |  複数選択ドロップダウンリスト ....
列の管理:特定数の列を追加  | 列を移動  | 非表示列の表示状態を切り替え |  範囲と列の比較 ...
注目機能グリッドフォーカス   |  デザインビュー  |  強化された数式バー   ワークブック&ワークシートの管理   |  オートテキスト ライブラリ (Auto Text)   |  日付ピッカー   |  データの統合   |  セルの暗号化/復号化    リスト送信で電子メールを送信   |  スーパーフィルター   |   特殊フィルタ(太字/斜体/取り消し線でフィルタ...)
トップ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%向上し、1日に何百回ものマウスクリックも削減できます!