Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

【Excel】データの入力規則リストから空白を削除する5つの方法

Excelのデータの入力規則ドロップダウンリストを作成するとき、元データに空白セルがあると、その空白までリストに表示されてしまいます。これは見た目が悪いうえに操作性も損なうため、できれば避けたいところです。

この記事では、データの入力規則リストから空白を除外する5つの方法を、具体的な手順とあわせてわかりやすく解説します。

【Excel】データの入力規則リストから空白を削除する5つの方法

空白セルを含むドロップダウンリストを作成すると起こる問題

まず、空白セルを含んだ範囲でドロップダウンリストを作ると何が起こるかを確認しましょう。通常の手順でリストを作成してみます。

手順:

  • セル C5 を選択します。
  • [データ]タブ >> [データツール]グループ >> [データの入力規則] をクリックします。

【Excel】データの入力規則リストから空白を削除する5つの方法

  • ダイアログボックスが表示されたら、[入力値の種類]で「リスト」を選択します(下図参照)。

【Excel】データの入力規則リストから空白を削除する5つの方法

  • [元の値]欄の右側にあるアイコンをクリックします。

【Excel】データの入力規則リストから空白を削除する5つの方法

  • 続いて、セル B5B14 を選択し、再度アイコンをクリックして範囲を確定させます。

【Excel】データの入力規則リストから空白を削除する5つの方法

  • 最後に [OK] をクリックします。

【Excel】データの入力規則リストから空白を削除する5つの方法

これでドロップダウンリストが作成されました。

【Excel】データの入力規則リストから空白を削除する5つの方法

ご覧のとおり、リストには空白セルも含まれてしまっています。ここからは、これらの空白をドロップダウンリストから除外する方法を順番に紹介していきます。

Excelでデータの入力規則リストから空白を削除する5つの方法

方法1:OFFSET関数を使って空白を除外する

この方法を使えば、列内に空白を残したままでも、新しい項目を追加できる余裕を持たせたドロップダウンリストを作成できます。まずはFILTER関数で元データから空白を取り除いたリストを作りましょう。

データセットにいくつか変更を加えます。

  • ドロップダウンリスト用の列の前に新しいを挿入します。ここでは、元の列を「Name List with Blanks(空白ありの名前リスト)」、新しく作る列を「List without Blanks(空白なしのリスト)」としました。(ドロップダウンリストの作成方法は前述のセクションを参考にしてください。)

【Excel】データの入力規則リストから空白を削除する5つの方法

手順:

  • まず、セル C5 に次の数式を入力します。
=FILTER(B5:B14,B5:B14<>"")

【Excel】データの入力規則リストから空白を削除する5つの方法

このFILTER関数は 範囲B5:B14 を受け取り、その中の空白セルを判定して、空のセルをリストから除外します。

  • Enterキーを押すと、空白を含まない名前リストが表示されます。

【Excel】データの入力規則リストから空白を削除する5つの方法

  • [数式]タブから「名前の管理」を選択し、[新規]をクリックします。

【Excel】データの入力規則リストから空白を削除する5つの方法

  • 範囲に名前を付けます。ここでは「NameNonBlanks」としました。
  • [参照範囲]に次の数式を入力します。
=offset(offset!$C$5,0,0,counta(offset!$C$4:$C$16)-1,1)

【Excel】データの入力規則リストから空白を削除する5つの方法

この例では、C12C16に新しい名前を追加入力できるようにしつつ、その分の空白がドロップダウンリストに現れないようにしています。「offset!」の部分は使用しているシート名を指しているので、実際のシート名に合わせて書き換えてください。

  • [OK] をクリックするとウィンドウが表示されますので、閉じます。

【Excel】データの入力規則リストから空白を削除する5つの方法

  • 次にセル D5 を選択し、[データ] >> [データの入力規則] を開きます。
  • [元の値]を「=NameNonBlanks」に変更します。
  • [OK] をクリックします。

【Excel】データの入力規則リストから空白を削除する5つの方法

  • セル D5ドロップダウンリストを開くと、登録済みの名前だけが表示されます。

【Excel】データの入力規則リストから空白を削除する5つの方法

  • 試しに、セル C12C16 に新しい名前を入力してみましょう。
  • そのうえで、データの入力規則を設定したセル D5 のリストを開きます。

【Excel】データの入力規則リストから空白を削除する5つの方法

新しく入力した名前ドロップダウンリストに自動的に反映されているのがわかります。ただし、C16より下に入力した項目は範囲外のためリストには表示されません。

このアプローチを使えば、データの入力規則リストに空白を出さずに、新規項目用のスペースを確保できます。

関連記事:Excelでドロップダウンリスト(データの入力規則)を作成する8つの方法

方法2:「ジャンプ」コマンドを使って空白セルを一括削除する

前述のセクションで作成したドロップダウンリストには空白が残っています。これを削除するには、次の手順を実行します。

手順:

  • セル B5B14 を選択し、[ホーム]タブ >> [編集]グループ >> [検索と選択] >> [ジャンプ] をクリックします。

【Excel】データの入力規則リストから空白を削除する5つの方法

  • [ジャンプのオプション]で「空白セル」を選択し、[OK] をクリックします。

【Excel】データの入力規則リストから空白を削除する5つの方法

  • これで範囲内の空白セルだけが選択されます。

【Excel】データの入力規則リストから空白を削除する5つの方法

  • 選択された空白セルのどれかひとつを右クリックし、[削除] を選択して空白を削除します。

【Excel】データの入力規則リストから空白を削除する5つの方法

  • ダイアログボックスが表示されたら、「上方向にシフト」を選んで [OK] をクリックします。

【Excel】データの入力規則リストから空白を削除する5つの方法

  • この操作により、元のリストからもドロップダウンリストからも空白が取り除かれます。

【Excel】データの入力規則リストから空白を削除する5つの方法

この方法なら、ドロップダウンリストから空白セルを簡単かつ直感的に除去できます。

関連記事:複数選択可能なデータの入力規則ドロップダウンリストをExcelで作成する方法

方法3:FILTER関数を使って空白を除外する

この場面でもFILTER関数が活躍します。データセットは前述のセクションのものを使用します。(ドロップダウンリストの作成方法は最初のセクションをご覧ください。)

手順:

  • セル C5 に次の数式を入力します。
=FILTER(B5:B14,B5:B14<>"")

【Excel】データの入力規則リストから空白を削除する5つの方法

FILTER関数は 範囲B5:B14 を対象に空白をチェックし、空のセルをリストから自動的に除外してくれます。

  • Enterキーを押すと、空白を含まない名前リストが表示されます。

【Excel】データの入力規則リストから空白を削除する5つの方法

  • しかし、ドロップダウンリストを開いてみると、まだC列由来の空白が残っています。

【Excel】データの入力規則リストから空白を削除する5つの方法

  • そこで、[データ]タブから [データの入力規則] を開きます。
  • フィルター後のリストが C5~C11 の範囲になっているため、[元の値]の最終セルを C11 に変更します。

【Excel】データの入力規則リストから空白を削除する5つの方法

  • [OK] をクリックすれば、ドロップダウンリストから空白セルが消えます。

【Excel】データの入力規則リストから空白を削除する5つの方法

これは非常に効率的な、ドロップダウンリストから空白を取り除く方法です。

関連記事:フィルター付きのデータの入力規則ドロップダウンリスト(2つの実例)

合わせて読みたい記事:

  • Excelのデータの入力規則でカスタムVLOOKUP数式を使う方法
  • [解決済み] Excelでコピー&ペースト時にデータの入力規則が機能しない場合の対処法
  • テーブルからデータの入力規則リストを作る3つの方法
  • 1つのセルに複数のデータの入力規則を適用する(3つの実例)
  • Excelで英数字のみ入力を許可するデータの入力規則(カスタム数式を使用)

方法4:IF・COUNTIF・ROW・INDEX・SMALL関数を組み合わせて空白を除外する

IFCOUNTIFROWINDEXSMALL関数を組み合わせることでも、データの入力規則リストから空のセルを除外できます。少し複雑ですが、手順を追えば必ず理解できます。データセットは前述のセクションのものを使い、ドロップダウンリストの作成方法は最初のセクションを参照してください。

手順:

  • まず、セル C5 に次の数式を入力します。
=IF(COUNTIF($B$5:$B$14,"?*")<ROW(B5)-4,"",INDEX(B:B,SMALL(IF(B$5:B$14<>"",ROW(B$5:B$14)),ROWS(B$5:B5))))

【Excel】データの入力規則リストから空白を削除する5つの方法

この数式は大きく2つの部分から構成されています。第1部は COUNTIF($B$5:$B$14,"?*")<ROW(B5)-4,""、第2部は INDEX(B:B,SMALL(IF(B$5:B$14<>"",ROW(B$5:B$14)),ROWS(B$5:B5))) です。

  • COUNTIF関数が空白以外のテキストの個数を数えることで、C列に7件の名前が抽出されます。
  • ROW関数はセルの行番号を返します。最初の空白セルは B5 から数えて5行目に位置するため、「-4」して比較条件を調整しています。
  • ここで Enter キーを押します。

【Excel】データの入力規則リストから空白を削除する5つの方法

  • フィルハンドルを使って、下のセルへ数式をオートフィルします。

【Excel】データの入力規則リストから空白を削除する5つの方法

  • これで空白のない名前リストが完成しました。ただし、データの入力規則リストを開くと、ドロップダウンリストにはまだ空白が残っています。

【Excel】データの入力規則リストから空白を削除する5つの方法

  • そこで、[データ]タブから [データの入力規則] を開きます。
  • フィルター後のリストの範囲が C5~C11 なので、[元の値]の最終セルを C11 に変更します。

【Excel】データの入力規則リストから空白を削除する5つの方法

  • [OK] をクリックすると、ドロップダウンリストから空白セルがなくなります。

【Excel】データの入力規則リストから空白を削除する5つの方法

以上のように、空白を含まないデータの入力規則リストを作成できます。

関連記事:Excel VBAでデータの入力規則リストに初期値を設定する方法(マクロとユーザーフォーム)

方法5:ADDRESS・INDIRECT・COUNTBLANK・IF・SMALL関数を組み合わせて空白セルを除外する

ADDRESSINDIRECTCOUNTBLANKIFSMALL関数を組み合わせた入れ子の数式でも同様のことが可能です。データセットは前述のセクションのものを使用し、ドロップダウンリスト/データの入力規則リストの作成方法は最初のセクションを参照してください。

手順:

  • まず、セル C5 に次の数式を入力します。
=IF(ROW()-ROW($B$5:$B$14)+1>ROWS($B$5:$B$14)-COUNTBLANK($B$5:$B$14),"",INDIRECT(ADDRESS(SMALL((IF($B$5:$B$14<>"",ROW($B$5:$B$14),ROW()+ROWS($B$5:$B$14))),ROW()-ROW($C$5:$C$14)+1),COLUMN($B$5:$B$14),4)))

【Excel】データの入力規則リストから空白を削除する5つの方法

この数式の仕組みを簡単に説明します。範囲B5:B14を走査し、COUNTBLANK関数によって空白セルの数を調べます。さらに、B5:B14の中で空白でないセルを特定することで、空白でないセルの値だけを返す仕組みです。

  • これは配列数式であるため、Ctrl + Shift + Enter を押してください。セル C5 に次のような結果が表示されます。

【Excel】データの入力規則リストから空白を削除する5つの方法

  • 続けて、フィルハンドルで下のセルへオートフィルします。

【Excel】データの入力規則リストから空白を削除する5つの方法

  • しかし、ドロップダウンリストを開くと、C列由来の空白がまだ残っています。

【Excel】データの入力規則リストから空白を削除する5つの方法

  • そこで、[データ]タブから [データの入力規則] を開きます。
  • フィルター後のリストが C5~C11 の範囲なので、[元の値]の最終セルを C11 に変更します。

【Excel】データの入力規則リストから空白を削除する5つの方法

  • [OK] をクリックすれば、ドロップダウンリストから空白セルが完全に消えます。

【Excel】データの入力規則リストから空白を削除する5つの方法

これがもうひとつの、空白を含まないドロップダウンリストを作る方法です。

関連記事:Excelのデータの入力規則の数式でIFステートメントを使う6つの方法

練習セクション

ここで紹介した方法をぜひご自身で試せるよう、練習用のデータセットを用意しました。下記のデータを使って、各手法を実際に操作しながらマスターしてみてください。

【Excel】データの入力規則リストから空白を削除する5つの方法

まとめ

今回は、Excelのデータの入力規則リストから空白を取り除くさまざまな方法を解説しました。どの方法も一見やや複雑に思えますが、手順どおりに進めば誰でも確実に実践できます。状況に応じて最適な方法を選び、快適なドロップダウンリスト運用にお役立てください。この記事に関するフィードバックや、独自のアイデア・質問などがあれば、ぜひコメント欄でお聞かせください。

関連記事

  • 複数条件に対応するカスタムデータの入力規則をExcelで設定する(4つの実例)
  • Excelで色を使ったデータの入力規則を設定する方法(4通り)
  • 別シートからデータの入力規則リストを作成する6つの方法
  • Excel VBAで配列からデータの入力規則リストを作成する
  • VBAで名前付き範囲を使ったデータの入力規則リストを作る方法
  1. Excelのデータモデルからテーブルを削除する方法【2つの簡単な手順】

    このチュートリアルでは、Excelのデータモデルからテーブルを削除するための2つの簡単な方法をご紹介します。どちらの方法も複雑な数式を使わずに実行できる、シンプルな操作です。また、記事の最後では、データモデルがまだない方向けに、データモデルへテーブルを追加する手順も解説します。 練習用ワークブックはこちらからダウンロードできます。 データモデルとは? Excelにおけるデータモデルとは、1つ以上の共通データ列(キー)を介して相互に関連付けられたデータテーブルのコレクションです。このテーブル群が集まることで、異なるワークシート上にある個々のテーブルにアクセスできる、より大規模なデータベースが形成

  2. Excelでデータモデルからデータを取得する2つの簡単な方法

    Excelのデータモデルからデータを取り出す便利なテクニックをお探しの方は、ぜひこの記事をご覧ください。データモデルからデータを取得する方法は実にさまざまありますが、本記事では代表的な2つの方法を詳しく解説します。手順を一つずつ丁寧に追って説明しますので、最後まで読んでマスターしましょう。 データモデルとは? データモデルはデータ分析において欠かせない機能です。データモデルを使うと、テーブルなどのデータをExcelのメモリ上に読み込むことができます。さらに、共通の列(キー列)を指定することで、複数のテーブル同士を関連付けることも可能です。データモデルにおける「モデル」という言葉は、各テーブル間