「データ分析」タグアーカイブ

Excel vs Googleスプレッドシート:機能・関数・用途の違いをわかりやすく解説

「ExcelとGoogleスプレッドシート、どっちを使えばいいの?」「関数の違いが知りたい」「チームで作業するならどちらが便利?」
このような疑問を持つ人は多いです。

Excelは企業でも広く使われる表計算ソフトの定番であり、一方でGoogleスプレッドシートはオンラインでのリアルタイム共同作業に優れています。この記事では、Excelとスプレッドシートの違いを機能・関数・用途の面からわかりやすく比較し、どちらを使うべきか判断できるように整理します。


✅ 1. ExcelとGoogleスプレッドシートの主な違い【比較表】

項目GoogleスプレッドシートExcel(Microsoft Excel)
提供形態Webブラウザで利用(クラウド型)デスクトップ版+Excel Online
保存形式Google形式(.gsheet)+Excel形式対応可.xlsx / .xls / .csv など
保存場所自動保存(Googleドライブ)ローカル or OneDrive
同時編集◯ リアルタイム共同編集が非常にスムーズデスクトップ版は△、Excel Onlineは◯
オフライン利用△(事前に設定が必要)◯(デスクトップ版は完全対応)
関数の種類標準関数+Web取得系独自関数あり関数数が多く高度な分析に強い
マクロApps Script(JavaScriptベース)VBA(Visual Basicベース)
高度な分析機能△ ピボットのみ簡易的◎ Power Query / Power Pivot対応
グラフ基本的な種類は網羅種類・カスタマイズとも豊富
データ容量大規模データにはやや弱い大量データ処理性能が高い
コスト無料(ドライブ容量は制限あり)Microsoft 365契約(有料)
対象チーム共有・Web利用企業業務・分析系

クラウド重視ならスプレッドシート、業務分析ならExcelが強いというのが大きな違いです。


✅ 2. 関数の違い(セルで使う式にも違いアリ)

✅ 共通して使える関数(一部例)

  • SUM / AVERAGE / IF / VLOOKUP / COUNTIF などは両方で同様に使えます。

✅ Googleスプレッドシート特有の関数(Excelにはない)

関数内容Excelでの代替
IMPORTRANGE他のシートのデータを自動取得Power Queryが必要
IMPORTXMLWebサイトからデータ取得Power Query+XPath
GOOGLETRANSLATE自動翻訳アドインが必要
UNIQUE重複排除一覧を生成Excel 365のみ同等対応

✅ 同じ目的でも書き方が異なる例

やりたいことスプレッドシートExcel(365以外)
連番生成(1~10)1ROW(A1) をコピー
条件抽出#CALC!IF系式で複雑処理

スプレッドシートはシンプルな式で結果を返しやすい一方、Excelは分析用関数や関数数の多さで強みを発揮します。


✅ 3. マクロ・自動化の違い

項目GoogleスプレッドシートExcel
言語Apps Script(JavaScript)VBA(Visual Basic)
書きやすさJSベースでWebエンジニア向け長年のExcelユーザーに馴染みあり
実行環境ブラウザ上で動作ローカルPCで動作
外部連携Google APIとの連携が強力Office製品との統合が強い

Web系の自動化ならスプレッドシート、業務システム構築ならExcel VBAが使われるケースが多いです。


✅ 4. 用途別のおすすめ使い分け

ケースおすすめ
チームでリアルタイム共有✅スプレッドシート
会計/財務/請求書など業務✅Excel
Webからデータを取得したい✅スプレッドシート
Power Queryや統計分析を使いたい✅Excel
軽めの家計簿/タスク管理✅スプレッドシート
社内でマクロ処理が必要✅Excel

✅ 5. 結論:目的に応じて使い分けるのが正解

| 軽量・共有・Web連携 | ✅ Googleスプレッドシート向き |
| 大量データ・高度分析 | ✅ Excel向き |

👉「無料で簡単」「クラウドで共有したい」ならスプレッドシート
👉「業務レベルで使いたい」「関数・分析機能を最大限使いたい」ならExcelがおすすめです。

ExcelとGoogleスプレッドシートには、それぞれ異なる強みがあります。共有やWeb連携を重視するならスプレッドシート、高度な分析や業務利用を行うならExcelが適しています。利用シーンに応じて使い分けることで、作業効率を大きく向上させることができます。

SQL:ウィンドウ関数(OVER句)でランキング・累計を計算する

データ分析やレポート作成では、「順位付け」「累計」 のような集計処理がよく登場します。
従来はサブクエリや自己結合を使う必要がありましたが、SQLの ウィンドウ関数(OVER句) を使えば簡潔に記述できます。
この記事では、代表的な使い方と主要DBMSごとの対応状況をサンプル付きで解説します。


🧠 ウィンドウ関数とは?

ウィンドウ関数とは、集計関数に対して「範囲(ウィンドウ)」を指定できる機能です。
通常の SUM()AVG() はグループ全体を集計しますが、OVER() を使うことで「行単位の集計」も可能になります。

🔸 基本構文

関数名(列名) OVER (PARTITION BY 列名 ORDER BY 列名)
役割
PARTITION BYグループを分ける(省略可)
ORDER BY並び順を指定
ROWS BETWEEN ~範囲を細かく指定(任意)

🏅 ランキングを求める

商品の売上データを例に、売上額で順位をつけます。

📘 サンプルテーブル:sales

productcategoryamount
A飲料300
B飲料500
C食品400
D食品200
E食品700

📗 SQL例

📊 実行結果

categoryproductamountrank
飲料B5001
飲料A3002
食品E7001
食品C4002
食品D2003

ポイント

  • 同じカテゴリ内で順位を付与 (PARTITION BY category)

  • 売上が高い順に並び替え (ORDER BY amount DESC)

  • RANK() は同順位がある場合にスキップ(例:1位,1位,3位)


🔢 累計を求める

カテゴリ別に売上の累計を出してみましょう。

📗 SQL例

📊 結果

categoryproductamountrunning_total
飲料B500500
飲料A300800
食品E700700
食品C4001100
食品D2001300

ポイント

  • SUM()OVER() を組み合わせることで行ごとの累積が可能

  • ORDER BY により順序を指定できる

  • PARTITION BY を省略すると全体累計に


🧮 他の代表的なウィンドウ関数

関数説明
ROW_NUMBER()連番(重複なし)を付与
RANK()同順位があるとスキップ(例:1,1,3)
DENSE_RANK()同順位があっても連続(例:1,1,2)
NTILE(n)n等分にグループ分け(例:四分位)
LAG(col, n)n行前の値を取得
LEAD(col, n)n行後の値を取得
SUM(), AVG(), MAX(), MIN()累計・平均などの集計を行単位で

💡 応用例:前回比を計算する

前回の売上からの増減を求めたい場合は LAG() 関数を使用します。



FROM sales;
categoryproductamountprev_amountdiff
飲料B500NULLNULL
飲料A300500-200
食品E700NULLNULL
食品C400700-300
食品D200400-200

🧭 DBMS別のウィンドウ関数対応表

DBMS対応状況対応バージョン備考
Oracle Database◎ 完全対応8i 以降ウィンドウ関数発祥の実装。機能最も豊富
PostgreSQL◎ 完全対応8.4 以降PARTITION, ORDER, RANGE句など全対応
MySQL○ 部分対応8.0 以降8.0から正式対応(それ以前は非対応)
SQL Server◎ 完全対応2012 以降LAG/LEADなどもサポート
SQLite○ 部分対応3.25 以降一部関数は制限あり(NTILEなど)
MariaDB△ 限定対応10.2 以降SUMなどは対応、LAG/LEADは制限あり
IBM Db2◎ 完全対応9.7 以降分析関数として強力なサポートあり
Snowflake / BigQuery◎ 完全対応最新クラウドDWH系でもネイティブ対応

補足

  • 旧バージョンのMySQL(5.x系)ではウィンドウ関数が非対応のため、サブクエリで代替が必要。

  • PostgreSQLとOracleはROWS BETWEENなどの範囲指定も細かく制御可能。

  • BigQueryはOVER()句のほかQUALIFY句でフィルタリングが可能。


🔍 まとめ

観点内容
機能グループ単位での行ごとの集計・順位付け
主な用途累計・ランキング・前回比・順位比較
メリットサブクエリ不要・可読性向上・パフォーマンス改善
対応DBOracle, PostgreSQL, SQL Server, MySQL 8+, BigQueryなど

ウィンドウ関数は、分析SQLの最重要機能といっても過言ではありません。
集計・比較・順位などを自在に扱えるようになれば、レポート作成の幅が大きく広がります。

ゼロから学ぶ!Pythonで気軽にデータ分析入門

「Pythonでデータ分析を始めたいけど、難しそう…」
そんな初心者の方でも大丈夫!この記事では、家計簿や売上のような身近なデータを題材にして、Pythonで「データを読み込む → 集計 → グラフにする」までを体験します。

まずは小さな一歩から。ゲーム感覚で数字を扱っていくうちに、自然とデータ分析の基礎が身につきます。


サンプル環境

本記事の内容は以下の環境で動作確認しています。

項目バージョン / ツール
OSWindows 11 Pro 24H2
Python3.12.6
pip24.2
エディタPowerShell / VS Code
ライブラリpandas 2.x / matplotlib 3.x / openpyxl 3.x

Pythonとは?

Python(パイソン) は、シンプルで分かりやすいプログラミング言語です。

  • 文法がやさしい → 初めてでも読みやすい

  • 豊富なライブラリ → 家計簿、売上管理、グラフ化などすぐ活用できる

  • 学習者が多い → ネットに解説記事や質問回答がたくさん

今回は「pandas」「matplotlib」を使って、データを簡単に扱う方法を学びます。


1. Pythonをインストール

Windows 11なら Microsoft Store からインストールするのが簡単です。

  • スタート → Microsoft Store → 「Python」で検索

  • 今回は最新版の「Python 3.13」をインストールします
    ※ダウンロードすると自動的にインストールされます。


2. 動作確認

PowerShellで次を実行:

出力例:

Python 3.13.7

3. 必要なライブラリをインストール


successfullyと上記の様に表示されればインストール正常終了してます。


4. サンプルデータ

家計簿や売上のようなシンプルなデータを用意します。

sales.csv


5. Pythonで分析!4つの出力を体験

パターン① コンソール出力(数字で確認)

ファイル名を sample.py にして、わかりやすい場所(例:C:\Users\〇〇\Documents\python\)に保存します。

sample.py 」を保存したディレクトリに移動し、powershell でpython sample.pyと入力して実行すると以下の様に表示されます。

出力例:

👉 「今日は使いすぎた?」がすぐ分かります。


パターン② グラフ出力(見やすく可視化)

出力イメージ:

👉 支出の増減がひと目で分かります。


パターン③ ファイルに保存(CSV・画像)


👉 結果をExcelや画像にして保存すれば、あとで見返したり人に見せたりできます。


パターン④ Notebookで出力

Jupyter Notebookを使えば、

と書くだけで、コードの下に表がきれいに表示されます。

ステップ1: Notebookを起動

PowerShell で以下を実行します:

👉 ブラウザが開くので「File → New → Notebook → Python 3」で新しいノートブックを作ります。

ステップ2: セルごとにコードを書く

セル1: データ読み込み

👉セルを選択し、Shift  + Enterで実行すると表がセルの下にきれいに表示されます。

Notebookの特徴

print()不要 → 変数名だけで表や集計結果が表示される

グラフはセル下に直接描画

コード・結果・グラフが一つの画面でまとまって見やすい

✅ まとめると、記事で紹介したパターン④のコードは そのまま動きますが、Notebookではprintを省略して変数名だけ書けばOK という違いがあります。

👉 家計簿アプリ感覚で扱えて便利です。


まとめ

  • Pythonは初心者でも気軽に始められる

  • データ分析の出力には4パターンある

    1. 数字で見る(コンソール)

    2. グラフで見る(可視化)

    3. ファイルに保存(CSV・PNG)

    4. Notebookでまとめる

  • まずは「日ごとの支出」を分析してみるとイメージしやすい