🖥️

業務データは仕事の「考え方」の記録

2024/12/14に公開

簡潔に…。

はじめましてなので少しばかり自己紹介しておきます。
元経理事務マンでExcel勉強しまくってたら業務改善・自動化の案件をたくさん頂くようになってしまったデータ集計マンです。無事にVBAばかり書いてます。以上。

最先端技術とか云々言っても結局Excelを使う。

言い過ぎですね。ごめんなさい。
でも、Excelは実際ほとんどの企業で使用されている馴染みの深いモノです。

さて、Excelの話となると当然業務の改善や自動化による効率化などが話題に挙がりますが、
このあたりはよくよく見てみると情報の発信者と現場の使用者との温度差ってのが本当に激しいもので、
社会全体で見たときその事務関連のスピード感はまぁ…ってな印象ですよね。
だからといって僕がどうにかする発信をするのか?と言われそうですが、…うーん、ごめんなさい。
「こんなことしてませんか?」「それ、爆速で終わります」なんて発信はとてもじゃないけど上手くできるとは思えないのでそんなことはしません。
ただ、ここでは日ごろ業務をしていて気になった事を共有して業務が少しでも楽しくなればと願います。

業務データは仕事をする人の「考え方」を記録している。

「自動化」「効率化」「業務改善」どれも仕事をしているととても魅力的な響きに聞こえますよね。
「今までに何時間もかかる集計がたった1分で!?そりゃ魅力的だ、いますぐやろう!」
依頼をされる企業様の多くは時間に悩まされ少しでも時短になればとあれやこれやと試行錯誤をしています。
このあたりは事情がややこしく、集計作業に時間を割くとそれだけコア業務の時間が削られるからだったり、集計が大切だと認識はあっても優先順位が低いというのも原因にあったりと何だか色々あります。

ですが、これだと業務の自動化や効率化を行う目的が「単なる時短」になりがちで、提供する側も「単なるツール」になりがちです。

いや、別にそれでいいのかもしれないです。
ただ、少し改めて考えて頂きたいのですが、そもそも先述した「データ集計」と「コア業務」というものの関係性は「切り離した」考え方になっていることがほとんどです。
実際にはここの関係性というのは深く、決して疎かにしていいものではないと思うんです。

入力規則や入力方法などかなり細かな入力を要する日報があるとして、複数人が同じ業務データを入力したとしても、打ち込んだ人によってかなりニュアンスが変わってきます。
1人は仕事が完了した直後に、他の人は翌朝に入力していたり、別の人は必要分だけ入力していたり、はたまた備考欄まで律儀に埋めていたり。
さらにフリーに書き込める報告欄には全角半角大文字小文字etc…。
データ1つ見ても様々です。ほんとに。

つまり何が言いたいのかという事ですが、この「自動化」や「効率化」を推し進める為にはまず、
「データは人の手によって入力されている」という当たり前な事を改めて認識する必要があるんですね。

なので、業務改善でよくある「どう入力させるか」を考える前に「どういう考えで入力をしているか」をデータから推察したり、本人に聞いてみたりして、深く深く考える必要があるんです。

関数は「何を」「どうすると」「どうなるのか」で考える

いきなり技術の話になりますが、Excelで何か関数を覚える時というのは大抵上記の流れで覚えますよね。
例えばみんないつの間にか好きになるVLOOKUP関数だと

=VLOOKUP(これを, この中で探して見つけた行の, この列の値を返す, [大体FALSE])

といった感じですね。
第一引数で指定するセルにもしある数値が入ってたらそれに連動した値を表示したい時に使う。
と言葉にすると案外難しいです。

ただこの関数のもとを辿ると条件分岐…IFに行き着きます。

多くのプログラムは分岐とループをひたすら繰り返してますが、
Excelの場合はワークシート関数において繰り返し処理は(スピルがあるので厳密には無い訳では)無いですが、条件分岐、IF関数はとても重要な役割をはたしてくれますよね。

=IF(ここで色んな処理をして値が,真ならこれを返す,偽ならこれを返す)

ExcelのIF関数、シンプルでいいですよね。ほんと好き。
さて、話を戻して

例えばマスタになるテーブルがあるとし、
A列には管理ナンバー、
B列には名前など文字列があったとして、

ここから実際の集計テーブルを作る時、毎回毎回名前なんて入力してられないんですよね。ここで便利なのが、VLOOKUPなのです…は常識ですよね。

=VLOOKUP(D1,A1:B7,2,FALSE)

まぁこんな感じですね。
でもこれVLOOKUPを知らずに分岐だけで書くとどうでしょう?

=IF(D1=A1,B1,IF(D1=A2,B2,IF(D1=A3,B3,IF(D1=A4,B4,0))))

当然多重ネストになります。
でもここで「考え方」にフォーカスしてみると途端に後者の説得力が増すと思いませんか?

これ本当は実際にあった事例なのですが、こう言ったところに人の考え方がでてくるなぁと感じました。
何と言うか、変数を扱うプログラミング的発想があるからこそ様々な関数が扱えるのですが、根本にあるのはこういった一つ一つ手順を踏む思考ではないのかと。

この根本の考え方があるとVLOOKUPの欠点の列の制約に対する対応や少し強引な関数設計をする時にもズレが起きにくくなります。まぁ今はXLOOKUPがあるので、そのあたりはとても柔軟に出来るようになりましたが…スピルってすごい。

みなさんもExcelで数式を組む時、思考プロセスにも注視してみてはいかがでしょうか。

さて、長くなりそうなのでこの辺で。

さいなら。

Discussion