2025/08/15
エクセル単純作業の愉悦【代表コラム】
2025/08/15
代表コラムです。
コンピュータを使った単純作業が好きである。社長なんだから個別の案件のデータの処理とか単純作業よりももっと全社的なやるべきことがあるだろうとしばしばメンバーに怒られて取り上げられたりしているものの、好きなものは仕方ない。
その上、自慢じゃないが私はエクセル単純作業のようなチマチマした作業が得意なのである。実際大半のメンバーよりうまいのではないかという自負がある。そこでせっかくなので単純作業について語ってみよう。
まず声を大にしていいたことはエクセル単純作業(しかも大量にうんざりするほどトライする)は優れたITエンジニアになるための肥やしであるということだ。大学の演習とかでよくありがちであるが、一般にプログラミングを学ぶに当たり、題材として何に取りかかればいいか。みたいなテーマで悩むことが多く見られる。要するにプログラミングを学ぶうえでの動機がほとんどないのである。その結果授業が終わってしまえばあんまり遊びたくもない低機能なじゃんけんゲームなどを作ったりするのがオチである。これでモチベーションが上がるほうがどうかしている。
それに比べると、エクセル単純作業をイヤというほど大量にこなすと、どうにかしてこの作業を楽に、正確に終わらせたいという欲求が自然に出てくる。そこからがコンピュータサイエンスの学びのスタートライン始まりだと私は考える。だからみんなたまにはエクセル単純作業をすると良いと思う。(という言い訳で自分で単純作業をしている)
もちろん、その手の手元の課題をすぐにプログラム処理に落とせるかどうかはスキルやコンピュータリテラシーによるところがある。うまく処理の必要性とプログラミングのスキルがマッチして、成功体験を積んでいけると次第に処理が面白くなること請け合いである。なにしろプログラミングを覚えていけば、大量の単純作業が瞬間的に終わったりすることを目のあたりにできる。私はしばしばそのような世界観の変化を表す比喩として「タケコプターが使えるようなもの」と話すことが多いが、まさにそんな感じの変化が起きる。もっともそんな興味深いエクセル単純作業ではあるが、それを取り巻くコンピューターリテラシーはあんまり誰も表立って語らないし、自称エクセルが使えるビジネスパーソン出会ったとしても、その実力には余裕で100倍ぐらいの格差がありそうな気がする。少しだけその要素を頭出ししてみよう。
そもそも基本となるキーボード操作能力、タッチタイピングが重要であることは言うまでもない。適切なホームポジションでなるべく手のひらそのもの物理的移動量を抑えつつキータイプすることが大事である。もっともそれ以上にGUI(Graphical User Interface)のアプリケーションを使う上では、操作対象のオブジェクトをいかにして高速にアクセスするか?というスキルに尽きる。その一例が矢印キーのような「画面上の操作対象を指定するデバイス」をどうやって高速に操作するか?ということの問題が大きい。Emacsとかviのような(旧式?笑)エディタではそもそもCtrl+f等でカーソルが移動するが、いちいち矢印キー押し下げることなく移動したり、BackSpaceのような田舎キーで削除したりしなくても良くなることはエクセル単純ワーカーのイロハである。もちろんわたしは矢印やDeleteなどの頻繁に使うキーをホームポジションから動かさなくても良いキーバインドで仕事をしてる。そのうえでポインティング物理デバイスが大事だ。その点Macはトラックパッドが良く出来ているので良い。Windowsを使っているときはトラックポイント(かつてのThinkPadにあったデバイスのこと。トラックポイントは商標で本来はポインティングスティクというらしい)を使うとよいだろう。要はいかにマウスを使わないか。これはエンジニアあるあるである。
エクセルの操作で言えば、整然データを意識してワークシートを使うこと、それによりフィルターを使う事が大事だ。またなるべくデータをコピーせずにワンソース・マルチユースが実現できるようにExcel関数をある程度使える方が良い。また、スプレッドシートの範囲選択を高速かつ確実に行うために空白のセルを作らない作りにするとか、データもCSVで管理したりすることもあったりするからセルの装飾に意味を付けない(装飾する必要がある場合は条件付き書式を使う)みたいなマナー的問題も存在する。できればITパスポートレベルのデータベースの基本はある程度おさえて、lookup系が使いこなせるように人工キーを適切に発行したり、すると言った細かいテクニックにも理解が深まるとなお良い。まあそういう細かいテクニックを言い出したらきりがないが。。。。
しかし、これらのスキルがある程度身についてくると、ほんとうの意味での単純作業はほとんど無くなる。関数なりVBAなりで自動化されてしまうのである。それでも「単純作業」と呼ばれる作業をするということはどういうことかというと、それが単純ではない作業だからというパラドックスに行き着く。つまり個別の事象に対して何らか一つ一つ判断して行く、更にその判断が要件定義としてわかりやすい形に定義できない難しい問題(意思決定論的に言えば悪構造問題)であることがしばしばある。
その手の難しい単純作業になると、実は全然単純じゃなくてどちらかというと人を選ぶ応用的タスクだったりする。またその上でそうして得られた単純作業の経験を元に、その後楽をするための新しいシステム要件仕様が思いついたりするところがおもしろい。これを誰か他人任せにしてしまうと、永遠に仕様には落ちてこない。そんな世界があるということもエクセル単純作業の奥深さを知る人にとっては興味深い現象の一つである。
更にその上にこんにちは非決定論的な新しいコンピュータパラダイムで構成される生成AIに「単純作業」をやらせようというさらに一歩上の業務設計が求められてくる。実際にかなりの効果が出ることは実験しているし、なんならアンケート屋にとって極めて普遍的なFAのコーディングタスクであれば、Codistなりですぐに実際にお試しいただける。長くなってしまったのでこのあたりはまた稿を改めて考えてみたい。