KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel でドロップダウンリストを自動更新するには、どうすればよいですか?

著者Sun変更日

doc-auto-update-dropdown-list-1

ドロップダウンリストは、データ入力を標準化・効率化するためにExcel で頻繁に活用されています。特に日々のレポート作成、在庫選択、データ分類などのタスクでその威力を発揮します。しかし、多くのユーザーが共通の課題に直面しています。それは、元のソース範囲の直下に新しい項目を追加しても、ドロップダウンリストに自動的に反映されない点です。Excel は既定では最初に設定された固定範囲のみを参照するため、その範囲外に追加された新しいエントリはリストに表示されません。この問題を解決するため、Excel には新しいデータを追加した際に自動的に拡張される動的ドロップダウンリストを作成する複数の方法が用意されています。

本ガイドでは、Excel で自動更新されるドロップダウンリストを実装する実用的な方法をご紹介します。これにより、定期的に拡張されるテーブルやリストにおけるメンテナンス負荷と入力ミスのリスクを軽減できます。


青い右向き矢印の吹き出し数式でドロップダウンリストを自動更新

ドロップダウンリストを自動的に更新したいシナリオはさまざまです。たとえば、商品リストの管理、申し込みフォームでのメンバー管理、定期的に変更されるプロジェクトタスクの追跡などが該当します。この方法では、OFFSET 関数を活用して動的範囲を作成し、新しいエントリを列に追加するたびに、ドロップダウンリストに自動的にすべての項目が反映されるようにします。

1。ドロップダウンリストを挿入したいセルを選択し、次にデータデータの入力規則データの入力規則へと進みます。スクリーンショットを参照してください:

リボンの[データ]タブにある[データの入力規則]ボタン

2。データの入力規則ダイアログで、「設定」タブに移動し、許可オプションからリストを選択し、ソースボックスに以下の動的範囲の数式を入力します:
=OFFSET($A$2,0,0,COUNTA(A:A)-1)

[データの入力規則]ダイアログ

パラメーターの説明と実践的なヒント:

  • A2は、対象データ範囲の先頭セルです。実際のリストの開始セルに合わせてご調整ください。
  • A:Aは、リストデータを含む列全体を指します。この設定により、この列に新しい項目を追加するたびに、関数が範囲のサイズを自動で再計算します。
  • 列に空白セルやサブヘッダーが含まれる場合、ドロップダウンに空白項目が表示されないように、数式を調整するか、データの配置を一貫したものにしてください。
  • 大規模なデータセットでは、OFFSET などの揮発性関数は変更のたびに再計算されるため、パフォーマンスにわずかな影響を及ぼす可能性がある点にご注意ください。

3。OKをクリックします。これで、元の列に新しいデータが入力されるたびに自動更新されるドロップダウンリストが完成しました。想定範囲内にさらに項目を追加すると、それらは即座にドロップダウンリストの選択肢として反映されます。

元のリスト      更新されたリスト

トラブルシューティングとヒント:

  • ドロップダウンに予期しない空白エントリが表示される場合は、元データの列に余分なスペースや非表示の行がないかご確認ください。
  • 数式がエラーを返す場合は、データに非連続範囲や完全に空白の列が含まれていないかご確認ください。
  • リストの開始位置が2 行以外の場合は、セル参照と COUNTA(A:A)の両方を適切に修正し、元データの数式を正しく拡張することをお忘れなく。

青い右向き矢印の吹き出しドロップダウンリストの元データとしてテーブルを使用(新しい項目を追加すると自動的に拡張)

ドロップダウンリストのソース範囲にExcel テーブルを使うのは、効率的で初心者にもやさしい方法です。Excel テーブルは新しい項目を追加すると自動的に拡張されるため、範囲参照や数式を手動で調整することなく、常に最新の状態を維持できます。

この方法は、従業員名簿や在庫管理、イベント申し込みシートなど、頻繁に拡張・変更されるリストを管理するユーザーに特に適しています。最大のメリットは、最新のリストを簡単に、確実に維持できることですが、このアプローチはソースデータが同一シートまたは同一ブック内にある場合に最も効果的である点にご注意ください。テーブルはデータ検証においてブック間参照をサポートしていません。

1。ソースデータの範囲(例:A2:A6)をハイライトします。

2。挿入タブに移動し、テーブルを選択します。リストにヘッダーが含まれている場合は、「テーブルにヘッダーがある」チェックボックスがオンになっていることを確認してください。

3。Excel が選択範囲をテーブルとして書式設定します。既定ではテーブル1と名付けられることがあります(テーブル名は)テーブルデザインタブの左側にある「テーブル名」ボックスで確認・変更できます)。

4。ドロップダウンリストを設定したいセルをクリックし、次にデータ>データの入力規則へ移動します。

5。「許可」ドロップダウンからリストのオプションを選択し、ソースボックスにテーブル列への参照を入力します(例:

=INDIRECT("Table1[Column1]")
次のように置き換えます:テーブル1を実際のテーブル名に、列1をテーブルのヘッダー名に置き換えてください。

6。OKをクリックします。これで、テーブルの下に新しいデータを追加するたびに、列とドロップダウンリストが自動的に更新され、新しいエントリも反映されるようになります。

注記とヒント:

  • Excel テーブルは、データの変更に応じて自動的に拡張・縮小する構造化された範囲を提供するため、頻繁に更新されるリストに最適です。
  • ドロップダウンリストを別のシートから参照したい場合は、=INDIRECT("Table1[Column1]")をご利用ください。一部のExcel バージョンでは、データの入力規則でテーブルを直接参照できるのは現在のワークシートに限定される場合があります。
  • この方法を使えば、リストに空でないエントリしか含まれていない場合、ドロップダウンに空白値が表示されるのを防げます。

青い右向き矢印の吹き出しVBA を使用してドロップダウンリストを自動的に更新ソース範囲

より高度で自動化されたシナリオ、特に長いリストを扱う場合やブックのメンテナンスタスクを自動化する際には、VBA コードを使って新しいデータが追加されるたびにドロップダウンリストの参照範囲を自動更新できます。この仕組みは、複数のドロップダウンが常に最新の元リストを反映すべき複雑なソリューションや、複数ユーザー向けにドロップダウンを一元管理する場合に特に役立ちます。

1。Alt+F11を押して VBA エディターを開き、VBAProject 内でデータの検証が設定されているワークシートをダブルクリックします。

2。次のコードをモジュールにコピー&ペーストしてください。

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim sourceColumn As Range
    Dim validationCell As Range
    Dim lastRow As Long
    Set sourceColumn = Me.Range("A:A") ' Change to your source column
    If Not Intersect(Target, sourceColumn) Is Nothing Then
        Application.EnableEvents = False
        lastRow = Me.Cells(Me.Rows.Count, sourceColumn.Column).End(xlUp).Row
        Set validationCell = Me.Range("D1:D100") ' Change to your validation cell  
        With validationCell.Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, _
                 Formula1:="=$A$1:$A$" & lastRow
        End With
        
        Application.EnableEvents = True
    End If
End Sub

3。その後、コードウィンドウを閉じると、ソース範囲にデータを追加するたびにドロップダウンリストが自動的に更新されます。

コード内のパラメーターを変更:
  • 元データ列(データを追加する「A:A」列)
  • 検証セル/範囲(ドロップダウンを設置する「D1:D100」など)
注記:
  • このコードは、ワークシートに変更が加えられると自動的に実行されます。
  • データのある最終行を特定し、それに応じて検証範囲を更新します。
  • この機能を有効にするには、マクロを有効にしてください。
  • コードを保存するには、ファイルを.xlsm 形式で保存してください。
  • kutools for excel ai のスクリーンショット

    KUTOOLS AI でExcel の魔法を解き放ちましょう

    • スマート実行:セル操作、データ分析、チャート作成をすべてシンプルなコマンドで実現します。
    • カスタム数式:ワークフローの効率化に役立つ、あなただけのカスタマイズ数式を生成します。
    • VBA コーディング:VBA コードを簡単に記述・実装できます。
    • 数式の解釈:複雑な数式が簡単に理解できます。
    • テキスト翻訳:スプレッドシート内で言語の壁を乗り越えましょう!
    AI 搭載のツールでExcel の機能をさらに強化しましょう。今すぐダウンロードして、これまでにない効率を体験してください!

    関連記事:

    最高の Office 業務効率化ツール

    🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
    人気の機能検索・ハイライト、または重複をマーキング     空白行を削除する     データを失うことなく列の結合またはセルを     数式を使用しない四捨五入...
    スーパー LOOKUP複数条件 VLookup    複数値 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 でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
    • 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
    • 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!

    すべてのKutools アドインが、たった1 つのインストーラーで完結。

    Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。

    ExcelWordOutlookTabsPowerPoint
    • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
    • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
    • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
    • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
    • 最高のお得感— 個別アドイン購入よりお得