書籍概要

たった1秒で仕事が片づく Excel自動化の教科書

著者
発売日
更新日

概要

14万部のベストセラー『たった1日で即戦力になるExcelの教科書』の著者・吉田拳氏による待望の続編!

「同じ作業を毎週繰り返しこなすだけで,仕事が終わってしまう……」
「大量のデータを扱うので,ミスが絶えない……」

といった悩みを解決するのは,Excel作業の効率化ではなく,Excelの作業そのものを自動化して,ゼロにしてしまうこと。そんな“究極の効率化”を実現するために必要なマクロ・VBAのポイントと,毎日の業務を瞬時に終わらせるしくみの作り方を教えます。

こんな方におすすめ

  • 大量で繰り返しの多いExcel作業によるミスや時間の浪費をゼロにしたい方

著者から一言

「5時間かかる作業が3時間でできます」ではなく「1秒で終わらせます」へ

猛スピードで長時間がんばって作業している割にはたいした成果を出せないこと,ありませんか?

「すばやくショートカットを使いこなして華麗にExcelを操作!」
「ピボットテーブルを駆使して大量の資料作成をこなす!」
「ほかの人なら5時間かかる作業が,私なら3時間でできます!」

キーボードやマウスをスピーディに操って仕事をしている姿はかっこいいものです。しかし,そうした手元の操作スピードにはさほどの価値がないといったら,どう思われるでしょうか?
もちろん,メールや書類などで文章を書くときのタイピングは,やはり速いほうが絶対にいいです。ブログでもSNSでもいいのですが,日常的に文章を書いてアウトプットすることを習慣づけることを私の生徒さんやクライアントの皆様にはおすすめしています。タイピングのスピードが上がるだけなく,思考を文字化することで思考が具体化され,その結果行動が変わり,成果も変わるという法則があります。スマホのフリック入力でも思考の文字化はできますが,やはり仕事でパソコンと向き合う時代はもうしばらく続くでしょうから,パソコンでの文章入力にはぜひ慣れておきたいものです。入力作業では,作業スピードは大事です。
一方,たとえば以下の指示を受けたらどうでしょうか。

「このExcelシートに10000社の会社名リストがある。各社のデータをそれぞれ格納するフォルダを10000個作りたい。今から5分以内に10000個のフォルダを作って,その1つ1つにここにある社名を付けていってくれない?」

どんなにすばやく作業しても,この作業を5分で終えるのは不可能です。こうなると,もう手元の作業スピードの差などまったく意味がなくなります。
少し極端な例だったかもしれませんが,猛スピードで長時間がんばって作業している割にはたいした成果を出せていないケースはたくさんあります。

「自動化」によって手元の操作スピードの差など意味がなくなる

そんな問題を解決するキーワードがあります。それは「自動化」です。
たとえば,先ほどのExcelのリストどおりに10000個のフォルダを作る作業。Excel作業を自動化するテクニックを覚えれば,こんな作業は準備に1分,実行はじつに1秒で瞬殺できてしまいます。
バラバラのたくさんのファイルを1つずつ開いてはデータをまとめていくような,手順がややこしくてまちがえやすい面倒な作業に,「よし,コツコツがんばろう」と腰を据えて真面目に取り組み始めてはいけません。「ほかの人なら5時間かかる作業が,私なら3時間でできます!」と豪語しても,

「え,3時間もですか!? それ,1秒で終わるようにできますよ」

ということになるからです。

「本来なすべき仕事に時間を割けない状態」から抜けだそう

私がさまざまな企業の業務改善コンサルタントとして仕事をしている中で,Excelがネックとなってあちこちで発生しているのが

「長時間作業に時間を取られて,本来なすべきもっと大事な仕事に時間を割けない状態」

に社員の方々が苦しんでいる悲劇です。
私たちが仕事のために割いているのは,「時間」です。私たちに与えられた命の時間が有限であるのは言うまでもなく,お勤めの方であれば定年というリミットもあります。仕事に割いている時間は命そのものなのですから,最大限,より大事な仕事のために割いていただきたいのです。
時間のかかる単純作業は,Excelに任せることができます。ただ,それには「Excel作業の瞬殺自動化」のテクニックが必要です。具体的には「マクロ」という機能を活用するのですが,「従来の本では,何冊読んでもなかなかわからない」「仕事に活かすことができない」という声をたくさんいただいてきました。
その要望に応え,まずは「どうしたら実務を効率化できるか?」という点からブレることのないように内容を磨き上げた研修を100回以上開催し,1000名以上を指導してきました。さらに,これまで200件を超えるExcelマクロの受託開発をこなして,実績とノウハウを積み上げてきました。その成果を凝縮したのが,この本です。大変ご好評をいただいた前作『たった1日で即戦力になるExcelの教科書』(技術評論社)ではお伝えしきれなかったこの「Excel作業の瞬殺自動化」があなたにも絶対確実にできる……そんな状態になっていただくことをお約束します。

本書の使命

本書が解説する具体的な内容は,Excel作業を自動化するためのプログラミングと実務での具体的な活用法です。そして本書の使命は,「すべてのExcel作業を行うデスクワーカーが当たり前にマクロを使いこなしている状態の実現」です。そうなれば日本のGDPに影響を与えるレベルで国益に資することができる ―― それほど,Excelマクロによる効率化のインパクトはとてつもなく大きいものなのです。
決して読者の皆様にプログラミングの専門家になっていただくことが目的ではありません。そのため,あくまでも「すぐに実務で使えるようになる」……その結果,みなさんの仕事がラクになり,生産性が上がり,評価も上がる……ここからブレることなく,一般的な実務ではなくても困らない専門知識やプログラマー的なこだわりは極力削ぎ落し,必要最低限の内容に絞り込みました。
その分,紙面の都合で割愛した内容は,以下のWebサイトにて補足する形式を取っています。

http://sugoikaizen.com/excelvba/

現場での作業は千差万別ですよね。「このような作業は,どのように自動化する?」そんな疑問が際限なく出てきます。そうした疑問や悩みにこたえるサンプルやケーススタディは随時,上記Webサイトに追加して参ります。

「だれでも確実にできるようになります」それを証明する事例

「プログラミングは非常に敷居が高い」と感じてらっしゃる方は多いのですが,Excelの場合は非常にとっつきやすいものになっています。何しろ,普段から日常的に使用されているExcelを効率化するための手段ですから,かんたんでなければならなかったのです。決して専門家にしか使いこなせないものではありません。
たとえば,京都で税理士をされている近藤学さんは,「中小企業の会計作業の煩雑さをなんとか解消できないか?」と考えていらっしゃいました。そこで目をつけたのが,そうした会計用のExcel作業の自動化です。そして,Excelのプログラミングの学習を開始されました。
それから,わずか半年後。一般向けに発売できるほどの会計作業自動化Excelを作り上げ,現在も実際に「資金繰り予報士 こがねむしクラブ」という名称で販売されています。そして,多くの中小企業の会計作業の効率化に貢献されていらっしゃるのです。
また,本書の原型となったExcelマクロ研修を受講した新入社員の方が,「社内のさまざまなExcel作業を自動化するツールを次々に作成して,会社の生産性向上に寄与している」という報告を上司の方からいただくなど,極めて短期間で実践で成果を上げている事例もあります。彼らも,プログラミングはまったくの初心者でした。このような事例からもわかるように,やればだれでもできるものなのです。

「3日かかっていた作業が,1秒で終わるようになる」

そんなことが増えれば,当然会社は変わります。それが当たり前で日常的である,そんな日本のビジネス社会にしたいのです。

単純作業に苦しんでいたのが,よりやりがいのある仕事に全力を注げるようになる。
大量作業をこなすだけの辛い残業がなくなる。
高い成果を上げられるようになり,仕事が劇的に楽しくなる。

そうすれば,人生までもが変わります。本書がその一助となれば幸いです。

目次

はじめに 「5時間かかる作業が3時間でできます」ではなく「1秒で終わらせます」へ

第1章 3日かかった作業が1秒で終わる衝撃

毎日同じ作業に2時間かけていた若手社員の悲劇と感動

  • その作業,本当に時間をかける必要はありますか?
  • たった1クリックで処理が終わる感動

時間がかかる作業は「なぜ」時間がかかるのか

  • 反復性 ~何度も同じことを繰り返す
  • 複雑性 ~手順が多く複雑

まずはExcel作業を自動化する「手順書」を読んでみよう

  • 「面倒なExcel作業を瞬殺する仕組みを自分で作る」という発想
  • 日本語に訳せば処理がわかる

最初にやっておくべき設定

  • ファイルの保存形式を変更する
  • リボンに[開発]タブを表示させる
  • 手順書を作成するツールの重要な設定

いきなり自動化してみる超クイックガイド

  • 死ぬほど仕事を楽にするための基本 ~プロシージャとは
  • Excelの自動化の手順書はどこに書くのか ~標準モジュール
  • Excel自動化の最初の一歩
  • 最初に必ず書く1行を書いてみよう
  • 実行させたい処理を書く
  • プロシージャを実行する方法

Excel自動化のために最初に一度だけやっておくべき設定の「理由」

  • 「せっかく書いたプロシージャが消えてしまった!」を防止するためにExcelの保存形式の変更を
  • これをしておけば快適作業 ~VBEの「自動構文チェックの無効化」と「変数宣言の強制」

第2章 基本にして最重要 ―― 「表作成」の自動化で仕事は劇的に速くなる

まずは超基本から ~セルへデータ・数式・関数を入力する

  • 1回だけなら手作業で済ませることができるけど……
  • わかる人は処理をどう読み解いているか
  • セルにデータを入力するには
  • 数値を入力するには
  • 文字列を入力するには
  • セルに値が入る様子を見てみる
  • 数式の入力方法と注意点
  • VLOOKUP関数はそのままじゃ使えない ~Excel作業の自動化で関数を使う際の注意点
  • IF関数の代わりに使うものとは
  • サンドイッチ構文の2つのポイント

Excel作業に時間がかかる原因を解消してくれる最強の呪文 ~「反復」のFor Next構文

  • コピペやオートフィルをそのまま書こうとしない
  • 指定するセルの行数を次々に変化させる ~変数
  • 入力するセルの行数を次々に変えることで関数を連続入力させる
  • コラム 【Enter】で空白を空けたくない場合は
  • どのような仕事がされているかを1つずつ確かめながら進めていこう ~ステップイン実行
  • 処理するデータの数は毎回変わる,その変化に臨機応変に対応できなければ意味がない

セルは「どのシートのセルか」まで指定する ~シートの指定方法

  • シートを指定する最も基本的な方法
  • シートの一括指定で書くのも理解するのもラクに ~With構文
  • 【演習】ひととおりプログラムを書いて実行してみましょう

わかりやすくするために押さえておきたいこと

  • なぜ,【Tab】で段落をつけるのか ~インデントの重要性を理解する
  • 「そんな昔のことなど覚えていない……」とならないためのメモの残し方 ~コメント

第3章 複雑な問題も,小さく分解すれば,1つずつのシンプルな要素にすぎなくなる

処理を自動化する知識を身につけるために押さえておきたいこと

  • セルに対して行う処理にはどのようなものがあるか
  • 処理をきちんと日本語訳して理解する
  • 「その処理が行われたらExcelはどのように動くか?」をイメージする

見やすい表を作るための作業をラクにする ~セルの書式設定

  • 書式設定の6つの種類
  • セルに入力されているフォントを太字にする
  • セルのフォントの色を設定する
  • セルのフォントのサイズを変える
  • セルを塗りつぶす
  • セルに罫線をつける
  • 処理の文型をおさらいすると

セルを自在に操るには

  • セルの値を消去する
  • 表へのデータの入力時,既存データが入力されていたら,まずそれを消してから入力する ~初期化の重要性
  • セルの範囲指定を行う方法 ~CurrentRegionとOffsetを使いこなす
  • セルのコピペ作業を自動化する
  • セルを削除する
  • データを並べ替える
  • 【実務事例】データ処理の定番「不要な行の削除」を自動化するには

シートの処理を自動化するには

  • シートを追加する処理の書き方
  • 追加したシートに名前をつける
  • シートを削除する
  • シートをコピーする

入力の練習をしてみよう

  • 並べ替えを自動化する
  • オートフィルタで不要なデータを抽出して削除する
  • 自動化ツールをシート上のボタンクリックで動かせるようにする

第4章 どんな仕事も計画の「実行」と「検証」ができればうまくいく

問題の原因はいつも似通っている ~問題解決をスムーズにする着眼点

  • 仕事を成功させるための考え方はプログラミングで学べる
  • ピリオドはつなぐもの,カンマは区切るもの
  • 「始まりと終わり」の枠組みを作ってから中身を入れる
  • 開発中の入力ミスにはこうして気づける
  • テスト実行は必ず保存してから! しかし忘れてしまう……その対策とは

問題をあぶり出す技術 ~「試行錯誤」はむやみにやればいいというものではない

  • 実行中にエラーメッセ―ジが出て処理が止まった時の正しい対処法
  • ある時点までは一気に実行,それ以降は1つずつ処理結果を確認する

無用な手間をなくす大切なリスクヘッジ ~変数宣言の必要性を理解する

  • 変数の名前は意味がわかりやすいものにする
  • わざわざ宣言しなくても変数が使えてしまうことで起きる問題とは
  • 入力ミスをしてしまったとしても,即座に特定できれば問題ない

わからないことの調べ方 ~自動記録とヘルプを使いこなす

  • マクロの自動記録に対する大いなる誤解
  • 自動記録で調べてはキーワードをヘルプで調べてみる

第5章 面倒なルーティンワークを自動化するための具体的プロセス

「その都度入手するブックに対して毎回同じ処理を行う」場合の考え方

  • カギとなるのは「別のブックを開く」という処理
  • まずは基本から ~既存ブックを開く処理の基本構文
  • 「そんなやり方じゃ実務では使いものにならない」理由
  • 自動化ツール一式をまとめるフォルダ構成を整える
  • 固定的な保存場所を使わず,その都度調べる書き方
  • いちいち開きたいブックの名前の指定などしていられない

Excel作業自動化ツールの超具体的な作成手順

  • 具体的な作業手順を日本語で書き出して整理する
  • 自動化ツール一式をそろえる手順
  • 「操作対象ブックフォルダ」「処理済ブックフォルダ」を用意する

第6章 大量のフォルダやファイルの処理も瞬殺する自動化ツールの作り方

大量のブックを開いて閉じての繰り返し……という作業も1クリックで片づける方法

  • 某社人事総務部で行われていた勤怠データの集約作業
  • 大量のブックを処理するための設計のコツ
  • 最初にフォルダを1つ作る
  • フォルダの中に自動化に必要なブックやフォルダを配置していく
  • フォルダの中にあるブック名の一覧表をシート上に書き出す
  • ファイル名一覧表の名前のファイルを次々に開いては処理して閉じる
  • 1クリックですべて完了できるボタンを設置する

「毎月同じようなファイルを何個も作る単純作業がもういやだ!」 ~ファイルの大量作成を自動化する

  • 全社員用の勤怠管理ファイルを自動生成するには
  • ブックの大量複製=1つ雛形シートを作っておき,そのシートを別ブックとしてコピーする処理を繰り返すという発想

第7章 顧客情報の入力がしづらい,見づらい……を解決する ~ユーザーフォームの基本

なぜ,顧客データExcelは管理しづらくなるのか?

  • 「入力しづらいシート」はこんなもの
  • データを「入力する場所」と「保存する場所」は分ける

自作の入力フォームをかんたんにつくる具体的手順

  • 入力用パーツを配置するための土台をつくる
  • 各コントロールには必ず「名前」をつけていく
  • オブジェクト名をつける際のちょっとしたコツ
  • 作った入力フォームを立ち上げるには
  • クリックボタンを配置する
  • コントロールの位置やサイズを調整する方法

チェックボックスやプルダウンメニューも自由自在に

  • ラベル ~コントロールの項目名や説明を表示する
  • テキストボックス ~文字や数値を入力する
  • コンボボックス ~選択肢から入力できるようにする
  • リストボックス ~選択肢から複数を入力できるようにする
  • チェックボックス ~該当するものをすべて選んで指定する
  • オプションボタン ~複数の選択肢から1つだけを選ばせる

入力内容をシートへ転記する

  • シートの何行目にデータを入力するかを決める
  • チェックボックスのチェックの有無の判定とセルへの転記を行うには
  • テキストボックス,コンボボックスの内容をセルに転記するには
  • リストボックスの値をセルに転記するには
  • オプションボタンの選択をシートに転記するには
  • OKボタンをクリックしたらユーザーフォームを閉じるには
  • 続けて入力できるようにするには
  • 入力フォームへ情報を呼び出して修正や確認ができるようにする

入力項目の数が非常に多くて大変な場合はどうするか

  • 項目名のセルに「名前の定義」機能で名前をつけ,その名前はセルの値をそのまま使う
  • コラム セルにつける名前の規則
  • 各コントロールの内容はシートの何列目に転記すればいいのかを自動設定する
  • データは「入力」と「蓄積」と「出力」で場所を分ける

第8章 「保存せずにファイルを閉じちゃった……!」という悲劇をなくす ~イベント処理

うっかりミスを防ぐ仕組みの作り方

  • ボタンをクリックしなくても自動的に動き出すマクロも作れる
  • 保存してない場合はファイルを閉じれないようにするには
  • 特定のシートが選択されたら確認メッセージを出すには

かゆいところに手が届く処理のポイント

  • セルをダブルクリックしたら色がつくようにするには
  • セルの値を変更したら何かが起こるようにするには
  • ブックを開いたら自動的に何かが起こるようにするには

第9章 全体像の整理とこれからのために知っておきたいこと

実際に読み書きするVBAという言語の全体像

  • 単語の4分類
  • 値(あたい)
  • 「処理」の文型の3種類
  • 6つのサンドイッチ構文
  • いろいろな記号

本文で解説していない2つのサンドイッチ構文

  • For Each構文
  • Select Case構文

変数について理解を深める

  • 変数の「型」とは ~宣言してもいいけど,面倒ならしなくてもいい
  • 変数の型の指定はしなくていい,ただ意味はわかったほうがいい
  • 複数の値を入れられる変数「配列」

おわりに

サポート

正誤表

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2017年8月21日最終更新)

P.208 画面3行目

Bookename
Bookname

(以下,2017年6月26日更新)

P.116の上から6行目の最後(第5刷にて修正予定)

右にずらす数になる
にずらす数になる

(以下,2016年8月25日更新)

P.93~95の5点の画像

For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row

Rows.の前に.が必要です。

P.118


Range("A1").PasteSpecial xlPasteValues


Range("A2").PasteSpecial xlPasteValues

P.276 1行目


Cells(2,Range("漢字名称").Column) = Me.txt漢字名称.Text

Cells(3,Range("漢字名称").Column) = Me.txt漢字名称.Text

補足情報

サンプルファイルについて

本書のサンプルファイルは,「はじめに」で紹介されている以下のURLよりダウンロードできます。

(2017年1月5日更新)

商品一覧