知識の倉庫の整理

ここでは今まで学んできたことや考えたことなどを整理、記録していきます

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

現在は今の職場で経理の派遣社員として働き始めてからある程度慣れてきまし

た。通常は経理として働いていると、月の中旬頃、月末より少し前というのは

、あまり仕事がありません。


そういった時は、今までの職場であればファイリングとか何か雑用的な仕事を

していました。ですが今の職場だと「こういった新しい表はできないか」と言

われて表をつくったりしています。


その新しい表や今の職場の仕事をしている中で、プログラミングの「おもしろ

さ」とはもしかしてこういうことなのかなと感じた時がありました。


ちなみに実際にプログラミングをしたわけではなく、実際にプログラミングと

いうものをしたらこういった感じでコンピュータ上での処理が行われるのかな?

といった予想みたいなものが今回の記事です。


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

SPONSORED LINK


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

今の職場で財務諸表、いや、財務諸表の元データと言えばいいかもしれません。

その元データのエクセルの表というのが非常に複雑というか入り組んでいると

いうか、「よくこういうのつくったなぁ」と感心するほどのものでした。


会計ソフトというものに「勘定奉行」というものがあります。そこから特定の

データがエクセル形式でダウンロードできるのですが、そのダウンロードした

データを財務諸表の元データの特定のシートに貼り付けるといった作業があり

ました。


こういった作業は自分がこれまで経験してきたいくつかの職場でもありました。

ここまで書いた言葉だけ見ると「ただコピペしているだけ」のように見えるか

もしれません。


そうではなくて、元データにコピペしたデータから連動して、途中で様々な数

式や関数をはさんでさらにいくつかの別の表に数値が反映されるという形にな

っているわけです。

イメージとしては以下のような感じです。
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の結果を出すことがで

きる。これってすごいことだなと思いましたし、プログラミングの面白さって

もしかしたら「こういうことなのかな」とも思いました。


もうひとつ別の例をあげると、会計ソフトを考えてみます。今まであれば会計

ソフトの内部構造とか全く考えず、仕訳さえちゃんと入れればなんとかなるぐ

らいに考えていました。


というのも会計ソフトというのは最初の入口である日々の取引の仕訳を入力す

ることで総勘定元帳とか補助科目内訳表、部門別内訳表など他にも様々な箇所

に自動的に入力が反映されて、財務諸表まで簡単にできる仕様になっています。


初めて会計ソフトを使った時は、単純に「すごい」という感覚しかありません

でしたが、今の職場での作業のように、様々に連動したエクセルの表の数式や

関数を辿ってみたり、


実際に自分で表をつくってみたりすることで「日々の生活で使っているシステ

ムっていうのはこういった感じで、もっと大規模で、もっと複雑な構造をして

いるんだろうなぁ」(驚愕)と実感しました。


今回の職場の件でプログラミングとかシステムというものの片鱗とか入口みた

いなものを見た感じがしましたし、プログラマーやシステムエンジニアをして

いる人って本当に「天才だな」とも思いました。