目次
- Pythonはどのようなプログラミング言語なのか
- Python×Excelで業務効率化できる4つのケース
- Pythonの開発環境を構築する方法
2021.01.03
人気のプログラミング言語Pythonを身につけて仕事に生かしていきたいと考えている人は少なくないはずです。しかし、いきなりアプリ開発やシステム構築などを行うのはハードルが高く、何から始めればいいかわからないという状態で止まっているという人も少なくないのでは?
そこでチャレンジしたいのがExcel業務の効率化にPythonを生かすということです。社外・社内のデータ管理や営業売り上げの管理と予測の自動化などその活用の幅は広く、その上すぐに効果を実感することができます。
「Pythonで日常業務の効率化」は、『Pythonでかなえる Excel作業効率化』(技術評論社)共著者で株式会社スタディスト開発部副部長兼SREの北野勝久先生から、PythonをExcel業務の効率化に役立てる方法を全2回の授業を通して学べる授業シリーズです。
この記事ではPythonでできることや環境構築の方法について取り上げた第1回の授業についてレポートします。
いよいよテーマは「Pythonによる業務効率化」へ。
ここで先生から「みなさんは普段、どんなお仕事をされていますか?」と問いかけがなされました。
プログラマー、営業、新卒採用のバックオフィス、マーケターなど、当然ながらその背景はさまざま。そんな方々の多くが共通して似たような経験をしたことがあるだろうオフィス業務でよくあるシーン例が、以下です。
【1】上司から「こういうデータを出しておいて」と依頼が。ファイルサーバーを確認してみると複数ファイルにデータが散らばっていて目当ての情報がどこにあるかがわからない
【2】フォルダ・ファイル整理を全社的に行うことになった。でもあまりに大量のデータがありすぎて手間がかかりすぎる
【3】Excelファイルの定期更新作業。新人への引継ぎのため手順化しておきたいが面倒くさい……
【4】大量のデータが入った分析用のExcelファイルが激重。集計作業が全く進まない
こういった業務をラクに勧めてくれる可能性を秘めているのがPythonです。
【1】のような複数ファイルからのデータの抽出作業は一度プログラム化して、似た部分だけをまとめれば効率化できるかもしれません。
【2】のフォルダ・ファイル整理も同様のメソッドでまとめて行うことが可能です。
【3】のデータ収集・入力作業はPythonで自動化することができます。細かい加工も一気通貫で実装可能。
【4】のような大量データの高速処理はPythonの得意とするところです。
このように、オフィスでよくあるExcelの困りごとをPythonが一気に解決してくれる可能性があるのです。ただし、Pythonは万能ではなく、適合しないユースケースがある場合や壊れたプログラムの改修が必要となる場合もあることを頭に置いておきましょう。
つづいてPythonを使う準備に話題は移ります。
Pythonでプログラムを書き始める準備はざっくりと「手元のPCにPythonをインストールして実行する」方法と「Pythonをクラウド上で実行する方法(Google Colaboratory)」があります。
前者はさらに「Python公式からインストール」する方法と「Anacondaを使ったインストール」に分けられます。北野先生がこの講座で紹介するのは「Anacondaを使ったインストール」の方法です。
AnacondaはPythonのディストリビューション(ソフトウェアの配布形態)の一つで、データ分析を行う人に特化してパッケージングされています。実際のインストールはAnacondaの公式サイトから行います。具体的にはトップページの「Get Started」をクリックし、ポップアップされた画面で「Install Anaconda Individual Edition」を選択。「Anaconda Installers」に示された3つの選択肢(Windows・MacOS・Linux)から自身の環境にあったものを選びダウンロードを開始します。
さらにPythonを便利に書くために北野先生がおすすめするのがプログラミング専用の開発環境を使うこと。この講座で用いられるのはPyCharmというエディタです。こちらも公式サイトにアクセスして「ダウンロード」ボタンをクリックし、選択肢を選んでいけばダウンロードをスタートすることができます。なお、PyCharmはデフォルトでは英語表示です。講座では「Pleiades」というプラグインを利用して日本語化する方法が紹介されました。
文=宮田文机
これで、PythonでExcelの操作を効率化するための環境が一通り整いました。次回の授業ではいよいよ実際にPythonを用いて「複数のExcelファイルに分散した売上データを分析する」演習が行われます。
『Pythonで日常業務の効率化 第1回 複数のExcelファイルに分散した売上データを分析する〜環境構築編〜』
http://schoo.jp/class/7495/room
『第2回 複数のExcelファイルに分散した売上データを分析する~コード解説編~』
ペンシルからのプッシュ通知を設定しておくと、新着記事のお知らせなどをブラウザ上で受信できて便利です。
通知を受信しますか?
「プログラムを実際に作ったことがある」という人から「全然詳しくない」という人まで受講しているこの授業。最初は目線を低くして、「Pythonとは何か」という基礎から解説が行われました。
まず挙げられるのがその人気の高さ。「Developer Survey Results 2020」において最も愛されているプログラミング言語3位、最も学びたいプログラミング言語1位を獲得したのがPythonです。最も学びたいプログラミング言語にPythonが選ばれたのはこれで4年連続とのこと。その人気の高さがうかがえます。
ほかにPythonの要素として先生が挙げるのが以下の3ポイント。
・読みやすい
・標準ライブラリが豊富
・無料
ライブラリとはプログラミングで汎用的に用いられるプログラムのまとまりで、呼び出すことで楽にプログラミングを進めることができます。
また、Pythonは以下のようにさまざまな用途で用いることができるようです。
・データ分析・機械学習
・Webクローリング・スクレイピング
・科学技術計算
・Webアプリケーション開発
・etc……
そして、バックオフィス業務の効率化に使えるライブラリも豊富なのがPython。ここでよくある質問として取り上げられたのが「VBAとなにが違うの?」というポイントです。
Office業務の効率化で真っ先に用いられることの多いVBA。Office製品に特化した言語でありソフトウェア自身に標準装備されているということがまずPythonと異なる点です。ただし、それはOffice上でなければ動作しないということも意味します。Office製品に特化している代わりに、機能やほかの製品との組み合わせに制限があるのがVBAと考えると良いでしょう。
ただし、Microsoft Office自体が巨大なプラットフォームのため「Internet Explorerを操作し、Webの情報を集めてくるクローラーをつくる」などVBAでできることの幅も決して狭くはないようです。
まとめると、PythonはVBAに比べて拡張性が高いが、その代わりにOffice製品を操作する前に開発環境を構築する必要があると理解すればよいでしょう。