プログラミングの「おもしろさ」とはこういうことなのだろうか?と思ったこと

現在は今の職場で経理の派遣社員として働き始めてからある程度慣れてきました。通常は経理として働いていると、月の中旬頃、月末より少し前というのは、あまり仕事がありません。

 

そういった時は、今までの職場であればファイリングとか何か雑用的な仕事をしていました。ですが今の職場だと「こういった新しい表はできないか」と言われて表をつくったりしています。

 

その新しい表や今の職場の仕事をしている中で、プログラミングの「おもしろさ」とはもしかしてこういうことなのかなと感じた時がありました。

 

ちなみに実際にプログラミングをしたわけではなく、実際にプログラミングというものをしたらこういった感じでコンピュータ上での処理が行われるのかな?といった予想みたいなものが今回の記事です。

 

そのことについて思ったことを今回は書いていってみます。

スポンサーリンク

非常に入り組んだ財務諸表元データ群

今の職場で財務諸表、いや、財務諸表の元データと言えばいいかもしれません。その元データのエクセルの表というのが非常に複雑というか入り組んでいるというか、「よくこういうのつくったなぁ」と感心するほどのものでした。

 

会計ソフトというものに「勘定奉行」というものがあります。そこから特定のデータがエクセル形式でダウンロードできるのですが、そのダウンロードしたデータを財務諸表の元データの特定のシートに貼り付けるといった作業がありました。

 

こういった作業は自分がこれまで経験してきたいくつかの職場でもありました。ここまで書いた言葉だけ見ると「ただコピペしているだけ」のように見えるかもしれません。

 

そうではなくて、元データにコピペしたデータから連動して、途中で様々な数式や関数をはさんでさらにいくつかの別の表に数値が反映されるという形になっているわけです。

イメージとしては以下のような感じです。
f:id:psoukonoseiri:20170129114957p:plain

ここからが問題なのですが、いろいろと「調整」をしていく必要があるのです。コピペしたデータが、必ずしも全ての表に「正しく」反映されているわけではないので、数値が合っていない所を修正していく必要があります。

 

これが大変なのですが、なぜ数値が合わないのかをエクセルのセルに書かれている数式や関数を辿って大元の数値をつきとめなければいけません。

 

この表の数式や関数というのが非常に入り組んでいて、同じファイル内であればまだいいのですが、異なる別のファイルにもさらに複数のシートにもまたがっていて辿って辿って辿って・・・という作業をしなければいけないのです。

 

その時は大変だなぁ・・・と思ったのですが、「なるほど、エクセルでもこういったことができるんだな」と感心させられもしました。

 

こういった作業は、今回の職場が初めてだったのですが、自分が気づかない所で別の職場でもこういった表はつくられていたのかもしれないなぁとも思いました。

 

「ここの1か所を変えるだけで全ての数値が変わる表をつくってもらえませんか?」(ニッコリ)

(上司)「ここを変えるだけで、この表がこういう風に全て変わる表をつくってくれませんか?」(ニッコリ)

(自分)「えぇ!?わ、わかりました・・・。とりあえずやってみます。」(呆然)

 

月の中旬以降になると、経理の職場というのは段々と暇になってきます。そこで言い渡されたのが上記のようなやり取りです。

 

非常に簡略化して書いてあるので、なんだか簡単な会話をしているように見えますが、実際は結構無茶なことを言われています。

 

最初は「え!?エクセルでそんなことってできるのかな?」と半信半疑でしたが、試行錯誤を続けているうちになんとか形にできました。

 

自分で実際に試してみるとちゃんと動いてくれたので、逆に自分で驚いてしまったのと、「確かにこういった表があると便利だな」とも思いました。

プログラミングの「おもしろさ」というものについて

財務諸表の元データの事例と今回のもうひとつ事例で思ったのが、「プログラミング」ってこういうことなのかな?と感じたことです。別にプログラミングと言えるほど大したことをしているわけではありません。

 

ただ大枠というか、実際のプログラミングというものをもっとわかりやすく簡単にすると自分が経験したような感じになるのではないかと思いました。

 

例えば1から10までの作業があったとします。今まであれば1から10まで順番で手作業をしなければいけなかったことを何らかのシステムを組むことで1に入れたものが自動的に10までできるようになったとします。

 

イメージにすると以下のような感じです。

1>2>3>4>5>6>7>8>9>10

1・・・>・・・10

1から10までの作業がなくなり、1の入口の部分だけで10の結果を出すことができる。これってすごいことだなと思いましたし、プログラミングの面白さってもしかしたら「こういうことなのかな」とも思いました。

 

もうひとつ別の例をあげると、会計ソフトを考えてみます。今まであれば会計ソフトの内部構造とか全く考えず、仕訳さえちゃんと入れればなんとかなるぐらいに考えていました。

 

というのも会計ソフトというのは最初の入口である日々の取引の仕訳を入力することで総勘定元帳とか補助科目内訳表、部門別内訳表など他にも様々な箇所に自動的に入力が反映されて、財務諸表まで簡単にできる仕様になっています。

 

初めて会計ソフトを使った時は、単純に「すごい」という感覚しかありませんでしたが、今の職場での作業のように、様々に連動したエクセルの表の数式や関数を辿ってみたり、

 

実際に自分で表をつくってみたりすることで「日々の生活で使っているシステムっていうのはこういった感じで、もっと大規模で、もっと複雑な構造をしているんだろうなぁ」(驚愕)と実感しました。

 

今回の職場の件でプログラミングとかシステムというものの片鱗とか入口みたいなものを見た感じがしましたし、プログラマーやシステムエンジニアをしている人って本当に「天才だな」とも思いました。

コメント