Pythonでかなえる Excel作業効率化

[表紙]Pythonでかなえる Excel作業効率化

紙版発売
電子版発売

A5判/240ページ

定価2,508円(本体2,280円+税10%)

ISBN 978-4-297-11450-3

電子版

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

Excelは全ビジネスマン必須のアプリケーションですが,操作がめんどうだと感じたことはありませんか?
本書は,「Python」というプログラミング言語を使って,そんなめんどうな業務を自動化・効率化する方法を紹介します。プログラミングがはじめての人にもわかるように,コードの書き方からしっかり解説。ExcelやGoogleスプレッドシートでのグラフ作成やデータ収集,表計算,データ分析など,ひととおりの業務をプログラムで動かす方法がわかります。
プログラミングのはじめの一歩としてもオススメです。

こんな方におすすめ

  • 仕事でExcelを使っている人
  • 面倒な作業を自動化してもっとラクにしたい人

著者の一言

なぜExcel 仕事にPythonを使う必要があるのでしょうか。「とくに困ってないよ」という方も多いでしょう。わざわざ今までと違うやり方で仕事をするからには,何かしらのメリットが必要です。

たとえば,Web 上のデータを集計し,グラフ化して,社内のファイルサーバに保管するという業務を考えてみます。Excel 作業の前後には前工程と後工程があり,Excel 上での作業は一部であることがわかります。また,Webブラウザ→Excel →ファイルサーバを行き来せねばならず,めんどうです。このようにExcel 仕事を分解すると,工程数やExcel 外の作業が意外と多いことに気づくでしょう。

ところが,この業務をPythonで行うと,すべての作業はプログラムを動かすだけで完結できます。壊れてしまったら改修が必要ですが,いったんプログラムをつくってしまえば,同じ作業を再びゼロから行う必要はありません。定期的にプログラムを実行すれば完全に自動化することも可能です。つまり,次のようなメリットがあるのです。

  • 同じ作業を何度も人の手で繰り返さなくてもいい
  • 決まった日時に行う定期作業を自動化できる
  • プログラムが壊れない限り,ミスがなくなる
  • 特定の人に依存した仕事を減らすことができる
  • 仕事の進め方を記録管理できる

例にあげたようなデータ集計・加工業務を自動化することで,実際の作業時間と頭の切り替えにかかる時間を含め,毎週2時間程度の時間が新しく生まれるでしょう。年間で約100時間です。その100時間を使えば,さらに別の業務を自動化・効率化できます。プログラミングは,コンピュータに仕事を任せることで,どんどん時間が生まれていくという意味において,時間の打ち出の小槌と言えるかもしれません。

本書は,「みなさんの業務がどのように楽になるか」を最重視して内容を構成しています。本質的ではない作業を自動化・効率化することで,本来やるべき仕事に集中できるようになるでしょう。

これからプログラミングをはじめようとする方にとっては,長い道のりになると思います。一緒にがんばっていきましょう。近道はないし,魔法はない。できなかったことをできるようになることの繰り返しで,それは人生もプログラミングも同じです。本書の内容を参考に,ご自身の仕事を改革できた方がたった1人でもいらっしゃれば,筆者冥利につきます。

この書籍に関連する記事があります!

面倒な作業はパソコンに任せよう!
仕事でExcelを使う際,なんだか面倒だなと感じたことはありませんか?

目次

はじめに

第1章 Pythonをはじめよう

1-1 Pythonの特徴

  • Column オープンソースソフトウェア(OSS)はどうして無料なの?

1-2 Pythonのインストール

  • 1-2-1 Anacondaのダウンロード
  • Column Python 2? Python 3?
  • 1-2-2 Anacondaのインストール

1-3 Pythonをさわってみよう

  • 1-3-1 CUIの起動
  • 1-3-2 Pythonの対話モードの起動

1-4 PyCharmを使おう

  • 1-4-1 PyCharmのダウンロード
  • 1-4-2 PyCharmのインストール
  • 1-4-3 PyCharmを日本語で利用する
  • 1-4-4 インタープリターの設定
  • 1-4-5 「hello world」と表示するプログラムの作成
  • Column PyCharmをすぐ呼び出せるようにしておこう

第2章 Pythonを動かしてみよう

2-1 Pythonのきほん

  • 2-1-1 データの性質
  • 2-1-2 オブジェクトと関数
  • 2-1-3 計算してみよう
  • 2-1-4 異なるデータ型同士の計算
  • 2-1-5 オブジェクトを操作する
  • 2-1-6 同じオブジェクトを使いまわす

2-2 ある条件で処理を分ける

  • 2-2-1 条件を判定する
  • 2-2-2 条件に応じて処理をする

2-3 オブジェクトをひとまとまりで扱う

  • 2-3-1 中身をあとから変更できるリスト型
  • 2-3-2 中身をあとから変更できないタプル型
  • Column ミュータブルとイミュータブル
  • 2-3-3 キーと値をセットで扱う辞書型

2-4 同じ処理を繰り返し行う

  • 2-4-1 要素の数だけ処理を繰り返す
  • 2-4-2 条件が続く限り処理を繰り返す
  • 2-4-3 処理の途中でループを抜け出す

2-5 定義した処理を実行する

  • Column インデントは半角スペース4つ?
  • 2-5-1 関数にわたす情報・関数から戻ってくる情報
  • 2-5-2 変数が使える範囲
  • Column エラーメッセージが表示されたら
  • 2-5-3 あらかじめ用意されている関数

2-6 ファイルを機能ごとに分けて再利用する

  • 2-6-1 使いたいファイルを読み込ませる
  • 2-6-2 あらかじめ用意されているライブラリを使う
  • Column サードパーティライブラリ

2-7 例外処理

第3章 Excel作業を自動化しよう

3-1 Excelファイルを操作するための準備

  • 3-1-1 OpenPyXLをインストールする
  • 3-1-2 新しいフォルダの作成
  • 3-1-3 Excelファイルをフォルダに配置する
  • Column PyCharm上でのファイル移動

3-2 Excelの値を表示する

  • 3-2-1 指定したセルの値を取得する
  • Column 取得するセル位置を指定するほかの方法
  • 3-2-2 複数のセルをまとめて取得する

3-3 Excelファイルを編集する

  • 3-3-1 Excelファイルを新規作成する
  • 3-3-2 Excelシートを追加/削除する
  • 3-3-3 セルの値を編集する
  • 3-3-4 フォントを設定する

3-4 Excelのレイアウトを編集する

  • 3-4-1 Excelの行と列の幅を設定する
  • 3-4-2 行と列を固定表示する
  • Column #からはじまる行はなに?

3-5 Excelのグラフを作成する

  • 3-5-1 グラフが読み込むデータを決める
  • 3-5-2 グラフの種類を決める
  • 3-5-3 グラフにデータをわたす
  • 3-5-4 グラフをつくる
  • 3-5-5 データから系列をつくる
  • Column PyCharmのコーディングアシスタンスについて
  • Column GitやGitHubでプログラムを管理しよう

第4章 Googleスプレッドシート操作も自動化しよう

4-1 Googleスプレッドシートを操作するための初期設定

  • 4-1-1 Googleアカウントの作成
  • 4-1-2 Google Cloud Platformプロジェクトの作成
  • 4-1-3 スプレッドシートを操作するためのAPIを有効化する
  • 4-1-4 サービスアカウントを作成し,認証情報をダウンロードする
  • 4-1-5 利用ライブラリをインストールする

4-2 新しいスプレッドシートを作成する

  • 4-2-1 プログラムがAPIにアクセスできるよう設定する
  • 4-2-2 スプレッドシートを作成する
  • 4-2-3 スプレッドシートの共有権限を変更する
  • 4-2-4 スプレッドシートのURLを表示する
  • Column 新しいシートを追加する

4-3 セルの値を取得する

  • 4-3-1 事前準備
  • 4-3-2 スプレッドシートを開く
  • 4-3-3 セルの値を取得する

4-4 セルの値を編集する

第5章 Excel作業の前工程・後工程を自動化しよう

5-1 フォルダ・ファイル操作

  • 5-1-1 絶対パスと相対パス
  • 5-1-2 フォルダにあるファイルを一覧表示する
  • 5-1-3 フォルダを作成する
  • 5-1-4 ファイルの書き込みと読み込み
  • Column モードオプションw,x,a の選び方
  • 5-1-5 ファイルを移動する

5-2 文字列操作

  • 5-2-1 文字列を検索する
  • Column encoding オプションの指定について
  • 5-2-2 正規表現を使って文字列を検索する
  • 5-2-3 検索一致した文字列の位置を調べる
  • 5-2-4 文字列を置換する
  • Column よりシンプルな文字列置換
  • Column format()メソッドで文字列に変数を埋め込む

5-3 CSVデータの処理

  • 5-3-1 CSVの出力
  • Column newlineオプションの指定について
  • 5-3-2 CSVの読み込み
  • 5-3-3 CSVの加工

5-4 Webからデータを取得しよう

  • Column Webから情報を取得する際の注意点

第6章 表計算やデータ分析をやってみよう

6-1 データ分析を始める前に

  • 6-1-1 ExcelとPythonの使い分け
  • 6-1-2 データ分析の流れ

6-2 JupyterLabを使ってみよう

  • 6-2-1 JupyterLabとは
  • Column Jupyter Notebookとの違いは?
  • 6-2-2 JupyterLabを起動する
  • 6-2-3 実行してみよう
  • Column 新しいファイルの追加
  • 6-2-4 pandasの基本的な使い方

6-3 データを分析する

  • 6-3-1 データの準備
  • 6-3-2 データを読み込む
  • Column データセットの書き込み方法
  • 6-3-3 データを結合する
  • Column 手動でのデータ追加方法
  • Column 欠損値を補うには
  • 6-3-4 データを集計する

6-4 データを可視化する

  • 6-4-1 日本語フォントの使用について
  • 6-4-2 棒グラフを作成する
  • 6-4-3 折れ線グラフを作成する
  • Column プログラムの書き進め方

第7章 いろんな業務を自動化してみよう

7-1 複数のExcelファイルに分散した売上データを分析する

  • 例題の説明
  • 7-1-1 フォルダの中のExcelファイルを読み込む
  • 7-1-2 各月ごとに分かれている売上データを連結する
  • Column インポートの順序とグループ化
  • 7-1-3 売上データと顧客流入元データを結合する
  • 7-1-4 顧客流入元ごとの売上合計を集計する
  • 7-1-5 Excelファイルに集計データを出力する
  • さらなる応用

7-2 特定のルールに従って,フォルダ構成を整理する

  • 例題の説明
  • 7-2-1 作業用フォルダにすべてのファイルをコピーする
  • 7-2-2 すべてのファイルを取得する
  • 7-2-3 取得したファイルが請求書ファイルかどうかを判別する
  • Column 処理を関数にする基準は?
  • 7-2-4 新しいファイル名とフォルダ名を取得する
  • 7-2-5 新しいフォルダを作成する
  • 7-2-6 ファイル名変更とフォルダ移動を行う
  • さらなる応用

7-3 Webスクレイピングでデータを取得する

  • 例題の説明
  • 7-3-1 対象のWebページを確認する
  • Column クエリパラメータ
  • 7-3-2 Webページから情報を取得する
  • 7-3-3 CSSセレクタを確認する
  • 7-3-4 取得したHTMLを解析する
  • 7-3-5 書籍のURLを取り出す
  • さらなる応用
  • Column Webページから画像を取得する

おわりに

参考文献

索引

読者特典

著者プロフィール

北野勝久(きたのかつひさ)

株式会社スタディスト開発部副部長 兼 SRE(Site Reliability Engineer)。
日本タタ・コンサルタンシー・サービシズ株式会社にて,ERPシステムの構築等に携わった後,株式会社スタディストに入社。SOP(標準作業手順書)のプラットフォームサービス「Teachme Biz」の新規機能開発や,システム運用業務自動化の実装等を担当した後に現職。
コミュニティ活動として,SREの勉強会「SRE Lounge」や,日本初のSREのカンファレンス「SRE NEXT」の主催を務める。システム運用業務の自動化によって,自らの働き方を大きく変えた原体験をきっかけとし,趣味でPythonを使った困りごとの自動化に取り組む。その一環で「いつも隣にITのお仕事」にOpenPyXLに関する連載を寄稿し,本書執筆につながる。
普段の業務では,Pythonは自動化ツールの開発やデータ分析等に利用している。
Twitter:@katsuhisa__


高橋宣成(たかはしのりあき)

株式会社プランノーツ代表取締役。1976 年5 月5日こどもの日に生まれる。
電気通信大学大学院電子情報学研究科修了後,サックスプレイヤーとして活動。自らが30歳になったことを機に就職。モバイルコンテンツ業界でプロデューサー,マーケターなどを経験。しかし「正社員こそ不安定」「IT 業界でもIT を十分に活用できていない」「生産性よりも長時間労働を評価する」などの現状を目の当たりにする。日本のビジネスマンの働き方,生産性,IT 活用などに課題を感じ,2015 年6 月に独立,起業。
現在「IT を活用して日本の『働く』の価値を高める」をテーマに,VBA,Google AppsScript,Pythonなどのプログラム言語に関する研修,セミナー講師,執筆,メディア運営,コミュニティ運営など,非IT 企業・非IT 人材向け教育活動を行う。
コミュニティ「ノンプログラマーのためのスキルアップ研究会」主宰。Linkedinラーニングトレーナー。自身が運営するブログ「いつも隣にIT のお仕事」は,月間130 万PV の人気を誇る。
ホームページ:いつも隣にIT のお仕事