たぺログ

Emily likes tennisという日本のバンドのドラマーが描く人間賛歌的なブログ

Excelマクロのこと、会社では死んでも言うな

今回はあるあるな愚痴です。楽しい気持ちになりたい人は他にいきなりステーキの記事とかあるのでそちらもご覧下さい。

 

本日のお品書き

 

こんにちは、疲れました

もうつくづく嫌になったでござる。ドロンしたいでござる。

 

僕は今の会社に新卒で入社して今年で4年目になります。

理系のメーカーで、グループ連結で見ればまあまあに規模のでかいところの端っこで、ハードウェア設計的なことをやっている。

給与はとんでもなく低い。

大学院卒なのに、それだけ?と派遣社員に鼻で笑われてしまうくらいには低い。

それでも辞められないのは、転職の勇気が出ないからです。

 

いつまでも右肩下がっていく売上と、賞与、福利厚生。電気代節約とかせこいことをほざいてお湯が出ない給湯器。風が出ない温風機。交換されない蛍光灯。それらを見ない振りして有給だけはしっかり取る管理職と俺たち。

そんな良くも悪くも、ある程度の気楽さといい加減さが許される昔ながらの古臭い企業文化にどっぷり浸かった自分が、スピード感のある外の世界でやっていけるのか、怖いからだ。いや、頑張ってるよ。つらいよ。でもよそはもっとつらいかもしれないじゃない。目を抜かれた生き馬ばかりの世界かもしれない。

それでも昼休みに同期みんなで転職サイトと睨めっこをしながら、次は誰がいなくなるだろうと目配せし合っている。

そうやって、最初はぬるま湯につかっていたはずがいつの間にか冷たくなってしまった今でも浴槽の中で震えている。

そんな状態。

 

会社の中では全ての人間が自分の利益を優先し、それが結果的に会社を進めるように出来ている、パッと見は。それが「社長の見えざる手」なのだと思う。たぶん。

だから、会社の偉い人に褒められたとしても、それは彼らにとって利益になることだからであり、「我々にとって都合の良いことをしてくれてありがとう」という微笑みでしかないことを、若者は決して忘れてはいけない。

あなたは競馬の馬かもしれない。

そして、次も頑張ってくれよとあなたの肩を叩いて笑う上司は、馬券を握って客席でふんぞり返る客かもしれない。

あなたがレースで勝利しても、彼はもっとたくさんの馬券を買うだけだ。

上司の定年まで、レースは終わらない。

血反吐を吐いて、走り続け、上司の懐を肥やして、

その時、あなたにはちっぽけなメダルとくたびれた顔だけが残る。

(僕は無駄に例えまくるのが好きです。)

 

必要は発明の母

なんの話がしたいんだっけ。

 

Excel マクロを作ってみようと思ったのは入社1年目のことだった。

その頃、僕は少し不安だった。

僕は入社してすぐ、自分にはここで活かせる得意なことが一つもないことに気が付いた。

「バンドを続けやすい勤務地」で今の会社を選んだせいだろうか?

いやそもそも、大学では勉強などちっともやらず、部室でゲームばかりでテスト前だけ友人のプリントをskypeで回してもらってギリギリ卒業できた僕に、そもそも活躍できる会社などなかった。

自分と会社の求めるところで一致するのは「理系であること、たまに計算をすること」のみだった。

まあ、新卒なんて大体皆そんなものだと思うが、当時は何も知らない自分が恥ずかしく、先輩の言うことを理解できないままにメモし、何度も同じことを聞いては呆れられながら(こんなに必死に聞いているのに何度も分からなくなるのは説明の問題もあるし、こちらに質問しづらい空気を作っているせいなのだから少しは反省して欲しい)、なんとか食らいついていた。

 

そんなある日、先輩に言われてあるリストを作った。

それはExcelで作られてはいるものの、通常ただの手入力で行っている業務だった。

ある数字のデータを貼り付け、いくつかのまとまりごとに計算処理を行い、その値を見て、目標に入っているかどうかを確認する。そして、それはフェイズごとに何度も繰り返される。

最初は言われるがままに行っていた仕事だったが、そのうちふと「あーなんだか面倒臭いな。これ、結局繰り返し作業だし、マクロとかいうの覚えたら自動化出来るのかな。そしたらTwitter見れるな」と思った。関数をいくら工夫しても限界があるし、出力されるテキストデータをコピーして範囲を選んで貼り付けるのは面倒臭く、ミスも多かった。Twitter見る方が楽しいし。

 

僕には超賢い友達がいて、彼は誰もが知っている超賢い大学に行き、今では誰もが知っている外資系企業に勤務をしている。そんな賢い彼が昔、ちらっと「プログラミングの勉強やったらドットインストールっていうサイトがめっちゃええで」と教えてくれたのを思い出した。彼のアドバイスはいつも的確だった。

そして、今回のそれは控えめに言って僕の人生を少しだけ変えた。

 

Excel VBA入門 (全19回) - プログラミングならドットインストール 

https://dotinstall.com/lessons/basic_excel_vba

 

今はそこそこ有名だが、当時はまだ流行りだした頃だった。

僕はこのサイトを見て勉強し、わからないところはググって、毎日少しずつ動かしてみた。最初は勝手にセルの文字が変わるだけでも感動した。バグって元のデータが無くなったこともあった。そうしてなんとか出来上がったツールは、非常にお粗末で今にも壊れそうだったが、強力だった。

ある測定時にミスが有り、もう一度全てのリストを作り直さなければならなかった時、僕はたった一つボタンを押しただけでその全ての作業をやり直した。予想より早く報告した僕に先輩は驚いた。僕は「マクロのおかげなんです」と言った。

会社に入って最初で最後に、誇らしげな顔をしていたと思う。

 

Excelマクロでできること

勘違いしてほしくないのですが、僕はExcelマクロを否定するつもりは全く無いです。むしろ皆でマクロ作ろう!たのしいよ!という趣旨です。

Excelマクロは楽しくて、とっつきやすくて、便利で、何より楽しい。あと楽しい。

Excelマクロでは実に色んな事ができる。僕はExcelマクロの初心者だが、Excelマクロの素晴らしいところはそんな初心者が適当に組んだプログラムですらなんとか動き、役に立つということだ。

例えば、

  • Excelのセル上のデータを自由自在に動かし、計算出来る。
  • もちろん他のExcelファイル、メモ帳とかも操作できる。
  • グラフも自動で作れる。
  • Internet Explorerが操作できる。

ブラウザが使えるのは結構知らない人もいるのではないだろうか。これはオブジェクトとかちょっと難しい機能を使うのだがめちゃくちゃ便利で、実際、僕は会社のデータ検索システムに毎月アクセスし検索結果を解析してグラフを作る、という作業を自動化した。

年間工数は確か200時間程度削減したと思う。社内最優秀賞ももらった。商品は数千円の図書カード。それだけ。それでも嬉しかった。

 

効率化したら仕事が増えた

それで、僕は勘違いしてしまった。

「僕は一生懸命勉強して、一部の人にしか出来ないことが出来るようになった。もっと便利なものを作れば、それは皆の役に立って喜ばれるし、それは僕にしか出来ないことなんだから評価されるだろう。」

もちろん、Excelマクロが出来る人なんてのはそんなに珍しくはない。

でも、心の底ではそう思ってしまった。若いので。

成功体験が少ないので。

ちょろかった。

 

会社というのは自分の利益を全てに優先することで進む(ことができているつもりでいる)集合体であることを僕は分かっていなかった。

僕が作ったツールは確かに仕事を減らした。だがそのたび、上司からは余計でしかない仕事を増やされるようになった。

 

例えるなら、こういうことだ。

僕は「カレーを自動で作るマシーン」を作った。

そして「これで、カツを載せたらカツカレーに、チキンを載せたらチキンカレーになります。これまではカレーを作ってから載せていましたが、カレーを作る時間が短縮できます。」と言った。「空いた時間があれば、皆で売れそうな新しいメニューを考えたり、定時に帰れるようになりますよ。」

すると上司は「じゃあ、空いた時間でカレーの中に入っている人参の数を数えよう。何かわかるかもしれない」と言う。「売れそうなメニューも考えておいてくれ」そう言って、飲み会に行く。

先輩は「ねえ、じゃあついでにうどん作るマシーンも作っといてくれない?」と言ってうどん作るマシーンを作る僕を尻目に飲み会に行く。

僕はそのマシーンを作り、先輩に渡す。先輩は自分のパスワードを間違えて入力し、「動かないんだけど」と即聞いてくる。

 

そして気付いた。

皆、「難しいから勉強しなかった」んじゃない。

「やらなくていいからやらなかった」のだ。

皆、自分の分担はしっかりこなし、難しい仕事は器用に周りに分担したり、難しいままに放っておくことで仕事を絶対に減らさなかった。減れば足されるからだ。

年功序列の潰れかけの企業では、若いネズミはコソコソ息を潜めて生き延びるのが賢いんのだ。

どうせ給料は変わらないんだから。

図書カード一枚っきれしかもらえないんだから。


f:id:ELT_ogipei:20181127222402j:image

 

 

僕はExcelマクロを作っても、もう誰にも言わないことにした。

僕一人だけでマクロを使って、ボタンを押して、作業してるフリをしながら画面の端っこでwikipediaを読もう。

空いた時間にはこっそり食堂に行こう。

窓の外を見ながら、ゆっくりジュースを飲むんだ。 

そして早く帰って映画を観よう。

 

マクロを作った者にはその権利があるのだ。


僕は疲れた。ずっと疲れているし、去年より今年の方が疲れている。きっと来年はもっと疲れるだろう。実写版のプーさんを見て泣いてしまったのはプーさんの原作が好きだったからだけだろうか?

 

これからExcelマクロを作るあなたに

うーん、なんか先輩達言うほど悪くない気もしてきたな。

そもそもこれは、Excelマクロに限らない話ではあると思う。

商品を売っても、その製法は絶対秘密にするように、僕らはツールを作ってもそれを周りに言わない方が得だ。

 

昔、恋愛工学だとかのブログに面白いことが書いてあった。

「俺は筋トレしていることを女には言わない。『別に鍛えてないんだけど、サッカーしてたら勝手につく』と言ってる。女は『努力』よりも『才能』という言葉に弱いから。優秀な遺伝子を本能的に求めているから。」

女の人がどう思っているのか僕は知らない。恋愛工学とかいうやつを恋愛に使って幸せになれるかどうかもわからない。

しかし、「他者にどう思わせるか」を意識しているかどうかは重要だ。僕は全く考えたことがなかった。

 

皮肉なことに上司が教えてくれた。「仕事をする時、相手が何を求めているか考えるのが重要だ」その通りだと思う。

だが求めていることを馬鹿正直にやるのは得策ではない。

 

僕は、会社が求める120%ではなく、100%をこれからも実行していく。

場合によっては80%を。

それが、長生きする秘訣だと思う。

自分の肉が美味しいと叫ぶとんかつ屋の豚の絵みたいになりたくないだろ?

 

Excelマクロを作る時のアドバイス

作ってみようという人向けの個人的なアドバイスです。色々考えたけど1個に絞るなら、

できるだけコピペマクロで対応する

実は、マクロは出来るだけ作らないに越したことはない。と思ってる。

「はぁ?マクロ勧めまくってたやんけ!」と思いますよね。でもマクロは複雑になればなるほど作るのが大変だし、不具合も起きるし、面倒です。

だから、出来るだけ「関数」を使います。具体的には、あるファイルAからあるExcelファイルBへ、コピペするだけのマクロを作り、ファイルBのシートには先に計算すべき関数やグラフなどを書いておきます。すると、貼り付けられたデータから全ての計算結果が出ます。

マクロ的にはそこまで難しくないです。やりたいことが変わったときは、ファイルBのシートを書き換えるだけで、マクロはいじらなくて済みます。

頑張ってみてください。そして、できても誰にも言わないでおきましょう。

そもそも、他人に使わせることを想定するだけでツールというのは途端に難易度が上がるぽい。だから自分の中だけである程度使ってみないとバグとかも見つかんない、というのはある。

 

今後のライブ

ないです。頑張って生きていこう。