top of page
MSL

【完全保存版】ついにエクセルでPythonが使える!社会人のための超入門から実践データ集計まで

ビジネスパーソンの皆さん、日々のデータ集計や分析作業に限界を感じていませんか?


VLOOKUP関数やマクロ(VBA)を駆使して業務をこなしていても、複雑な処理になるとエラーが頻発し、ファイルの動作も重くなりがちです。


そんな長年の悩みを一気に解決する夢のような機能が、ついに一般のビジネスパーソン向けに解放されました。


それが、「エクセルでPython」を使える画期的な新機能です。


これまでデータサイエンティストやプログラマーだけの専門スキルと思われていたPythonが、私たちが毎日使い慣れているExcel上で直接動かせるようになったのです。


本記事では、本間 充 (Mitsuru Honma)が、「エクセルでPython」の基本から実践的な集計方法までを分かりやすく解説します。


準備:ExcelデータをPythonで扱うための「テーブル」化


Pythonでエクセルのデータをスムーズに扱うには、まず対象のデータを「テーブル」という形式に変換しておく必要があります。


テーブル化することで、データが増減しても自動的に範囲が調整され、Python側からのデータ参照が非常に正確かつ簡単になるからです。

エクセルにデータを入力した段階
エクセルにデータを入力した段階

まずは、集計したいデータ範囲(列の見出しを含む)をマウスでしっかりと選択してください。


次に、Excel上部のリボンから「挿入」タブを開き、「テーブル」をクリックしてOKを押します。

テーブルに変換(ショートカットは、[CTRL]+T
テーブルに変換(ショートカットは、[CTRL]+T

これで単なるセルの集まりだったデータが、ひとつのまとまった「テーブル形式」に変換されました。


さらに、Pythonのコードからこのテーブルを呼び出しやすくするために、固有の名前を設定しましょう。


リボンの「テーブルデザイン」タブを開き、左端にある「テーブル名」の入力欄を「SalesData」に変更します。

「テーブル名」の入力欄を「SalesData」に変更
「テーブル名」の入力欄を「SalesData」に変更

これで、あなたのパソコン上で「エクセルでPython」を最大限に活用するための事前準備は完了です。


【超入門】エクセルでPythonを動かす基本操作3ステップ


いよいよ、エクセルでPythonを実際に動かしてみましょう。


難しそうに感じるかもしれませんが、覚えるべき基本ルールはたったの3つだけ。非常にシンプルです。


1. Pythonモードを起動する(=PY)


まずは空いている任意のセルを選択し、半角英数で「=PY」と入力してTabキーを押します。


すると、数式バーの横に緑色の「PY」というアイコンが表示され、セルが「Python入力モード」に切り替わります。


これが、使い慣れたエクセルの中で高度なプログラミング言語を呼び出すための、魔法の第一歩です。


2. コードを入力する(改行はAlt + Enter)


Pythonモードに切り替わったら、実際にPythonのコードを入力していきます。


ここで一つ、初心者が必ずつまずく重要な注意点があります。途中でコードを改行したい場合は必ず「Alt + Enter」を押してください。


通常のEnterキーを押してしまうと、入力が完了したとみなされて実行ステップに進んでしまうため、エラーの原因となります。


3. コードを実行する(実行はCtrl + Enter)


コードの入力がすべて終わったら、「Ctrl + Enter」を押して実行します。


この計算処理は、あなたのパソコンの性能に依存するのではなく、マイクロソフトの安全で高速なクラウド上で行われます。


そのため、数秒待つだけでセルに結果が表示され、パソコンのスペックに関わらず快適に動作するのが大きな魅力です。


実践:エクセルでPythonを使って売上データを集計してみよう


基本操作をマスターしたところで、実際にビジネスの現場でよくある「売上データの集計」を行ってみましょう。


ステップ1:テーブルデータの読み込み(日本語版の注意点)


最初のステップは、先ほど準備した「SalesData」テーブルをPythonに読み込ませることです。


Pythonモードにしたセルに、以下のコードを入力して「Ctrl + Enter」を押してください。


df = xl("SalesData[#すべて]", headers=True)


ここで重要なポイントがあります。「df」とは「データフレーム(DataFrame)」の略で、データを格納しておく箱のようなものです。


また、日本語版のExcelを使っている場合、「[#All]」ではなく「[#すべて]」と日本語で指定する必要があります。


ここを英語のままにしてしまうとエラーが発生するので、日本語版特有のルールとしてしっかり覚えておきましょう。

Pythonのコードを入力しているところ
Pythonのコードを入力しているところ
Pythonのコードが実行されたところ
Pythonのコードが実行されたところ

実行された結果を見る[py]の文字を押す
実行された結果を見る[py]の文字を押す

ステップ2:全体の売上合計を算出する


次に、読み込んだデータ(df)を使って、売上列の総合計金額を算出してみましょう。


先ほど書いたコードの下に、計算を実行するための1行を追加するだけです。


df = xl("SalesData[#すべて]", headers=True)
df["売上"].sum()

これを実行すると、セルに「685000」のような合計金額がダイレクトに表示されます。


一見するとエクセルのSUM関数と同じですが、Pythonを使うことでここからさらに複雑な条件を組み込むことが容易になります。


ステップ3:担当者別の集計表を作る(結果の表示形式に注意)


ビジネスの実務では、全体の合計だけでなく「担当者ごとの売上金額」など、切り口を変えた分析が必須となります。


以下のコードを入力して、担当者別の売上合計を出してみましょう。


df = xl("SalesData[#すべて]", headers=True)
df.groupby("担当者")["売上"].sum()


実行すると、セルには表ではなく「Series」という文字だけが表示されたはずです。


焦る必要はありません。これはエラーではなく、「結果をPython専用のデータ形式として保持していますよ」というエクセルからの合図なのです。


これを私たちが普段見慣れたExcelの表として展開するには、2つの解決方法が存在します。


方法A:Excelのメニューで切り替える


「Series」と表示されているセルをクリックすると、セルの横や数式バーの左側に小さなアイコン(Python出力)が表示されます。


これをクリックし、出力形式を「Python オブジェクト」から「Excel の値」に変更してください。


すると、セルに折り畳まれていたデータが展開され、美しい集計表が表示されます。


方法B:コードを少し書き換える(おすすめ)


毎回メニューを切り替えるのが面倒な場合は、最初から「Excelで表示しやすい表形式にして出力してね」とコードで指示するのがおすすめです。


集計のコードに「as_index=False」という魔法の言葉を追加するだけで解決します。


df = xl("SalesData[#すべて]", headers=True)

# as_index=False を追加して実行する
df.groupby("担当者", as_index=False)["売上"].sum()
Pythonコードの入力
Pythonコードの入力

セルを選んで、[arrayPreview]を選択
セルを選んで、[arrayPreview]を選択
Pythonの出力がエクセルに
Pythonの出力がエクセルに

この書き方を覚えておくと、実行後すぐにExcelへ表が表示されるため、日々の業務スピードが格段に向上します。


ステップ4:ピボットテーブルのようなクロス集計を作る


最後に、大量のデータ分析で真の威力を発揮する「担当者 × 商品」のクロス集計表を作成してみましょう。


Excelのピボットテーブルで行うような複雑な集計作業も、Pythonなら以下のコード一発で瞬時に作成できます。


df = xl("SalesData[#すべて]", headers=True)

df.pivot_table(
    values="売上",
    index="担当者",
    columns="商品",
    aggfunc="sum",
    fill_value=0
)

もし実行結果のセルが「DataFrame」と表示されたら、先ほどの「方法A」と同じように出力設定を「Excel の値」に変更してください。


データが存在しない空白部分には自動的にゼロが補完(fill_value=0)され、商品ごとの売上が完璧に整理された表が完成します。


なぜ社会人に「エクセルでPython」が必要なのか?


「エクセルでPython」が使えるようになったことで、私たちの働き方は根本から変わろうとしています。

エクセルでPythonを使う
エクセルでPythonを使う

最大のメリットは、高度なデータ分析と面倒な自動化処理が、使い慣れたExcelの画面上でそのまま完結することです。


これまでPythonを使うためには、専用の開発環境を構築し、別々のアプリケーションを行き来する手間がありました。


しかし、この新機能により、Excelのセルから直接Pythonの強力なデータ処理ライブラリ(Pandasなど)を呼び出せるようになったのです。


これにより、何万行にも及ぶ巨大なデータであっても、数式をコピーするたびにエクセルがフリーズするあのストレスから完全に解放されます。


また、複雑な条件分岐や複数の表を結合するような処理も、Pythonのコードなら驚くほどシンプルに記述できます。


誰が書いたか分からなくなった「秘伝のタレ」のような複雑なマクロ(VBA)を解読する無駄な時間もなくなります。


コードはセル内に明確に記述されるため、チーム内での共有や業務の引き継ぎもスムーズに進行するでしょう。


データドリブンな意思決定が求められる現代のビジネスパーソンにとって、「エクセルでPython」はキャリアを切り拓く最強の武器となるはずです。


まとめ:エクセルでPythonをマスターして業務効率化を実現しよう


いかがでしたか?今回は「エクセルでPython」の基本操作から、実務で使える実践的なデータ集計までを詳しく解説しました。

エクセルでPythonを用いて売上データをクロス集計を簡単に
エクセルでPythonを用いて売上データをクロス集計を簡単に

最初は見慣れないコードを書くことに戸惑うかもしれませんが、一度慣れてしまえば、毎月の面倒なレポート作成やデータ整理が劇的にラクになります。


誰もが使うExcelの操作性と、Pythonの圧倒的なデータ処理能力が融合したこの機能は、これからのビジネスパーソンにとって必須のITスキルになるでしょう。


まずは手元にある簡単な売上データから、ぜひご自身の業務で「エクセルでPython」に挑戦してみてください。


あなたの仕事の生産性とデータ分析力が、今日から飛躍的に向上することを私、本間 充がお約束します。


コメント


(C) 株式会社マーケティングサイエンスラボ

(C) MSL,2020-2025

bottom of page