OSSANS Project since 2020

「もし四十のおっさんがプログラミングを始めたらどう人生変わるのか」
このブログのメインテーマです
肩肘張らずにユルく、ときたま厳しくやっていきます
※プログラミング以外のことも書きます

Python

2023.02.09(更新)

【やらなきゃ損!】2日でできるPythonのExcelコピペ自動化!

アイキャッチ画像
Python

Excelのコピペ作業が大変(涙)。効率よくできる方法ないかなぁ…。

こんなお悩みに答えていきます。

本記事の内容

  • Pythonを使ったExcel作業の自動化

本記事を対象とする方

  • 普段からExcel業務を大量にこなす方
  • Excel業務を効率よくこなしたい方
  • プログラミングに興味がある方
  • 数字に強い方

この記事を書いている僕はプログラミング歴1年3ヶ月です。webエンジニアとして”社内転職”に成功しました。

PythonでExcel業務をこなすメリットと実践方法

Pythonを使うメリットは?実践方法は?これらを説明していきます。

メリット

  • 自動化で時間を浮かすことができる
  • コピペミスがなくなる

今まで手動で行ってきたことをプログラムで自動化すると、一瞬で作業が終わります。自分がやっていた作業をプログラムが代わりにやってくれるので、時間が浮きます。特に作業量が多ければ多いほどその恩恵が得られます。

それに加えて、手動によるコピペミスがなくなります。ミスを発見してその修正をするといった作業からも解放されます。

正直、デメリットは何一つありません。

実践方法

たった2日でできる実践方法を説明します。

  • 1日目
    書籍、YouTubeなどで基礎学習(ガッツリ知識を習得するというよりは基礎的なことを頭に入れ込む程度でOKです) オススメは下記YouTube動画です。 (所要時間約1時間18分)
  • 2日目
    本記事を見ながら実践(所要時間約30分)
Python超入門コース 合併版|Pythonの超基本的な部分をたった1時間で学べます【プログラミング初心者向け入門講座】
youtubeサムネ画像
※出典元:キノコード / プログラミング学習チャンネル

Pythonの使用環境準備/Windowsの場合

それではPythonを使う準備をしましょう。まずはWindows編から。

まず公式サイトにアクセスして、Pythonをダウンロードしてインストールします。

パイソンインストール画像 ※windowsをクリックします
パイソンインストール画像 ※32bit,64bitどちらかを選択します

お使いのPCが64bitの場合は64bitをダウンロードしてください。64bitかどうかわからない方は下記記事を参照してください。

インストールが終わったら、Pythonがインストールされたかどうかを確認します。

  1. Windowsのスタートメニューを表示
  2. 検索ボックスに「powershell」を入力
  3. 「Windows PowerShell」をクリック
  4. 「Python -V」を入力 → Pythonのバージョンが表示されていればインストール成功です

Pythonの使用環境準備/Macの場合(仮想環境の構築)

今度はMacの場合の使用環境準備を紹介します。

Windowsと同じように公式サイトからダウンロード、インストールしても良いのですが、ここでは仮想環境を作って、インストールする方法を紹介します。

仮想環境はPCの中にもう一台別のPCを作ること、とお考えください。物理的にそんなことできませんので、仮想(バーチャル)というわけです。

仮想環境を使う一つのメリットとしては、自分の好きなライブラリをインストールすることができる点です。Pythonには便利なライブラリがたくさんあるのですが、Pythonのバージョンによって、ライブラリを使用した時にエラーが出ます。

このエラーを回避するためにはライブラリに適したバージョンのPythonが必要になるのですが、バージョンを変更すると、今度は別のライブラリには適さなくなり、そちらのライブラリでエラーになってしまう可能性があります。

それを回避するために、何もない空間の中に、ライブラリに適したバージョンのPythonをインストールするというわけです。

仮想環境の作成方法はいくつかありますが、今回はvenvというPython公式ドキュメントで推奨される仮想環境を作っていきます。

その前にPythonでよく目にするワードを紹介します。さらっと頭に入れておいてください。

仮想環境

仮想環境とは、同じパソコン内に別パソコンのようなPython専用の構築された環境のことを言います。論理的に独立した環境で、パッケージによる依存性や互換性に左右されることなく実行可能となります。

モジュール

.pyという拡張子が付いたPythonファイルのことです。関数やクラスが記載されており、実現したい処理が機能するようにまとめられています。

パッケージ

モジュールをいくつかまとめたものをパッケージと呼びます。

ライブラリ

いくつかのパッケージをまとめて、一つのアプリケーションとしてインストールできるようにしたものです。

サードパーティ

オリジナルメーカーが開発したパソコンや周辺装置、ソフトウェアなどを対象として、それに対応する製品やソフトウェアなどを販売・提供するメーカーのことです。製品を開発したメーカーをファーストパーティーと呼びます。

では仮想環境を作っていきましょう。まず、Macのターミナルを開き、下記コードを入れてください。

【ターミナル】

  1. mkdir sample_venv
  2. cd sample_venv
  3. python3 -m venv sample_venv
  4. source sample_venv/bin/activate

これで仮想環境が作られました。次にpipというツールを使ってライブラリをインストールしていきます。pipとはライブラリを構成するパッケージを管理するためのツールです。先にpipとpythonのバージョンを確認しておきましょう。以下のコードをターミナルに入れてください。

【ターミナル】

  1. pip -V
  2. python -V
ターミナルコード ※バージョンを確認する

バージョンが確認できたら下記コードをターミナルに入れます。

【ターミナル】

  1. pip install openpyxl

このopenpyxlというのがPythonでExcelを使えるようにするライブラリです。

コマンドを実行すると、「新しいバージョンも使えますよ」と教えてくれるアテンションが出ます。せっかくなのでバージョンアップしましょう。

ターミナルコード ※バージョンアップしないと使用できないライブラリも中にはあります

バージョンアップするためのコマンドをターミナルに入力します。

【ターミナル】

  1. pip install --upgrade pip
ターミナルコード ※ここでは触れませんが、バージョンを指定してインストールすることも可能です

「アップグレード成功!」と褒められました。気を取り直してもう一度openpyxlをインストールします。

【ターミナル】

  1. pip install openpyxl
※しばらくコマンドが動く挙動が続きますが問題はありません

私の場合はすでにインストールされているのでこの表示になりますが、始めての方はコマンドがしばらく勝手に動くはずです。動きが止まったら下記コマンドを入力してください。インストール済みのライブラリが確認できるコマンドです。

【ターミナル】

  1. pip freeze

この結果が、openpyxl=3.0.7のような形で表示されればOKです。

これでPythonを使用できる環境になりました。

では実際にVS codeを使って、プログラムを書いていきましょう。VS codeというのはプログラムを書く専用のテキストエディターソフトです。テキストエディターは色々な種類があり、VS code以外でも良いですが、私は利便性の面から愛用していますので、今回はVS codeで解説します。

VS codeのインストール

VS codeをインストールしましょう。下記からダウンロード/インストールしてください。

インストールしたら、WindowsならPowerShell、Macならターミナルで下記2点をインストールします。

【ターミナル】

  1. pip install autopep8
  2. pip install flake8
  • PEP8 → Pythonのコーディングスタイルに沿ったプログラムを作成するツール
  • flake8 → PEP8のチェックツール

次に、Python拡張機能をインストールします。

vsコードの設定画面の画像 ※Pythonをテキストエディタからコーディングできることはとても便利です

私はインストール済みなので、アンインストールと表示されていますが、インストールと表示されるはずです。インストールしたらPEP8とflake8の設定を行います。

設定検索部分にpython linting enabledと入力すると、次のようにな項目が出てくるので、①&②にチェックを入れ、③のチェックを外します。これで初期設定は終了です。

vsコードの設定画面の画像 ※この設定はPythonをコーディングする上で非常に重要なので忘れずに設定しましょう

Excel作業の概要説明

ここまでの設定をするのに時間がかかったかと思うのですが、ここからが実践です。Excel操作をしていきましょう!まずはこちらをご覧ください。

エクセルファイルの画像 ※この中の情報を抜き出していきます

これは私が本業で使用している見積書のテンプレートファイルです。この中で①品名/②品番/③数量を次のExcelファイルの特定セルにコピペしなければなりません。

エクセルファイルの画像 ※コピペ対象ファイル1個目です
エクセルファイルの画像 ※コピペ対象ファイル2個目です
※コピペ対象ファイル3個目です
エクセルファイルの画像 ※コピペ対象ファイル4個目です

実践/コーディング

コピペしなければならないファイルは先に紹介した4つです。これをPythonで一瞬で終わらせます。

まず、仮想環境構築の際に作ったフォルダーにPythonファイルを作ります。私の場合、フォルダーはsample_venvでしたので、ここにsample_venv.pyというファイルを作ります。

vsコードの画像 ※sample_venv.pyを新規作成します

そして、下記コードを打ち込みます。

【ターミナル】

  1. import openpyxl as px
  2. wb1 = px.load_workbook('/Users/macbookpro23/Desktop/sample_venv/sample_venv_estimate.xlsx)
  3. wb2 = px.load_workbook('/Users/macbookpro23/Desktop/sample_venv/sample_venv_nouhin.xlsx)
  4. wb3 = px.load_workbook('/Users/macbookpro23/Desktop/sample_venv/sample_venv_ctm.xlsx)
  5. wb4 = px.load_workbook('/Users/macbookpro23/Desktop/sample_venv/sample_venv_kyodaku.xlsx)
  6. ws1 = wb1['Sheet1']
  7. ws1 = wb2['Sheet1']
  8. ws1 = wb3['Sheet1']
  9. ws1 = wb4['Sheet1']
  10. ws2['B9'] = ws1['B14'].value
  11. ws2['C9'] = ws1['B15'].value
  12. ws2['D9'] = ws1['F14'].value
  13. ws3['D6'] = ws1['B14'].value
  14. ws3['D7'] = ws1['B15'].value
  15. ws4['C2'] = ws1['B14'].value
  16. ws4['C3'] = ws1['B15'].value
  17. ws4['C4'] = ws1['F14'].value
  18. wb2.save('/Users/macbookpro23/Desktop/sample_venv/sample_venv_nouhin.xlsx)
  19. wb2.save('/Users/macbookpro23/Desktop/sample_venv/sample_venv_ctm.xlsx)
  20. wb2.save('/Users/macbookpro23/Desktop/sample_venv/sample_venv_kyodaku.xlsx)

このコードを打ち込んだ後に、ターミナル(Mac)にpython sample_venv.pyと入れてエンターキーを押すと処理が実行されます。VS codeでターミナルを表示させるには、下段のツールバーをドラッグして、上に動かせば出てきます。

vsコードの画像 ※青のバーの上辺にマウスカーソルを合わせるとポインターが矢印に変わります
vsコードの画像 ※青のバーの上辺にマウスカーソルを合わせるとポインターが矢印に変わります
Point

python sample_venv.pyを実行する前に、対象Excelファイルは閉じておいてください。実行が完了したら対象Excelファイルを開きます。

ではファイルを開いてちゃんとコピペできているかどうか確認しましょう!

エクセルの画像 ※しっかりコピペできています
エクセルの画像 ※このファイルのコピペも問題ないです
※最後のファイルにもコピペされています

なんと!!!すごすぎるぜPythonパイセン!

初めて上手く行った時は感動してしばらく動けませんでした(笑)。私はこれにより、月に5~10時間程、時間短縮に成功しています。その時間を利用して色々なことにチャレンジするつもりです。

今回は単純なコピペ作業を紹介しましたが、もちろんもっと複雑な作業が行えるので、日々の業務に役立つこと間違いなしです。

マスターしたら職場でも一目置かれることでしょう。今回紹介した内容は基礎的なことなので、ご自身で勉強を重ねて、色々応用できるように是非チャレンジしてみてください。

ところで、Pythonを使用する時に聞き慣れないワードが出てきたかと思います。冒頭でも記載しましたが、頭から抜けやすいので、頻出するワードをもう一度まとめておきます。

仮想環境

仮想環境とは、同じパソコン内に別パソコンのようなPython専用の構築された環境のことを言います。論理的に独立した環境で、パッケージによる依存性や互換性に左右されることなく実行可能となります。

モジュール

.pyという拡張子が付いたPythonファイルのことです。関数やクラスが記載されており、実現したい処理が機能するようにまとめられています。

パッケージ

モジュールをいくつかまとめたものをパッケージと呼びます。

ライブラリ

いくつかのパッケージをまとめて、一つのアプリケーションとしてインストールできるようにしたものです。

サードパーティ

オリジナルメーカーが開発したパソコンや周辺装置、ソフトウェアなどを対象として、それに対応する製品やソフトウェアなどを販売・提供するメーカーのことです。製品を開発したメーカーをファーストパーティーと呼びます。

最後に私がPython勉強のために購入した書籍を紹介しておきます。

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

仕事がはかどるPython & Excel自動処理

リブロワークス

2020年8月24日発売

インプレス

この本は2~3時間で読み終えることができます。今回私が紹介したPythonによるExcel操作以外にも多数のことが勉強できますし、初心者に優しい内容になっているのでオススメです。

今回のまとめ

今回はPythonでExcel作業を自動化する方法を記事にしました。少しでも皆さんの参考になれば幸いです。大変長くなりましたが、最後まで読んで頂き、ありがとうございました。

Pythonの使用準備

VS codeのインストール

実践/コーディング

関連記事

    現在は関連する記事がございません。

CATEGORY カテゴリー別最新記事

  • CSS
    アイキャッチ画像
    CSS

    【CSS】margin?position?要素の中央寄せで使うプロパティとは?

  • Docker
    アイキャッチ画像
    Docker
    2022.10.03(更新)

    【簡単設定!】DockerでWordPressをローカル開発する方法

  • HTML
    アイキャッチ画像
    HTML
    2023.02.18(更新)

    【図解あり】aタグの入れ子ルールとHTMLの入れ子ルールを覚える方法

  • JavaScript
    アイキャッチ画像
    JavaScript
    2023.03.04(更新)

    【実例コードあり】覚えておきたいパララックスデザインの3つの基本

  • Python
    アイキャッチ画像
    Python
    2023.02.09(更新)

    【やらなきゃ損!】2日でできるPythonのExcelコピペ自動化!

  • Study
    アイキャッチ画像
    Study
    2023.02.16(更新)

    稼ぐために始めたプログラミングのこれまでの振り返り。勉強方法や役立った本も紹介。

  • web site
    アイキャッチ画像
    web site
    2022.11.26(更新)

    ページ表示速度アップ!npmでソースファイルを軽量化する方法【サクッと簡単!】

  • WordPress
    アイキャッチ画像
    WordPress
    2022.10.26(更新)

    【コピペ可】WordPressサイトをPWA化するためにService Workerを実装してみた。