二本の柱とは?
第一の柱:元データをハブとしたファイル作り
第二の柱:作業を自動化する(macroなど)これだけです。
これだけと言っても、目の前の仕事を手作業で片づけることに比べれば、最初は少しだけハードルがあります。(しかも高くないハードル)
ファイルの構成を考え直したり、macroを入れて動かしたりするには、ある程度の時間も必要です。しかし、その時間は無駄ではありません。
元データを中心に仕事を組み立て、繰り返し作業をmacroに任せられるようになると、デスクワークの景色は大きく変わります。
同じ数字を何度も入力する。
同じ場所を何度もクリックする。
先月のファイルをコピーして、日付と数字だけを入れ替える。これまで当たり前だと思っていた作業の多くが、実は「やらなくてもよかった仕事」だったと気づくはずです。
そのとき、過去に費やした時間と労力を、少し悔やむかもしれません。
しかし、それ以上に大きいのは、これから先の無駄な時間と労力から解放されたことに気づくことです。
この二本柱を身につければ、Excelは単なる表計算ソフトではなくなります。
自分の代わりに、面倒な仕事を黙々と片づけてくれる道具になります。そのとき、独多に感謝するかどうかは――どちらでも構いません。
うまく使えるようになったのは、間違いなくあなたの実力です。
二本柱によって得られるもの
Excelの操作が減る
二本柱を身につけることで得られる最も大きな変化は、Excelの知識が増えることではなく、
Excelを操作する時間そのものが減ることです。
少し意外に聞こえるかもしれません。
しかし、Excelを使いこなす目的は、Excelの前に長時間座り続けることではありません。
必要な仕事を、正確に、短い時間で終わらせることです。
新しい関数を追い続けなくてもよくなる
Excelはバージョンアップのたびに、新しい関数や便利な機能が追加されます。
もちろん、役に立つものもあります。
ただし、それらをすべて覚える必要はありません。
元データをハブとしてファイルを組み立て、繰り返し作業をmacroで自動化できているなら、あなたがExcelにやらせたかったことは、すでにほぼ達成されているからです。
昨日まで問題なく動いていた仕組みが、新しい関数を知らないという理由だけで、突然役に立たなくなるわけではありません。
新機能の紹介を見るたびに、
「また勉強しなければならないのか」
と慌てる必要もなくなります。
必要になったときに、必要なものだけ調べれば十分です。
新しい関数を知っていることよりも、同じ仕事を何度も繰り返さなくてよい仕組みを持っていることの方が、はるかに価値があります。
新しいExcelファイルを作らなくなる
元データをハブにすると、仕事のたびに新しいExcelファイルを作る必要がなくなります。
先月のファイルをコピーして、
- 日付を変更する
- 不要なデータを削除する
- 新しい数字を貼り付ける
- 名前を変えて保存する
このような作業が極限まで減っていきます。
「売上表_最新版.xlsx」
「売上表_最新版2.xlsx」
「売上表_本当の最新版.xlsx」←(今度こそ真人間になるぞ!と宣言する私みたいです)
という、最新版の大家族を養う必要もありません。
元データを更新すれば、必要な集計表や帳票がそこから作られる。
その形ができれば、ファイルは増えるのではなく、むしろ減っていきます。
Excelファイルを新しく作らなくなることは、仕事をしていない証拠ではありません。
仕事の仕組みが完成に近づいている証拠です。
PCの前に長時間座らなくてよくなる
Excelの操作が減れば、当然ながらPCの前に座っている時間も短くなります。
同じ数字を何度も入力する。
複数のファイルを開いて転記する。
シートを移動しながら、同じ操作を繰り返す。
こうした作業は、頭脳労働のように見えて、実際にはかなりの部分が肉体労働です。
マウスを動かし、キーボードを打ち、画面を見続ける。
肩が凝り、目が疲れ、腰まで痛くなる。
元データを中心に仕事を組み立て、繰り返し作業をmacroに任せれば、人間が担当するのは確認と判断が中心になります。
処理が終わるまで画面の前で見張る必要もありません。
ボタンを押したら、Excelに働いてもらえばよいのです。
Excelを使いこなした結果、Excelを触る時間が減る。
一見すると矛盾していますが、これこそが正しい到達点です。
Excelの達人を目指す必要はない
新しい関数を次々に覚える。
たくさんのファイルを手際よく開く。
驚くほどの速さでキーボードを打つ。
それも立派な能力です。
しかし、本当に目指したいのは、操作が速い人ではありません。
そもそも操作しなくてよい仕組みを作れる人です。
二本柱が完成すれば、Excelの勉強から解放されるわけではありません。
それ以上に大きな、Excelの単純操作からの解放が始まります。
データとコードに触れることが、他のプログラミングへのステップになる。
二本柱を身につけることで得られるものは、Excel作業の効率化だけではありません。
元データを中心に仕事を組み立て、macroを使って計算や処理を自動化しているうちに、知らず知らずのうちにプログラミングの基本的な考え方が身についていきます。
難しい専門書を最初から読む必要はありません。
Excelの中で行っていることは、すでに立派なプログラミングの入口だからです。
データを受け取り、処理して、結果を出す
プログラムの基本は、意外なほど単純です。
- データを受け取る
- 条件に従って計算・加工する
- 結果を出力する
Excelでも、ほとんど同じことをしています。
売上データを読み込み、商品別に集計し、請求書や分析表として出力する。
勤怠データを受け取り、勤務時間や残業時間を計算し、給与計算に使える形へ整える。
競艇データであれば、出走表・直前情報・結果を集め、レースIDを使って結合し、分析用のデータを作る。
扱う内容は違っても、基本構造は変わりません。
データを入力し、ルールに従って処理し、必要な形で出力する。
これはExcel macroでも、Pythonでも、JavaScriptでも、業務システムでも同じです。
言語が変われば書き方は変わります。
しかし、考え方まで別物になるわけではありません。
元データをハブにする考え方は、そのまま通用する
プログラミングを始めるとき、多くの人はコードの書き方ばかりを気にします。
しかし、本当に重要なのはコードよりも先にあります。
- どのデータを使うのか
- どこに保存するのか
- 何を基準に結びつけるのか
- どの順番で処理するのか
- 最終的に何を作るのか
この設計が曖昧なままでは、どれほど立派なコードを書いても、立派に混乱するだけです。
元データをハブとしてExcelファイルを作る習慣が身についていれば、すでにこの重要な部分を経験しています。
元データを一か所に集め、必要な情報だけを取り出し、計算や判定を加え、用途ごとの結果を作る。
これはデータベースやWebアプリケーションでも使われる、基本的な考え方です。
つまり第一の柱は、単なるExcelファイルの整理術ではありません。
データを中心にシステムを設計する練習にもなっています。
macroで覚えた考え方は、他の言語でも使える
macroを使っていると、次のような処理に触れることになります。
- 値を一時的に入れておく
- 条件によって処理を分ける
- 同じ処理を繰り返す
- シートやファイルを順番に扱う
- エラーが起きた場合の処理を決める
- 一連の作業を部品に分ける
VBAでは「変数」「If」「For」「Sub」などの言葉が出てきます。
他のプログラミング言語でも、名前や書き方に多少の違いはありますが、やっていることはほぼ同じです。
たとえば、
売上が10万円以上なら「重要顧客」と表示する
という処理は、ExcelでもPythonでも基本は同じです。
必要なのは、
- 売上というデータ
- 10万円という基準
- 以上かどうかの判定
- 条件を満たした場合の処理
です。
コードの記号が少し変わったからといって、考え方が白紙に戻るわけではありません。
一度「条件によって処理を分ける」という感覚が身につけば、他の言語でも理解しやすくなります。
コードを書く前に、手順を分解する力が身につく
macroを使うためには、人間が何となく行っていた作業を、コンピューターが理解できる手順に分けなければなりません。
たとえば「売上表を作る」という一言だけでは、コンピューターは動いてくれません。
実際には、
- 元データを開く
- 対象期間を絞り込む
- 商品ごとに売上を合計する
- 金額の大きい順に並べる
- 指定したシートへ出力する
- 名前を付けて保存する
という手順があります。
人間は途中を省略して理解できますが、コンピューターには通用しません。
「いつもの感じで、うまいことやっておいてくれ」
これで動いてくれるmacroは、まだ発見されていません。
作業を細かく分け、順番を決め、例外を考える。
この力は、どのプログラミング言語を学ぶ場合にも欠かせません。
IDをそろえる重要性にも気づく
データを扱ううえで、外すことのできないものがIDです。
社員データなら社員番号、商品データなら商品コード、顧客データなら顧客IDというように、一つの対象を間違いなく識別できる番号や文字列が必要になります。
名前だけでデータを結びつけると、同姓同名や表記の違いで問題が起こります。
「株式会社抜天」と「(株)抜天」を、コンピューターが同じ会社だと察してくれるとは限りません。
人間にとっては同じでも、文字が違えば別のデータとして扱われます。
そのため、
同じものには同じIDを付ける。異なるものには同じIDを付けない。
この原則が重要になります。
元データをハブにしたファイル作りを続けていると、IDを統一する意味が自然に分かってきます。
これはデータベースを扱う場合にも、そのまま通用します。
正しい結果だけでなく、間違いへの備えも必要になる
プログラムは、正常に動く場合だけを考えて作るものではありません。
- データが空だった
- ファイルが見つからなかった
- 数字の欄に文字が入っていた
- 同じIDが重複していた
- 必要なシートが削除されていた
こうした例外は必ず起こります。
macroを使い続けていると、
「正常ならどう動くか」
だけでなく、
「異常な場合にどう止めるか」
も考えるようになります。
これは非常に大切な成長です。
処理が止まること自体は、必ずしも悪いことではありません。
間違った結果を堂々と完成させるくらいなら、途中で止まって知らせてくれる方がはるかに優秀です。
エラー処理やデータ検証の考え方も、他のプログラミングへ進んだときに、そのまま役立ちます。
Excelの外へ出るための土台になる
Excel macroに慣れたからといって、必ず他のプログラミング言語へ進む必要はありません。
Excelだけで仕事が完成しているなら、それで十分です。
しかし、扱うデータが増えたり、複数の人で共有したり、Web上で動かしたくなったりすると、Excelだけでは難しい場面が出てきます。
そのときに、
- Python
- SQL
- JavaScript
- データベース
- Webアプリケーション
などへ進む道が見えてきます。
最初から未知の世界へ飛び込むのではありません。
すでにExcelで経験した、
データを集める
条件を決める
計算する
繰り返す
結果を出す
間違いを確認する
という考え方を、別の道具へ移すだけです。
言語よりも、考え方が残る
プログラミング言語には流行があります。
新しい言語や技術が登場し、使われる道具も少しずつ変わっていきます。
しかし、データを受け取り、条件に従って処理し、結果を出力するという基本は簡単には変わりません。
元データをハブとして仕事を組み立てること。
繰り返し作業をコードで自動化すること。
この二本柱を身につけた人は、Excelの中だけで使える技術を学んでいるのではありません。
コンピューターに仕事を任せるための、共通言語を学んでいるのです。
Excelは、その入口として非常に優秀です。
セルが並んでいるのでデータが見えます。
処理前と処理後を比較できます。
失敗しても、仕事用ファイルでなければ大事故にはなりません。
まずはExcelの中で、データとコードに触れてみる。
その経験は、将来ほかのプログラミングへ進むことになったとき、決して無駄にはなりません。
Excelのセルの外には、思っているほど別世界が広がっているわけではありません。
使う道具が変わるだけで、基本的な考え方は、すでにあなたの手元にあります。
参考までに・・・
AIによれば、Excel利用者全体で
- 元データを一か所に集め、そこから集計表・請求書・分析表などを作る
- マクロを特別なものとして眺めるのではなく、日常業務で使っている
- ファイルを毎月コピーして増殖させない
- 手入力や転記を当然の仕事だと思っていない
という、少し厳しめの基準をクリアできるのは僅か3~5%だそうです。


コメント