なぜ「あいまい検索」が必要なの?身近な課題を解決しよう!
あなたはスプレッドシートで大量のデータを管理していて、こんな経験はありませんか?
- 顧客リストを探すとき、「株式会社山田商事」と「山田商事(株)」のように表記がバラバラで見つけられない。
- 商品データベースで、「りんご」とカタカナで検索しても、「リンゴ」や「林檎」といったデータがヒットしない。
通常の検索機能(Ctrl+F
)では、完全一致しないと目的のデータを見つけるのは一苦労です。
この記事では、誰でも簡単にスプレッドシートに「あいまい検索」を実装する方法を、たった3つのステップでご紹介します。これを読めば、日々のデータ管理が劇的に効率化しますよ!
完成イメージを見てみよう
まずは、どんなものが作れるのか完成イメージをご覧ください。
このように、特定のキーワードを検索窓に入力するだけで、関連するデータが自動で絞り込まれます。今回は、FILTER関数とSEARCH関数を組み合わせて、この便利な機能を実装します。
準備:今回のサンプルデータ
実際に手を動かしていただくために、「シート1」に以下のサンプルデータを用意してください。
商品名 | 価格 | 備考 |
アップルパイ | 500 | 人気の限定商品 |
焼きリンゴ | 450 | 季節限定 |
チョコバナナ | 300 | 子供に人気 |
抹茶ティラミス | 600 | 宇治抹茶使用 |
作成手順:たった3つのステップで完成!
Step 1:検索用のシートを作成する
まずは、検索窓と結果を表示するための新しいシートを用意しましょう。
- スプレッドシートの下部にある「+」ボタンで新しいシートを追加し、「検索」という名前に変更します。
A1
セルを検索窓として使います。A3
セル以降に検索結果が表示されるように、準備しておきます。

※検索シートのA1に検索したい値を入力します。わかりやすく色塗りをしておきます。

Step 2:FILTER関数とSEARCH関数を使ってデータを抽出する
いよいよ核心部分です。この2つの関数を組み合わせることで、あいまい検索を実現します。
検索シートのA3
セルに、以下の数式を入力してください。
=FILTER(シート1!A2:C9, SEARCH(検索!A1, シート1!A2:A9) > 0)

数式の解説
FILTER(シート1!A2:C9, ...)
:シート1のA2
からC9
の範囲を、特定の条件で絞り込みます。SEARCH(検索!A1, シート1!A2:A9)
:シート1のA2
からA5
の範囲に、検索シートのA1
セルに入力されたキーワードが含まれているかを調べます。> 0
:SEARCH
関数はキーワードが見つかると1以上の数値を返すため、この条件でキーワードが含まれる行だけを抽出します。
Step 3:エラー対策:検索窓が空のときにエラーを出さないようにする
このままでは、検索窓(A1
セル)が空の場合に#N/A
エラーが表示されてしまいます。これを回避するために、IF
関数を使いましょう。
先ほどの数式を、以下のように修正してください。
=IF(A1="", "", FILTER(シート1!A2:C9, SEARCH(検索!A1, シート1!A2:A9) > 0))

これで、A1
セルが空の場合は何も表示されず、キーワードが入力された場合だけ検索結果が表示されるようになります。


応用編:AND検索やOR検索も可能!
さらに一歩進んだ使い方として、複数のキーワードで検索する方法もご紹介します。
- AND検索(すべてのキーワードを含む)
=FILTER(シート1!A2:C9, SEARCH("アップル", シート1!A2:A9) * SEARCH("パイ", シート1!A2:A9))
- OR検索(いずれかのキーワードを含む)
=FILTER(シート1!A2:C9, (SEARCH("りんご", シート1!A2:A9) + SEARCH("パイ", シート1!A2:A9)))
これらの応用も、基本的な数式の考え方がわかれば簡単に実装できます。
まとめ:あいまい検索でデータ管理をもっと快適に!
今回ご紹介した方法を使えば、スプレッドシートの検索機能が格段に向上します。表記ゆれのある顧客リストや、膨大な商品データベースも、あいまい検索を使えば一瞬で目的の情報にたどり着くことができるでしょう。
ぜひ、日々の業務やデータ整理にこのテクニックを活用してみてください。
「FILTER関数」についてはこちらも参考に
【明日のために】スプレッドシートで変わる働き方!データベース自動化の超基本「FILTER関数」
【明日のために】スプレッドシートで複数条件を検索!業務効率化の超基本「FILTER関数」を使って複数の条件からデータを簡単に検索・表示する方法
コメント