ExcelやExcel VBAを学んでいくうえで個人的にもっとも大事だと思う点について書いていきたいと思います。
今回の記事では、以下のような悩みに対する答えが見つかるかもしれません。



Excel VBAを始めたいけどなにからやればいいかわからない
逆に、Excel VBAをすでにやり始めて軌道に乗っている方には有益性は低いと思いますので、さらなるスキルアップには下記の記事などをオススメします。
VBAでお金を稼げるようになって見えてきたこと



私はサラリーマンとして4年前に独学でVBAを始めましたが、今では副業として月に30万以上をVBAで稼げるようになりました。
そうした中で、一般的なサラリーマンのExcelの使い方を見て感じることが、努力家だからといってExcelが上達するとは限らないということです。それどころかむしろ努力家のほうが上達しにくいとさえ思います。
たとえば、架空の例として「Excelの使える関数100選!」なんて本があったとして、そこに書いてある関数100個を根性でぜんぶ覚えたからといってExcelを使いこなせるのかといったら、それはまったく違うと思うんですよね。



Excel上達の根本は知識の多寡ではありません。
じゃあ何が重要なのか。いきなり結論を書きますが以下に尽きます。
もっとも重要なのは、こんな面倒くさいこと死んでもやりたくないという考え方です。もう少し建設的に言うと、楽するためなら死ぬほど頑張るとでも言いましょうか。
多くの人はDRYの観点が足りない



サラリーマンに適正ある人って基本的に忍耐強くて努力家なんですよね。だから多少の面倒は努力や忍耐でカバーしようという発想が根強いと思います。
しかもサラリーマンって基本的に面倒なことを我慢するのが仕事みたいなところあるんで、長く勤めるほどそういう傾向にはますます拍車がかかります。
それはそれでサラリーマン業務をこなすという意味では大いに結構なんですが、ことExcelなどのコンピュータ関連のスキルにおいて努力しようという発想は致命的な障壁です。



まずは、努力という観点を捨ててDRYになりましょう
ここでいうDRYというのは、人間関係でいうドライになれということではありません。
DRY=Don’t Repeat Yourself(同じことは繰り返すな)
とにかく同じことは繰り返さないってことを意識するのが重要なんです。
ちょっと話は飛びますが、漢字ドリルってやったことありますか?
漢字ドリルと聞いたときに嫌なイメージを抱く人がほとんどなのではないでしょうか。
そうなんです。基本的に人間は繰り返すという行為が嫌いですし、苦手です。
一般的には、漢字ドリルを頑張ってこなすことは美徳であり、教育上よいことだとされていると思います。個人的には、そういう価値観がプログラミングやコンピュータを苦手とする人を増やしているんじゃないかな、なんて感じます。
もし、あなたがExcelやプログラミングを本質的に上達したいなら漢字ドリル的な考えは今すぐ捨ててください。



もう頑張るために頑張るのはやめましょう
Excel上達を志すなら、楽をするためなら死ぬほど頑張るというスタンスが重要です
繰り返し作業はコンピュータの仕事です



Excelが超苦手な人を少しイメージしてみましょう。たとえば、こないだこんなツイートを見かけました。
この例では、SUM関数の中に、集計範囲のセルを全部個別に指定して足し合わせています。



上のセルからひとつずつ、ポチポチしていく姿が想像されます。
これを入力した人は、面倒くさいという感情を殺してますよね。
でも考えてもみてください。あなたはセルを1つずつポチポチするために生まれてきたんですか?
ぜったい違いますよね。少しでも繰り返し行為があるなら「これってコンピュータにやらせられないかな?」と人間がやることに違和感を持つことがめちゃくちゃ大事です。
いや当たり前でしょ、と思いましたか?
このSUMの例くらい明らかな非効率だとみんな納得するんですが、多くのサラリーマンは目立たないまでも似たような非効率を日常的に発生させています。
それは努力至上主義、過程重視の風潮が生んだ弊害と言えるかもしれません。



進歩なき忍耐は「努力」ではなく、「徒労」です。
DRYじゃない人のExcelの作り方



Excelが苦手な人が作成したシートは、ちょっとレイアウトを変えようと思ったら、全体の作り方を何から何まで変更する必要があったり、計算式が場当たり的に作られていたりします。
もしそれが他の人から引き継いだファイルなら、いざ使うときにはそれぞれの式が何を求めたい式なのかをいちいち推測して紐解いていく必要があったりするわけです。
それは、単に関数を知らないという問題ではなく、保守性や可読性を高めよう(=人の手による繰り返しや間違いのもと=面倒を避けよう)という考えがないことが根本にあります。



繰り返しを避けることの根本は面倒くさいことは死んでもしたくないという思いです。
同じように人間のミスを誘発しやすいフォーマットも「面倒」に当たります。
とにかく面倒を回避することが大事です。
初歩的な例として挙げられるのは、先ほどのSUMの例は言わずもがな、オートフィルを使わずに1セルずつ計算式を記述したり、同じ列に異なった計算式をまぜこぜにして書いていくような行為です。これは著しく効率が悪く、可読性も保守性もありません。
DRYの観点を持っているなら、行ごとに計算式を変えるのではなく、たとえばIFで場合分けをして同一列の計算式を統一しようと考える(書き分けという面倒の回避)でしょう。
あるいは、さらにかしこい人であれば、配列数式を使用して効率性と保守性をさらに高める(=不慮の書き換えによるミス発生という面倒の回避)かもしれません。
改めて述べますが、Excelのスキルが低いというのは、単に知っている関数の多寡で決まる話ではありません。
可読性や保守性をいかに高めていくか(=面倒を避けるために何ができるか)という観点がないことがそもそもの根本原因です。
同じような作業を繰り返していたら、「これをどうにか自動化できないか」と考えたり、データが変わるたびに計算式を書き換えたりする必要が出てきたら「変更時も追加作業が生じないようにする方法はないものか」と模索しようとする姿勢がなければ永遠に状況が改善することはありません。
「いかに楽にミスなくできるか」という視点がない人は、どれだけ関数を知っていても使いこなすことはできないし、マクロの参考書を100冊読んでも使いこなすことは不可能でしょう。
逆に、「とにかく楽がしたい」という視点を持つ人は、初期のスキルが低くても、少しでも繰り返し作業や修正作業があると途端に嫌気がさします。



「面倒なことはまっぴらごめん」
それでいいどころか、それがいいんです。
どんな手を使っても回避したいし、今後一生同じような面倒はごめんだと思う気持ちが自ら対策方法を模索することにつながり、その過程で自然とスキルアップしていきます。
Excelを使いこなすために本当に大事なことまとめ
今回は、Excelを使いこなすにあたっては、一般的には良いものだとされている「努力」や「忍耐」が逆に障壁になりうるという話をしました。
Excelをはじめとして、いかに機械にやらせるかという時代になってきています。
努力という価値観をアップデートする必要があるでしょう。



楽をするために頑張りましょう。
ちなみに、私の人生のモットーは「最小限の努力で最大限の結果」です。
コメント