TOOLS ツール
一覧でもっと見てみる情報発信
リピート・解約防止
SET PLAN セットプラン
BtoB企業向けWeb集客支援プラン
Cloud CIRCUS for Web印刷・広告制作・イベント企画会社向けプラン
Cloud CIRCUS for CreativeBUSINESS 事業形態別で選ぶ
INDUSTRY 業界別で選ぶ
記事公開日: 2026/11/09
検索システムの作り方は、①Excelの関数・フィルタで作る ②データベースとプログラムで自作する ③ノーコードで既存シートをそのまま検索ページにする、の3ルートです。社内の少人数なら①、全文検索を作り込むなら②、シートのデータをスマホ対応のWebページとして社内外に早く公開するなら③が現実的でしょう。どのルートも、最初は「1行1件・1列1項目」の表を整えることから始めます。
検索システムとは、蓄積したデータに対してキーワードや条件を入力し、該当するデータを絞り込んで一覧表示する仕組みです。
本記事では、検索システムの構成要素と3ルートの比較表、ルートごとの作成手順、作るときの注意点までを解説します。ぜひ自社のデータに合った作り方を選ぶ際の参考にしてください。
目次
検索システムは「データ」「インデックス」「検索処理」「結果画面」の4つの要素でできています。
| 構成要素 | 役割 | Excelで作る場合の例 |
|---|---|---|
| データ(データベース) | 検索の対象になる情報を、決まった形式でためておく | 出展社一覧のシート |
| インデックス | 探しやすいように、データを整理して引き出しやすくしておく | テーブル化した範囲、列見出し |
| 検索処理 | 入力された条件に合うデータを取り出す | フィルタ、FILTER関数 |
| 結果画面 | 該当したデータを一覧や詳細で見せる | 抽出結果を表示するシート |
Elasticの公式ブログでは、検索エンジンの構成要素をWebサーバー・データインジェスト(データの収集)・インデックス・検索結果ページの4つに分けて説明しています。業務データの検索システムでは、収集の工程が「シートに入力する」作業に置き換わるだけで、骨組みはほぼ同じです。
検索システムでできることは、キーワードで行を探す・カテゴリや地域で絞り込む・日付や名前の順に並び替える・一覧から1件を選んで詳細を見る、の主に4つです。
検索の方式は大きく2種類に分かれます。
全文検索とは、文章の中に含まれる語を探す方式のことです。大量の文章を速く探すには、文章を短い単位(トークン)に分け、その語を含むデータの一覧をあらかじめ作っておく「転置インデックス」という仕組みを使います。Qiitaに掲載された検索システムの作り方の解説では、データベースのLIKE句で文字列を探す方法だと、件数が多いときに表を端から端まで調べることになり、時間がかかる点が問題として挙げられています。
絞り込み検索は列の値で該当する行を抽出する方式で、「出展カテゴリが産業機器」「ホールが東1」のように条件を指定して行を取り出すExcelのフィルタと同じ発想です。
製品一覧や実績一覧、出展社一覧のように「項目が決まっている表」を探すなら、多くの場合は絞り込み検索で足り、全文検索が必要になるのは長い文章を大量に扱うときです。
3つのルートを7つの観点で並べました。
| 観点 | ①Excel(関数・フィルタ) | ②プログラミングで自作 | ③ノーコード(CIRCUS DBの場合) |
|---|---|---|---|
| 向いている用途 | 社内の少人数で使う一覧の検索 | 全文検索や独自の並び順が必要な検索サイト | 既存シートのデータを社内外に公開する検索ページ |
| 必要なスキル | Excel関数の基礎 | PHP・HTML・CSS、データベース、サーバーの知識 | プログラミング不要 |
| 公開範囲 | ファイルを共有した人のみ | 社内・社外とも可(作り方次第) | 社内・社外へシェアできる |
| スマホ対応 | 操作しにくい | 画面を作り込めば対応できる | スマホ・PC両対応 |
| 初期の手間 | 小さい | 大きい(設計・実装・本番移行) | アップロード→AI自動生成→公開(最短即日) |
| 更新の手間 | シートを直す | 管理画面やデータベースを直す | Excel・Googleシートを更新するだけ |
| 検索軸の設計 | 作る人が関数で組む | 作る人が要件として決める | AIが列と行から自動生成 |
どのルートを選ぶかは、次の3点に当てはまるかで判断できます。
3つ目に当てはまるなら②の自作が候補です。1つ目と2つ目に当てはまるなら③のノーコードが合い、どれにも当てはまらなければ①のExcelで十分でしょう。
費用は製品ごとに大きく変わるため、表に載せていません。各ツールの料金は公式サイトで確かめてください。
ここではイベントの出展社一覧を例に、来場者向けの案内を担当者が探す場面を想定し、データを整える→フィルタかFILTER関数で検索する、の2段階で作ります。
最初に、表を次の5つの形に整えてください。
出展社一覧なら、「出展社名/出展カテゴリ/ホール/ブース番号/製品分野/都道府県/出展製品の説明」のように列を分けます。製品分野が2つある会社は、区切り文字を1種類に決めて入れておくと、あとで絞り込みの選択肢として使いやすくなります。
この整え方はルート②でもルート③でも共通の下準備です。CIRCUS DBでも、カスタマーサクセス担当がExcelデータの整理方法から公開まで伴走する体制をとっています。
一番手軽なのはフィルタです。表の中のセルを選んで「データ」タブの「フィルター」を押すと、列見出しに▼ボタンが付き、値を選ぶだけで該当する行に絞り込めます。
条件を入力欄で指定するならFILTER関数を使います。構文は「=FILTER(配列, 含む, [空の場合])」です。Microsoft サポートによると、2つ目の引数には1つ目の範囲と高さまたは幅が同じ真偽値(TRUE/FALSE)の配列を指定し、3つ目の引数には該当がなかったときに返す値を指定します。
出展社一覧がA2:G201にあり、J1セルに出展カテゴリ、J2セルにホールを入力する形にした場合、数式は次のとおりです。
条件同士を「*」でつなぐとAND、「+」でつなぐとORになります。3つ目の引数を省略すると、該当がゼロのときに#CALC!エラーが表示されるため、「該当なし」のような文字を入れておくと親切です。
部分一致にはSEARCH関数とISNUMBER関数を組み合わせます。SEARCH関数は文字列が見つかった位置の番号を返し、見つからなければ#VALUE!エラーになります。ISNUMBER関数で「数値が返ったか」を判定すれば、キーワードを含む行だけを取り出せるわけです。
2つ目の式は出展社名と説明欄を「&」でつないだ文字列の中を探しています。SEARCH関数では大文字と小文字が区別されず、「?」(任意の1文字)や「*」(任意の文字列)のワイルドカードも使えます。
FILTER関数の適用先として、Microsoft サポートには Excel for Microsoft 365、Excel 2024、Excel 2021 などが挙がっています。使っている版を先に確かめましょう。
Excelの検索システムは作った本人と近くのメンバーが使う分には十分に役立ちますが、使う人と場所が広がると次のような場面でつまずきます。
裏を返せば、更新する人が1〜2人で、社内のPCで探せれば足りる一覧なら、Excelのままで困ることはありません。
自作のルートではデータベースに入れたデータをプログラムで検索して結果をWebページに表示するため、自由度が高い反面、設計から公開後の保守まで自分たちで担わなければなりません。
PHPとWordPressで作る方法を図解したdebatezukai.comの記事では、必要なツールとして次の5つが挙げられています。
| 必要なもの | 役割 |
|---|---|
| レンタルサーバーとWebページ(WordPress) | データベースと検索ページを置く場所 |
| テキストエディタ | プログラムを書く |
| MAMP | 自分のパソコンにテスト環境を作る |
| FTPクライアントソフト | 本番サーバーへファイルを送る |
| PHP・HTML・CSSの基礎知識 | 検索処理と画面を作る |
作成手順は「データベースを作ってデータを入れる→ローカル環境でプログラムを書いて試す→本番環境に移行する→CSSで見た目を整える」の4ステップで、プログラムの部分ではデータベースへの接続・検索条件の入力フォーム・データの取得・結果の表示の4つを作ります。
検索処理の中身を日本語で書くと、次のような命令になります。
出展社テーブル から
出展カテゴリ = 入力されたカテゴリ
かつ 説明 に 入力されたキーワード を含む
行を取り出して一覧に表示する
条件の項目を1つ増やすたびに、入力フォーム・検索の命令・結果画面の3か所を直さなければなりません。仕様や料金は各公式サイトで確認してください。
文章の多いデータで、関連の高い順に結果を並べたい場合は、もう一段深い仕組みが要ります。
前出のQiitaの解説では、LIKE句の検索は「一致したかどうか」しか分からず、検索語を多く含むデータを上位に出す並び替えができないと説明されています。解説の後半では、転置インデックスによる全文検索を作り、ユーザーがクリックした結果を学習データにして機械学習で並び順を最適化するところまで進みます。
Elasticsearchを使う場合、Elasticの公式ブログでは「検索の要件を決める→データを集める→格納する→インデキシング→検索結果を最適化する」の5ステップで開発の流れを示しています。実装の詳細は各公式ドキュメントを参照してください。
自作の検索システムで多い悩みは、作った担当者しか中身を直せなくなることです。
項目を1つ追加したい、絞り込みの選択肢を変えたい、といった小さな要望でもプログラムの改修が必要になります。担当者が異動したり退職したりすると、誰も手を付けられないまま古い検索ページが残るケースもあり、サーバーやWordPress、PHPのバージョン更新への対応も続きます。
全文検索や独自の並び順が本当に必要か、作り始める前に一度立ち止まって確かめておけば、あとの負担は小さくて済むでしょう。
ノーコードのルートは、プログラムを書かずに、今あるExcelやGoogleシートから検索ページを作る方法です。Webデータベース作成ツール「CIRCUS DB」の場合、公開までの流れは次の3ステップです。
事前のデータベース設計は不要です。公式FAQでは、AIが既存の列・行・セル構造を自動でマッピングするため、フォーマットを変える必要は一切ないと説明しており、プログラミングの知識がなくてもその日のうちに公開できる手順です。
ルート①ではFILTER関数の条件を、ルート②では入力フォームと検索の命令を、どちらも人が設計していました。「どの列を検索条件にするか」「選択肢をどう並べるか」を決める工程です。
CIRCUS DBではアップロードしたシートの列と行をAIが解析し、検索軸を自動で生成します。例えば出展カテゴリ・ホール・製品分野のような列がある出展社一覧なら、手順1で分けた列がそのまま解析の材料です。
検索ページを外部のベンダーに作ってもらうと、データを変えるたびに更新を依頼する運用になりがちで、依頼から反映までのあいだは古い情報が表示され続けます。
CIRCUS DBでは、情報の更新は使い慣れたExcelやGoogleシートを更新するだけで、二重入力は発生しません。公式の活用イメージでは、自治体・団体の職員が手元の表を更新するだけで地域企業紹介ポータルや補助金検索サイトが最新化され、ベンダーへの更新依頼費用もゼロになる使い方が紹介されています。
公式の活用イメージから3つを表にまとめました。
| 活用イメージ | 誰が探すか | 検索の軸の例(製造業・建設業は公式の表現、ほかは弊社の想定例) |
|---|---|---|
| 製造業・建設業の過去実績検索 | 外出先や施工現場の社員 | 工法×予算×エリア |
| 自治体・団体の補助金検索サイト | 地域の事業者 | 対象業種、目的、地域 |
| イベントの出展社検索 | 来場者 | 出展カテゴリ、ホール、製品分野 |
製造業・建設業の例では、外出先や施工現場からスマホで過去のプロジェクト実績を「工法×予算×エリア」で10秒検索する使い方が示されています。
イベントの例では、イベント実施会社が出展社のブース変更や製品情報を手元のシートで上書きするだけで、イベントサイトに反映できるとされています。来場者の側から見ると、会場や移動中にスマホで「出展カテゴリ」「製品分野」を選び、目当ての出展社とブース番号をすぐに確かめられる検索サイトになります。開催直前まで続くブース変更も、事務局がシートを直せば済む運用です。
一方で、CIRCUS DBが向かない用途もあります。申請・承認の流れや計算処理を伴う業務アプリなら業務アプリ構築ツール、文章の関連度で並び順を細かく調整する検索ならルート②の自作のほうが合います。公式FAQでも、CIRCUS DBは「今あるシートをそのままWeb検索ポータルにする」手軽さとスピードに特化したツールと位置づけられています。
公開前に次の4点を決めておくと、手戻りが減ります。
「株式会社〇〇」と「〇〇(株)」、全角と半角の英数字、「東1ホール」と「東1」のような揺れがあると、同じものが別の値として扱われます。絞り込みの選択肢が増えすぎたり検索で漏れたりする原因になるので、選択肢が決まっている列は入力のルールを先に決めておきましょう。
「産業機器、計測機器」のように1つのセルに複数の分野を書くと、片方の分野で絞り込んだときに漏れることがあります。区切り文字を統一するか、列を分けて入れてください。
社内だけで使うのか、取引先や一般の人にも見せるのかで載せてよい列が変わるため、担当者の個人名や連絡先・社外秘の価格などの列が残っていないかを公開前に必ず確認してください。ログインの要否もここで決めます。
現場や展示会の会場で使うなら、スマホの画面で2〜3回の操作で目的のデータにたどり着けるかを確かめます。絞り込みの軸が多すぎると、かえって探しにくくなるものです。
【補足】更新の責任者を1人決めておくと、データが古いまま放置される事態を防げます。
費用をかけずに始められる手段は、大きく3つに分かれます。順位付けの根拠になるデータはないため、分類で整理しました。
| 分類 | 例 | 向いているケース |
|---|---|---|
| 表計算ソフトのフィルタ・関数 | Excelのフィルター・FILTER関数、Googleスプレッドシートのフィルタ | 社内で少人数が使う一覧の検索 |
| オープンソースの検索エンジン | Elasticsearchなど | 技術者がいて、全文検索を自前で構築できる |
| ノーコードツールの無料プラン・トライアル | 提供している製品の場合のみ(有無・条件は製品ごとに異なる) | 小さく試してから本格導入を判断したい |
Googleスプレッドシートでは「データ」メニューの「フィルタを作成」で絞り込みができます。Googleのヘルプによると、このフィルタはスプレッドシートにアクセスできる全員に同じように適用されるため、自分の画面だけで絞り込みたいときはパソコンでフィルタ表示を使い、閲覧権限しかない人も一時的なフィルタ表示を作れます。
Elasticsearchについては、Elasticが2024年8月29日の公式ブログで、ソースコードのライセンスの選択肢にオープンソースのAGPLを加えると発表しています。ただ、サーバーの用意や運用には技術者の手が要るため、「無料=手間がかからない」わけではありません。
無料プランやトライアルを用意しているかどうか、件数や機能の上限はノーコードツールごとに異なり、条件も変わることがあるため、各公式サイトで最新の情報を確かめてください。CIRCUS DBの提供条件は資料で確認できます。
作れます。Excelのフィルタ・FILTER関数で社内用の検索を作る方法と、ノーコードツールに既存のExcel/シートをアップロードして検索ページを公開する方法があります。全文検索や独自の並び順を細かく作り込む場合は、プログラミングが必要です。
検索の土台になる表を「1行1件・1列1項目・見出し行は1行」に整えることです。結合セルや1セルに複数の値が入っている状態を解消しておけば、Excel・自作・ノーコードのどのルートでも検索の漏れが減ります。
同時編集やスマホからの閲覧、社外への共有に弱く、ファイルのコピーが増えて正本が分からなくなりやすい点で、社外や現場のスマホから使うならWebページとして公開できる仕組みに移すほうが運用しやすくなります。
サーバー、データベース、PHP・HTML・CSSなどの基礎知識、ローカル開発環境が必要です。手順はデータベース作成、ローカルでの実装、本番環境への移行、見た目の調整の順に進みます。保守や項目追加のたびに改修が要る点に注意してください。
全文検索は文章の中に含まれる語を探す方式で、大量の文章を速く探すには転置インデックスという仕組みを使います。絞り込み検索は列の値で該当する行を抽出する方式で、Excelのフィルタと同じ考え方です。実績一覧や製品一覧の検索なら、多くの場合は絞り込みで足ります。
あります。CIRCUS DBは既存のExcel/Googleシートをアップロードすると、AIが列・行を解析して絞り込み用の検索軸を自動生成し、スマホ・PC対応の検索ページを最短即日で公開できます。事前のデータベース設計やプログラミングは要りません。
公開範囲(誰に見せるか)、個人情報や社外秘の列を含めていないか、スマホでの表示、更新の責任者を先に決めることです。更新のたびに外部へ依頼する運用だと情報が古くなりやすいため、担当者が自分で更新できる仕組みを選びましょう。
Excel/Googleスプレッドシートのフィルタ機能、オープンソースの検索エンジン、無料プランやトライアルを用意しているノーコードツールなどがあります。無料の条件や上限は各公式サイトで確認してください。
Category
Tag