今日も8時間睡眠
888文字のブログです

「簡単にできそう」について

🤔

僕はよくVBAを使っていて、まわりの人たちもそれを知っているので、「こういうことってマクロでできない?」とか「こういうエクセルの操作って、自動化できない?」みたいなことをいわれることがあります。「作って」という依頼のこともあるし、「作りたいんだけど、どうしたらいいかなぁ」という相談の場合もあります。

で、そのときに、そう言ってくる人が思い描いている「簡単にできそう」が、ぜんぜん簡単じゃないことがあり、まずその誤解を解くところから始まることがあります。

普段、VBAを書かない人からすると、何が簡単で何が難しいかなんてわからないのは当然なんですが、「簡単にできそうだから、すぐに作ってもらえそう、自分でもすぐ作れそう」と思っていると、後々トラブルになる可能性があります。

ここで言う「簡単」は、人間の作業をベースに判断しているわけですが、プログラムでやると急激に難易度が上がることはあります。

最近の例でいうと、「色のついているセルに対して、こういう処理をしたい」という相談を受けました。「確かに人間が見たら色のついているセルなんてすぐにわかるけど、プログラムでその判断をさせるのは、ちとめんどくさいなぁ」と思っていました。コンピュータには、目がついていませんし、色のついているセルだけ検索、という機能も、たぶんありません。本人的には、「簡単にできるように工夫した」と思っていたようですが、逆に問題が難しくなってしまってました。

また、いろんなケースを念頭に置かなくてはいけないから難しい、ということもあります。「あるフォルダにある各エクセルファイルから、あるセルだけを抜き出してきて集計する」という作業をマクロではできますが、フォルダがなかったらどうするかとか、エクセルファイルがなかったらどうするかとか、細かいことを考え出すと、あんまり簡単ではないこともあります。

このように、人間目線で「簡単にできそう」と思っても、コンピュータ目線では「簡単にはできない」ことはたくさんあります。別に、やりたくないから、嫌がらせをしたいから、「簡単にはできない」といってるわけではありませんので。

(888文字)