Excelでフィルターのドロップダウンリストをコピーする5つの方法
Excelでフィルターのドロップダウンリストを効率的にコピーしたいとお考えなら、この記事が参考になります。ここでは、さまざまな状況に応じてフィルターのドロップダウンリストをコピーする5つの方法を詳しく解説します。
それでは、本題に入りましょう。
5つの方法でExcelのフィルタードロップダウンリストをコピーする
ここでは、販売担当者の名前と製品ごとの売上額が記録されたデータセットを使用します。このデータセットに対してフィルターを有効にしており、これから紹介する方法で、フィルターのドロップダウンリストをコピーする手順を説明していきます。

なお、本記事では Microsoft 365 版 Excel を使用していますが、お使いのバージョンに合わせて操作してください。
方法1:詳細フィルター機能を使ってドロップダウンリストをコピーする
まず、「Product」列には製品名が並んでいますが、並び順がバラバラで、「Blackberries」や「Broccoli」などの重複した製品も含まれています。

一方、フィルターのドロップダウンボタンをクリックすると、リストはAからZの順にソートされ、重複値も表示されません。今回の課題は、このドロップダウンリストを「Filtered List」列にコピーすることです。ここでは詳細フィルター機能を使って実現します。

手順:
➤ 「データ」タブ >> 「並べ替えとフィルター」グループ >> 「詳細設定」をクリックします。

すると、「フィルターオプションの設定」ダイアログボックスが開きます。
➤ 「指定した範囲にコピーする」と「重複するレコードは無視する」にチェックを入れます。
➤ 「リスト範囲」に製品名の範囲を指定し、「抽出範囲」に出力先のセル範囲を指定して、「OK」をクリックします。

これで「Filtered List」列に重複のない製品リストが抽出されました。ただし、まだ並べ替えはされていません。

➤ 並べ替えるには、データセットを選択し、「データ」タブ >> 「並べ替えとフィルター」グループ >> 「並べ替え」をクリックします。

「並べ替え」ダイアログボックスが表示されます。
➤ 以下のように設定します。
最優先されるキー → Filtered List
並べ替えキー → セルの値
順序 → AからZへ(昇順)
➤ 「先頭行をデータの見出しとして使用する」にチェックを入れて「OK」をクリックします。

これでリストが並べ替えられ、フィルターのドロップダウンリストと同じ内容が「Filtered List」列にコピーされました。

方法2:UNIQUE関数を使ってドロップダウンリストをコピーする
次に、「Product」列のフィルタードロップダウンリストを、UNIQUE関数とSORT関数を使って「Filtered List」列にコピーする方法を紹介します。

手順:
まず、セル範囲をテーブルに変換します。
➤ 「挿入」タブ >> 「テーブル」をクリックします。

「テーブル作成」ダイアログボックスが表示されます。
➤ 範囲を選択し、「先頭行をテーブルの見出しとして使用する」にチェックを入れて「OK」をクリックします。

すると、「Table2」というテーブルが作成されます。

➤ 次に、セルE4に以下の数式を入力して、「Product」列から一意の値を取得します。
=SORT(UNIQUE(Table2[Product],FALSE,FALSE))
ここで、Table2[Product]はTable2の「Product」列の範囲、最初のFALSEは「一意な行のみ返す」、2つ目は「一意な項目ごとに返す」を意味します。UNIQUE関数が重複のない製品リストを返し、それをSORT関数で並べ替えます。

ENTERキーを押すと、「Filtered List」列に「Product」列のフィルタードロップダウンリストと同じ内容が表示されます。

※UNIQUE関数はMicrosoft 365版Excelでのみ使用できます。
方法3:重複の削除機能を使ってドロップダウンリストをコピーする
「Product」列のフィルタードロップダウンリストを「Filtered List」列にコピーするために、ここでは重複の削除機能を使って重複値を取り除き、その後並べ替え機能でドロップダウンリストと同じ順序に整えます。

手順:
まず、「Product」列のリストを「Filtered List」列にコピーします。
➤ 「Product」列の範囲を選択してCtrl+Cを押します。

➤ Ctrl+Vを押して、リストを「Filtered List」列に貼り付けます。

次に、重複を削除して一意の値を取得します。
➤ データ範囲を選択し、「データ」タブ >> 「データツール」グループ >> 「重複の削除」をクリックします。

「重複の削除」ダイアログボックスが表示されます。
➤ 「Filtered List」にチェックを入れて「OK」をクリックします。

すると、「2件の重複した値が削除されました」というメッセージが表示されるので、「OK」をクリックします。

方法1と同様にAからZの順に並べ替えると、「Filtered List」列に「Product」列のフィルタードロップダウンリストと同じ内容が得られます。

方法4:FILTER関数を使ってドロップダウンリストをコピーする
ここでは、「Product」列を基準にデータセットをフィルター処理し、製品「Blackberries」と「Broccoli」に対応する値だけを表示するケースを想定します。

フィルター後、「Salesperson」列のドロップダウンリストにはAからZの順に販売担当者の名前が並んでいます。

また、「Sales」列のドロップダウンリストには、売上額が小さい順に並んでいます。今回はFILTER関数を使って、この2つのリストをコピーします。

4.1:FILTER関数を使って値を抽出する
➤ セルB14に以下の数式を入力します。
=FILTER(B7:D11,B7:B11=B7," ")
ここで、B7:D11は対象範囲です。FILTER関数は、範囲B7:B11=B7の中からセルB7の値「Blackberries」を検索し、該当しない場合は空白を返します。

ENTERキーを押すと、製品「Blackberries」に対応する販売担当者の名前と売上額が表示されます。

同様に、製品「Broccoli」の値を抽出するには、セルB16に以下の数式を入力します。
=FILTER(B7:D11,B7:B11=B8," ")

➤ ENTERキーを押すと、「Filtered List1」列に販売担当者の名前、「Filtered List2」列に売上額が表示されます。

※FILTER関数はMicrosoft 365版Excelでのみ使用できます。
4.2:値をコピーして並べ替える
次に、先ほどと同じようにドロップダウンリストの順序に並べ替えますが、これは配列数式のため直接並べ替えることができません。
そこで、まずCtrl+Cを押してリストをコピーします。

➤ 貼り付け先のセルを選択して右クリックし、「値の貼り付け」を選択します。

これで、「Filtered List1」と「Filtered List2」の値がデータセットに貼り付けられました。

最後に、販売担当者の名前をAからZの順に、売上額を小さい順に並べ替えます。
➤ 「Filtered List1」列の範囲を選択し、「データ」タブ >> 「並べ替えとフィルター」グループ >> 「並べ替え」をクリックします。

「並べ替え」ダイアログボックスが表示されます。
➤ 以下のように設定します。
最優先されるキー → Filtered List1
並べ替えキー → セルの値
順序 → AからZへ(昇順)
➤ 「先頭行をデータの見出しとして使用する」にチェックを入れて「OK」をクリックします。

「Filtered List1」の値が並べ替えられたので、次は「Filtered List2」列の売上額を処理します。
➤ 「Filtered List2」列の範囲を選択し、「データ」タブ >> 「並べ替えとフィルター」グループ >> 「並べ替え」をクリックします。

「並べ替え」ダイアログボックスが表示されます。
➤ 以下のように設定します。
最優先されるキー → Filtered List2
並べ替えキー → セルの値
順序 → 小さい順
➤ 「先頭行をデータの見出しとして使用する」にチェックを入れて「OK」をクリックします。

これで、「Filtered List1」と「Filtered List2」の両方の値が希望どおりに並べ替えられました。

最終的に、「Salesperson」列のフィルタードロップダウンリストが「Filtered List1」列に、

そして「Sales」列のフィルタードロップダウンリストが「Filtered List2」列にコピーされました。

方法5:SUBTOTAL・INDEX・MATCH関数の組み合わせを使う
ここでは、「Product」列の特定の製品を基準にデータセットをフィルター処理します。そうすると「Salesperson」列のフィルタードロップダウンリストも自動的に更新されます。SUBTOTAL関数、INDEX関数、MATCH関数を組み合わせることで、更新後のリストを常に「Filtered List」列に反映させることができます。

5.1:フィルター後に自動更新される連番を作成する
まず、「Helper」列に、フィルター後に自動的に更新される連番を作成します。
➤ セルD4に以下の数式を入力します。
=SUBTOTAL(3,C$4:C4)
ここで、3はCOUNTA関数(空白以外のセルを数える)を意味し、C$4:C4は各行で更新される範囲です。たとえば8行目ではC$4:C8になります。これは、行番号4の前に$マークを付けて開始位置を固定しているためです。

➤ ENTERキーを押し、フィルハンドルを下方向にドラッグします。

これで「Helper」列に連番が入力されました。

次に、「Product」列を基準にテーブルをフィルター処理します。ここでは、ドロップダウンリストから「Apple」「Beet Greens」「Blackberries」「Cherry」にチェックを入れます。

すると、以下のようにフィルターされたテーブルが表示されます。次に、「SalesPerson」列のフィルタードロップダウンリストを「Filtered List」列にコピーします。

5.2:INDEX関数とMATCH関数でリストを抽出する
➤ 「Serial No」列に連番を入力します。

➤ セルD14に以下の数式を入力します。
=INDEX($C$4:$C$11,MATCH(C14,$D$4:$D$11,0))
ここで、$C$4:$C$11は取得したい「SalesPerson」列の範囲、C14は「Helper」列の番号と照合する連番です。
- MATCH(C14,$D$4:$D$11,0) → セルC14の値に対応する行番号1を返します。
出力 → 1
- INDEX($C$4:$C$11,MATCH(C14,$D$4:$D$11,0)) は
INDEX($C$4:$C$11,1) → 範囲$C$4:$C$11の中で行番号1に対応する値を返します。
出力 → Michael

➤ ENTERキーを押し、フィルハンドルを下方向にドラッグします。

これで「Filtered List」列に販売担当者の名前が表示されました。最後に、AからZの順に並べ替えます。
➤ データセットを選択し、「データ」タブ >> 「並べ替えとフィルター」グループ >> 「並べ替え」をクリックします。

「並べ替え」ダイアログボックスが開きます。
➤ 以下のように設定します。
最優先されるキー → Filtered List
並べ替えキー → セルの値
順序 → AからZへ(昇順)
➤ 「先頭行をデータの見出しとして使用する」にチェックを入れて「OK」をクリックします。

これでリストが並べ替えられ、「SalesPerson」列のフィルタードロップダウンリストのコピーが「Filtered List」列に完成しました。

練習用シート
ご自身で練習できるよう、「Practice」という名前のシートに以下のような練習セクションを用意しています。ぜひ実際に試してみてください。

まとめ
この記事では、Excelでフィルターのドロップダウンリストを簡単にコピーする方法を紹介しました。状況に応じて最適な方法を選ぶことで、作業効率が大きく向上します。ご不明な点やご提案がありましたら、ぜひコメント欄でお知らせください。
-
PDFからExcelの表にデータをコピーする方法(2つの効果的なテクニック)
PDFはデータの配布やアーカイブに非常に便利な形式です。しかし残念ながら、PDF内の表やグラフのデータは編集が難しいという弱点があります。PDF内のデータを並べ替えたり分析したりしたい場面も多いでしょう。Microsoft Excelにはデータの並べ替えや計算のための多彩なツールが備わっているため、PDFからExcelへデータを取り込めると作業効率が大きく向上します。本記事では、PDFからExcelの表へデータをコピーするための実用的な方法をすべてご紹介します。 練習用にワークブックをダウンロードして実際に試すこともできます。 PDFからExcelの表にコピーする2つの効果的な方法 PDFファ
-
Excelでセルの色を基準にフィルターする2つの簡単な方法
Excelでは、目的に応じてさまざまな色でセルを塗りつぶすことがよくあります。ワークシート内で色を使ってデータの種類を区別しており、特定の色が付いたセルだけを抽出・選択したい場合、この記事が役立ちます。ここでは、Excelでセルの色を基準にフィルター処理を行う方法をわかりやすく解説します。 理解を深めながら実際に練習できるよう、サンプルのExcelブックをダウンロードしてご利用ください。 Excelでセルの色別にフィルターする2つの便利な方法 以下の2つの方法では、「フィルター」コマンドと「検索」コマンドを使用して、セルの色を基準にデータを絞り込む手順を学べます。記事内では、異なる色を付け