Excel で動的な従属ドロップダウン・リストを簡単に作成する

  • これを共有
Michael Brown

このチュートリアルでは、新しい動的配列関数を使用して、別のセルに依存するExcelドロップダウンリストを作成する方法を説明します。

Excelでシンプルなドロップダウンリストを作成するのは簡単ですが、複数レベルのカスケードドロップダウンを作成するのは常に困難です。 上記のリンク先のチュートリアルでは、4つの異なるアプローチを説明していますが、それぞれ非常に多くのステップ、多くの異なる数式、複数単語の入力や空白セルなどに関する少数の制限が含まれています。

しかし、Excel 365の動的配列の導入により、すべてが変わりました!新しい動的配列関数を使えば、複数依存のドロップダウンリストを数分、あるいは数秒で作成できます。 トリックや注意点、無意味なことはありません。 迅速でわかりやすい、簡単な解決策だけなのです。

    注意事項

    • この新しい動的配列によるドロップダウンリストの作成方法は、Excel 365とExcel 2021でのみ機能します。 動的配列以前のExcelでは、Excel 2019 - 2007で従属ドロップダウンを作成するで説明したように、長い昔ながらの方法で行う必要があります。
    • この方法は1行の場合です。 ピックリストを下にコピーしたい場合は、次のようにします。 複数列 をクリックし、「複数行の依存関係」ドロップダウンリストの指示に従ってください。
    • Excelで動的なドロップダウンリストを作成する方法

      この例では、新しい動的配列関数を使用して、Excelでカスケード接続のドロップダウンリストを作成する一般的な方法を説明します。

      A列に果物、B列に輸出業者のリストがあるとします。 さらに複雑なのは、果物の名前がグループ化されておらず、列全体に分散していることです。 目標は、固有の果物名を最初のドロップダウンに入れ、ユーザーの選択に応じて、関連する輸出業者を2番目のドロップダウンに表示させることです。

      Excelで動的従属ドロップダウンリストを作成するには、次の手順を実行します。

      1.メインドロップダウンリストの項目を取得する

      手始めに、A列から異なる果物の名前をすべて抽出することにします。これは、UNIQUE関数を最も単純な形で使用し、最初の引数に果物のリストを与えます( 勢揃い ) を使用し、残りのオプション引数はデフォルトのまま省略することで、私たちはうまく動作しています。

      =unique(a3:a15)

      数式はG3に入り、Enterキーを押した後、次のセルに自動的に結果がこぼれます。

      2.メインのドロップダウンを作成する

      主なドロップダウンリストを作成するには、このようにExcelデータ検証ルールを設定します。

      • ドロップダウンを表示させたいセル(ここではD3)を選択します。
      • について データ タブで データツール グループをクリックします。 データバリデーション .
      • での データバリデーション ダイアログボックスで、次の操作を行います。
        • アンダー 許可する を選択します。 リスト .
        • での 出典 ボックスで、UNIQUE式で出力される流出範囲への参照を入力します。 この場合、セル参照の直後に、次のようにハッシュタグを入力します: =$G$3#

          これはスピルレンジ参照と呼ばれ、この構文では伸縮の程度にかかわらず、レンジ全体を参照する。

        • クリック よっしゃー をクリックしてダイアログを閉じます。

      これでプライマリドロップダウンリストの完成です。

      3.依存関係のドロップダウン・リストの項目を取得する

      2番目のドロップダウンメニューのエントリを取得するために、最初のドロップダウンで選択された値に基づいて列Bの値をフィルタリングします。 これは、FILTERという別の動的配列関数の助けを借りて行うことができます。

      =filter(b3:b15, a3:a15=d3)

      B3:B15は従属ドロップダウンのソースデータ、A3:A15は主ドロップダウンのソースデータ、D3は主ドロップダウンのセルです。

      数式が正しく動作することを確認するには、最初のドロップダウンリストで何らかの値を選択し、FILTERで返される結果を観察します。 完璧です! :)

      4.依存関係をドロップダウンにする

      2つ目のドロップダウンリストを作成するには、手順2で1つ目のドロップダウンリストに行ったのと同じように、データ検証基準を設定します。 ただし、今回はFILTER関数が返す流出範囲を参照します:=$H$3#。

      これで、Excel依存のドロップダウンリストの準備は完了です。

      ヒントと注意点

      • を持たせること。 新規登録 をドロップダウン・リストに追加します。 一人で また、この例のように、数式にいくつかの空白セルを含めることもできます。
      • 元データに隙間がある場合は あかるみにだす このソリューションを使用することで
      • への アルファベット順 ドロップダウンの項目は、この例のように SORT 関数で数式を囲んでください。

      Excelで複数の従属ドロップダウン・リストを作成する方法

      前の例では、他のセルに依存するドロップダウンリストを作成しました。 しかし、複数レベルの階層が必要な場合、例えば、2番目のリストに依存する3番目のドロップダウンや、3番目のリストに依存する4番目のドロップダウンは可能ですか? はい、任意の数の依存リストを設定できます(もちろん、適度な数です:)。

      この例では、C列に州/都道府県を配置し、G3に対応するドロップダウンメニューを追加することを考えています。

      Excelで複数依存のドロップダウンリストを作成するには、次のようにします。

      1.最初のドロップダウンを設定する

      メインのドロップダウンリストは、前の例とまったく同じ手順で作成します(上記の手順1と2を参照)。 唯一の違いは、流出範囲の参照を ソース ボックスを使用します。

      今回は、UNIQUE式がE8にあり、メインのドロップダウンリストがE3になる予定です。 そこで、E3を選択し、クリックします。 データバリデーション とし、この参考文献を提供する。

      2.2つ目のドロップダウンを設定する

      お気づきのように、B列には同じ輸出業者が複数回出現しています。 しかし、ドロップダウンリストには一意の名前だけを表示したいですよね? 重複するものをすべて除外するには、UNIQUE関数をFILTER式に巻き付け、F8でこの更新した式を入力します。

      =unique(filter(b3:b15, a3:a15=e3))

      ここで、B3:B15は2番目のドロップダウンのソースデータ、A3:A15は1番目のドロップダウンのソースデータ、E3は1番目のドロップダウンのセルである。

      その後、Data Validation criteriaに以下のspill range referenceを使用します:=$F$8#。

      3.3つ目のドロップダウンを設定する

      3番目のドロップダウンリストの項目を収集するには、複数の基準を持つFILTER式を使用します。 最初の基準では、果物リスト全体と1番目のドロップダウンリストの選択値(A3:A15=E3)を比較し、2番目の基準では、輸出業者のリストと2番目のドロップダウンリストの選択(B3:B15=F3)を比較します。 この式の合計はG8までとなります。

      =filter(c3:c15, (a3:a15=e3) * (b3:b15=f3))

      さらに従属ドロップダウン(4番目、5番目など)を追加する場合、ほとんどの場合、C列には同じ項目が複数含まれます。 重複が準備テーブルに入り、結果として3番目のドロップダウンに入ることを防ぐには、前のステップで行ったようにUNIQUE関数でFILTER式をネストします。

      =unique(filter(c3:c15, (a3:a15=e3) * (b3:b15=f3)))

      最後にもう一つ、Data Validationルールを作成します。 出典 reference: =$G$8#

      複数依存のドロップダウンリストが使用できるようになりました。

      ヒント:同じように、アイテムがもらえるのは 次のドロップダウン .D列に4番目のドロップダウンリストのソースデータが含まれていると仮定すると、H8に以下の数式を入力すると、対応する項目を取得することができます。

      =unique(filter(d3:d15, (a3:a15=e3) * (b3:b15=f3) * (c3:c15=g3)))

      Excelで拡張可能なドロップダウンリストを作成する方法

      ドロップダウンリストを作成した後、ソースデータに新しい項目を追加したときにどうなるかが最初の関心事かもしれません。 ドロップダウンリストは自動的に更新されますか? 元のデータがExcelテーブルとしてフォーマットされている場合、はい、前の例で説明した動的ドロップダウンリストは、その本質的に拡張可能なので、あなたの側の努力なしで自動的に展開されます。

      何らかの理由でExcelの表を使うことができない場合、この方法でドロップダウンリストを拡張できるようにすることができます。

      • への 新しいデータを含む が自動的にソースリストに追加されるように、数式で参照される配列にいくつかのセルを追加してください。
      • への 空白のセルを除く の場合、空のセルが埋まるまで数式を無視するように設定します。

      この2点を意識して、データ準備表の計算式を微調整してみましょう。 Data Validationのルールは、全く調整する必要がありません。

      メインドロップダウン用の数式

      また、UNIQUEにFILTER関数を組み込み、空白のないユニークな値を抽出しています。

      以上を踏まえると、G3の式はこのような形になる。

      =unique(フィルター(a3:a20, a3:a20""))

      従属ドロップダウンの計算式

      G3の数式はあまり手を加える必要はなく、配列を少し増やしてセルを増やすだけです。

      =filter(b3:b20, a3:a20=d3)

      その結果、完全に動的な拡張可能な従属ドロップダウン・リストが出来上がりました。

      ドロップダウンリストをアルファベット順に並べる方法

      ドロップダウン・リストをアルファベット順に並べたい場合、ソース・データに頼ることなく、新しいダイナミック・エクセルには特別な機能があります。 データ準備テーブルで、既存の数式にSORT関数を巻き付けるだけです。

      データ検証ルールは、前の例で説明したのと全く同じように設定される。

      AからZに並べ替える場合

      昇順のソート順はデフォルトのオプションなので、既存の数式を 勢揃い は,SORT の引数であり,その他の引数は省略可能である。

      については メインドロップダウン (G3の計算式)。

      =sort(unique(filter(a3:a20, a3:a20"")))

      については 従属ドロップダウン (H3の式)である。

      =SORT(FILTER(B3:B20, A3:A20=D3))

      完了です!両方のドロップダウンリストがアルファベット順にAからZに並べられます。

      ZからAへ並べ替える場合

      降順にソートするには、第3引数( ソート順 を-1する。

      については メインドロップダウン (G3の計算式)。

      =sort(unique(filter(a3:a20, a3:a20"")), 1, -1)

      については 従属ドロップダウン (H3の式)である。

      =sort(filter(b3:b20, a3:a20=d3), 1, -1)

      これにより、準備表のデータもドロップダウンリストの項目も、ZからAへと並べ替えられます。

      以上、新しい動的配列関数を使用して、Excelで動的なドロップダウンリストを作成する方法でした。 従来の方法とは異なり、この方法は単一および複数単語のエントリに完全に対応し、空白セルにも対応します。 次週のブログでお会いできることを楽しみにしています。

      練習用ワークブック(ダウンロード

      Excel依存のドロップダウンリスト(.xlsxファイル)

    Michael Brown は、ソフトウェア ツールを使用して複雑なプロセスを簡素化することに情熱を注ぐ熱心なテクノロジー愛好家です。テクノロジー業界で 10 年以上の経験があり、Microsoft Excel と Outlook、さらに Google Sheets と Docs のスキルを磨いてきました。 Michael のブログは、彼の知識と専門知識を他の人と共有することに特化しており、生産性と効率を向上させるためのわかりやすいヒントとチュートリアルを提供しています。経験豊富なプロフェッショナルであろうと初心者であろうと、Michael のブログでは、これらの重要なソフトウェア ツールを最大限に活用するための貴重な洞察と実践的なアドバイスを提供しています。