タグ別アーカイブ: プログラミング

クソ複雑な数式は許しても、VBAは許せ ないって、、、なぜ?

自動化支援

『VBA は怖い』という思考停止が、静かに日本企業を腐らせていく 日本超大手企業の「VBA 禁止」が招く絶望と思考停止 打ち合わせ室に漂う緊張感の中で、私はその言葉を聞いた。日本を代表する——本当に、日本を「代表する」と胸を張れるような——超大手企業 の管理会計システム再構築プロジェクトに関わることになった。何千億という資金が 動き、何万人もの従業員の生活を支え、日本経済の根幹の一部を担うその企業の経営 企画の担当者が、こう言ったのだ。「VBA は使わないでほしいです。ブラックボックスになりますので」私は、表情を変えないようにするのに、全神経を使った。この言葉を、私は何度聞いてきただろう。地方の零細企業はもちろん、そこそこの規模の中小企業でも聞 いてきた。だからある程度はアンチVBAに対して「またか」と思う免疫もできてい た。しかし、このときばかりは違った。日本のトップに立つ企業が、いまだ にこのレベルなのか。。。絶望という言葉は、軽々しく使いたくない。しかしあの瞬間、私の中で何かがゆ っくりと、音もなく崩れていったのは事実だ。 証券会社で直面した低レベルなアナログ作業をVBAで自動化したら、、、 その時、思い出した話がある。私がかつて、最大手証券会社に勤めていたときのことだ。担当していた業務は、 有価証券届出書および有価証券目論見書の制作。誰も読むことはないが、金融商品取 引法の規定により、作らざるを得ない、誠にくだらない書類である。それは無能な金融 庁の問題なので脇に置くが、法律・規則と数字が複雑に絡み合い、一文字のミスが会 社の信用を根底から揺るがしかねない、極度の緊張を要する仕事だった。その業務の中でも、とりわけ神経をすり減らしたのが「日数のカウント」という 作業だった。「発表日から何日後」「払込日から何日以内」「権利確定日の何営業日前」 カレンダーベースの計算と営業日ベースの計算が入り乱れ、また初日不算入の場合とそうでない場合もあり、少し気を抜けば 1 日ズレる。たとえ一ヶ所でも間違いがあれ ば、再提出になり、証券会社としての信用はガタ落ちだから、極めて重要な意味を持 つことになる。 部内での手順は、こうだった。二人の担当者が、卓上カレンダーを前に一人が指差し、もう一人がカウ ントする。「1,2,3,4,5,6,7,8,9,10。6月6日ですね。」声に出して確認し合いなが ら、3 時間かけてドラフトを仕上げる。信じられるだろうか。21 世紀の、日本トップクラスの金融機関で行われていた光景だ。一応、国内最大手の証券会社。その社内でも相応の事務処理能力に長けた人員が 集められた部署なのに、こんな超アナログが幅を利かせていた。不効率が嫌いな私は、居ても立っても居られなかった。仕組みを作るのは大変ではあるが、VBA を使えば、この作業は「一瞬」で終わ る。日数の定義を正確にコーディングし、祝日/営業日データを組み込めば、どんな複雑な日数計算も、ボタン一つで誤りなく算出できる。ヒューマンエラーはゼロに なり、3 時間が 5 秒になる。私は半日がかりで仕組みを作り、上司に進言した。自分の中では「絶対に正しい改善」だとい う確信があった。そして——返ってきたのが、例のあの言葉だった。「エクセルは間違えることがあるから必ず目視で確認して下さい」「VBA はブラックボックスで危険だから採用しない」腸が煮えくり返る、とはああいう感覚を言うのだろう。Excel が間違えるのではない。作った人間が間違えているのだ。そんな奴と俺を一 緒にするな!。 そして、「人間が間違えること」を前提に設計された 3 時間の手作業こそ、最大のリスクではないのか。なぜそこに気づかないのか?なぜか「自分が理解できないVBA=悪いもの」という、子どもじみた論理が、年収数千万円の自称金融プロフェッショナル の世界で堂々とまかり通っているのだ。その時、「この会社はバカばっかり」と愛想が尽きた。 VBA を禁じた結果生まれる「透明なブラックボックス」の地獄 では、VBA を禁止した組織の現場はどうなっているか。想像してほしい。あなたが受け継いだ Excel ファイルを開く。そこには、セルの 中に延々と続く数式がある。IF 関数の中に IF 関数が入り、その中にさらに IF 関 数が埋め込まれ、そこに VLOOKUP が絡み、、、そんな「呪文」のような一行が、罪 もなく白いセルの中で息をひそめている。複雑に絡み合い、スパゲッティ数式と呼ばれたりするが、こ んな数式、解読する気にもならない。それだけではない。外部の Excel ファイルから情報を引っ張るために、いくつものリンク式が縦横無尽に張り巡らされ、何度も「リンクを更新しますか?」と 更新を待たされる。「リンク先のファイルが見つかりません」そんなエラーも、日常茶飯事。あなたも心当たりがあるだろう。でもこれはVBA を使わないからブラックボックスで はない。「安全な Excel」の末路だ。問いたい。「数式が目に見えるならブラックボックスではない」のだろ うか?VBA ならば、適切にモジュールを分割し、コメントを丁寧に残せば、後から担当者が変わっても、ロジックを一行ずつ追いかけることができる。「この変数は何を意味するのか」「なぜここでこの処理をするのか」を、日本語で書いて残すことができる。だが、セルに埋め込まれたスパゲッティ数式には、コメントを入れる場所すらな い。解読するには、まず全体像を把握しなければならない。数式の中身を把握するに は、深呼吸して項目を一つ一つ、ひも解く必要がある。私の考えでは、解読困難な長 い関数のほうがよっぽど罪深い。VBA を禁じてスパゲッティ数式を見逃す。それは「ブラックボックスの排除」ではなく、「ブラックボックスの隠蔽」だ。 AI 時代において「プログラミングがわからない」は言い訳にならない 確かに、かつては VBA に一定のハードルがあったことは認める。「For 文って 何?」「変数の宣言って?」——プログラミングに触れたことがない人間にとって、そ れは異文化との遭遇に等しかった。自動化に強い興味がある一部の人間の専売特許だ ったかもしれない。しかし、今は令和だ。2026 年だ。AI に「営業日を計算する VBA を書いてほしい」と頼めば、10 秒でコードが出て くる。「このコードを日本語で一行ずつ説明してほしい」と頼めば、懇切丁寧な解説 が付いてくる。「もっとシンプルに書き直してほしい」と頼めば、即座に改善版が返 ってくる。プログラミングの「わからない」を埋めるコストは、かつての 1000 分の 1 以下 になった。にもかかわらず「VBA はブラックボックスだから禁止」と言い続けることは、も はや合理的な判断ではない。それは端的に言って、「新しい技術を学び、業 務を改善しようとするプロとしての意志の欠如」だ。道具を学ぼうとしない自分を正当化するだけの行為だ。繰り返す。「VBA が悪い」のではない。属人化を放置し、コメントも書かず、引き継ぎドキュメントも作らず、 理解できない人間が生まれても放置し続けた「運用の怠慢」が悪いのだ。 世界との差を生む「思考停止」という日本企業の最大のリスク 私が声を大にして言いたいのは、このことだ。日本の上場企業が、会議室で「VBA は怖い」と肩を寄せ合っている間に、世界中 の企業は AI を使って業務を自動化し、人間にしかできない仕事に集中し、生産性を 指数関数的に高めている。自分が理解できないものを排除し、非効率な手作業に「安心感」を覚え、変化を 拒むことで「リスクを回避した気」になる。その「心地よい停滞」の中に居座り続け る組織に、未来があるとは私にはどうしても思えない。「VBA 禁止」というルールは、リスクマネジメントの産物ではない。それは、 「私たちは理解できないものから目を背け、思考することをやめました」と いう、組織としての白旗だ。誰かがそれを、はっきりと言わなければならない 続きを読む