スプレッドシートに検索フィールドを追加すると、データのナビゲーションと使いやすさが大幅に向上します。このガイドでは、Excelの組み込み機能と開発者ツールを使用して、入力内容に基づいてデータをフィルタリングする動的な検索ボックスを作成する方法を学びます。
スプレッドシートに検索フィールドを作成するには、まず開発者ツールメニューをアクティブにする必要があります。これを行うには、「ファイル」タブの「オプション」>「リボンのカスタマイズ」に進みます。「リボンのカスタマイズ」列で、 「開発者ツール」の横にあるチェックボックスをオンにし、「OK 」を選択します。
次に、データが含まれているスプレッドシートに切り替えます。最初の行に各列の内容を説明するヘッダーデータがあることを確認してください。すべてのデータを選択し、Ctrl + Tを押してスマートテーブルに変換します。
「OK」をクリックしてテーブル領域を確認します。次に、「テーブルデザイン」メニューの「テーブル名」に「データ」などのテーブル名を入力します。
これで、ワークシート内のデータをフィルタリングするための検索フィールドを作成できます。この例では、データの「Department(部門) 」列を検索します。

IDG
表の横の領域に切り替えて、そこに検索フィールドを挿入します。「開発者ツール」>「挿入」>「ActiveXコントロール」に移動し、「テキストフィールド」アイコンを選択します。(アイコンにマウスを合わせると名前が表示されます。テストシステムでは、最初の行の左から5番目のアイコンです。)テキストフィールドを表の横に配置します。
テキスト フィールドを右クリックし、[プロパティ]を選択して、[LinkedCell]の下で検索フィールドの背後のセルを入力します (例: B7 )。
次に、開発者ツールメニューの「開発者モード」をクリックして、新しい検索フィールドを固定します。表からヘッダーデータをコピーし、検索フィールドの下に貼り付けます。そして、最初のヘッダーセルのすぐ下のセルに次の数式を入力します。
=FILTER(データ;データ[部門]=B7;「何もない」)
FILTER関数は、 Matrix、include、[if_empty]というパターンに従います。
- マトリックスは、フィルターが出力するすべてのデータです。
- 含めるは、条件に基づいて表示する行を指定します。
- [If_empty] は一致するものがない場合に何を表示するかを定義します。
この例では、テーブル名は「Data」で、マトリックスとして定義されています。検索によりDepartment列がフィルタリングされ、セルB7の入力値と一致する行のみが表示されます。一致する行がない場合は、「Nothing」と表示されます。
この記事はもともと当社の姉妹誌 PC-WELT に掲載され、ドイツ語から翻訳およびローカライズされました。
著者: Arne Arnold、PCWorld 寄稿者
アーネ・アーノルドは30年以上にわたりIT業界で活躍し、その大半をITセキュリティ分野に注力してきました。ウイルス対策ソフトウェアのテスト、Windowsのセキュリティ強化に関するヒントの提供に加え、Windowsに最適なセキュリティツールを常に模索しています。現在は新たなAIツールを試用し、それらが私たちの未来にどのような影響を与えるのかを探っています。