スプレッドシートをデータベース化するメリットと方法

「エクセルめんどくさいなぁ。データ量が少ないからクラウドで使えるスプレッドシートでいい気がする。スプレッドシートはデータベースとしても使えるっぽいけど、いい情報がネット上に載ってない。」

そんな疑問にお答えします。

本記事の内容
  • スプレッドシートをデータベース化して使う5つのメリットがわかる
  • サンプル付きでスプレッドシートの検索方法がわかる

スプレッドシートをデータベースとして利用することで業務効率を向上させられます。役立つ情報をお伝えできるのではないかと思っています。

スプレッドシートをデータベース化して使う6つのメリット

1. Googleフォームとの連携が簡単

GoogleFormsとスプレッドシートの連携
GoogleFormsとGoogleスプレッドシートは簡単に連携ができる。アンケートや問い合わせなどデータベースとしてスプレッドシートが使えるのがより魅力的になる。

Googleフォームでアンケートを作り、スプレッドシートに1クリックで連携することができます。スプレッドシートはエクセルと似ているので、編集・集計も楽。一緒に働くメンバー誰でも扱いやすいファイルです。実際の連携方法は下記がわかりやすく紹介されています。
>>>参照:Googleスプレッドシートと連携!Googleフォームを使ってみた。

2. データが見やすい

スプレッドシートの表示画面例
見覚えのある「エクセルシート」に似たフォーマットでデータを直感的に理解できます。

データベースといえばエンジニアがよく利用するのがmysql。一方でデータベースはエンジニア以外には抽出しづらいものです。スプレッドシートの特徴はデータベースとして利用しても、行・列がエクセルのように表示され、データが見やすいことです。エンジニア以外の企画・経理・マーケティング等の人でも使いやすいのはメリットと言えます。
>>>データベースのサンプルを見てみる

3. 営業セールス・集客マーケティングにも使いやすい

スプレッドシートのデータベースからは、APIに繋ぎこみメール/SMS/ブラウザ電話も行うことができます。私も実際に営業セールスや集客マーケティングにスプレッドシートを使って売上UPに繋がってます。

4. データのビジュアル化もカンタン

データのビジュアル化画像
エクセルと似た操作方法のスプレッドシート。グラフ化作業も簡単かつ直感的に行うことが可能です。

円グラフ・棒グラフ・散布図等、エクセルにある機能は基本的に網羅されています。データ分析をするときも、RやPython(Pandasやmatplotlib)やBIツール等を使う必要がなくなります。スプレッドシートではエクセルと同様に直感的な操作でわかりやすいデータビジュアルを作成することができます。

5. GoogleAppScriptが利用できる

GoogleAppScriptからスプレッドシートを操作
GoogleAppScriptからスプレッドシートを操作することも可能です。最近では業務効率化の大きなカギになりつつあります。

エクセルではVBAでプログラミングができますが、スプレッドシートではGoogleAppScript(以下GAS)でプログラミング可能です。例えば、スプレッドシートに更新がかかったタイミングでメールを送ったり、チャットワークに送信したりといったプログラムを作ることも可能です。通常のデータベースでは、そうした連携にエンジニア工数が多くかかりますが、スプレッドシートxGASであれば手軽に実装できます。GASをサーバレスなバックエンドとして使うケースも増えてます。

6. SQLに似た関数があり、検索・抽出も簡単

Query関数≒SQL
スプレッドシートだけにあるQuery関数。データ抽出をする際の手間を一気に削減してくれる最強お役立ち関数です。

スプレッドシートにはSQLに類似するQuery関数が存在ます。エンジニアにも馴染みのある構文で検索・抽出しやすいです。またこれまでオートフィルやvlookupを使って、消耗していた、マーケターやWEB担当者にとってもQuery関数なら検索が圧倒的に楽に早くなります。Query関数がエクセルよりオススメな大きな理由です。以下利用方法をご紹介するので、エンジニア以外の方も是非覚えてみてはどうでしょうか。
>>>データベースのサンプルを見てみる

スプレッドシートの検索方法

通常のエクセル関数とは違い、SQLのようなQuery関数も簡単に使うことができます。Query関数は以下のような式を記述すると利用することができます。

Query関数の使用方法
Query(選択範囲,“select 選択列 where 条件範囲列=条件”)

例えばこんなサンプルデータがあったとします

以下のように山田家と佐藤家のデータベースがスプレッドシート内に格納されているとします。

No 名前 性別 年齢
1 山田太郎 男性 20
2 山田花子 女性 28
3 佐藤一郎 男性 30
4 佐藤二郎 男性 21
5 山田三郎 男性 35

>>>サンプルシートはこちらから(G2:J7までのセル)

1. 「山田」姓の方を抜き出してみる

まずselectでG〜Jまでの列をしていします。さらに「山田」さんで検索するためには[where 列 like キーワード%]という書き方が必要です。H列のlikeで「山田」を指定します。queryの書き方は以下になります。

=QUERY($G$2:$J$7,”select G,H,I,J where H like ‘山田%'”)

結果

No 名前 性別 年齢
1 山田太郎 男性 20
2 山田花子 女性 28
5 山田三郎 男性 35

>>>スプレッドシートQuery関数実行結果は「A1」以下の通り

2. 「山田」姓かつ「男性」の方を抜き出してみる

さらに「男性」という条件をつけたいとします。I列の条件を「男性」とします。また先ほどの「山田」を姓に含むは継続して条件検索したいので、間に”and”を加えてください。

=QUERY($G$2:$J$7,”select G,H,I,J where H like ‘山田%’ and I=’男性'”)

結果

No 名前 性別 年齢
1 山田太郎 男性 20
5 山田三郎 男性 35

>>>スプレッドシートQuery関数実行結果は「A7」以下の通り

3. 「山田」姓かつ「男性」かつ「20歳以下」の方を抜き出してみる

最後に「20歳以下」という条件を加えます。エクセルでもIF関数などででてくる「<=(以下)」という演算子を利用して下さい。queryの記載方法は下記のようになります。

=QUERY($G$2:$J$7,”select G,H,I,J where H like ‘山田%’ and I=’男性’ and J<=20″)

結果

No 名前 性別 年齢
1 山田太郎 男性 20

>>>スプレッドシートQuery関数実行結果は「A12」以下の通り

この記事に関連する記事