カテゴリー別アーカイブ: 自動化支援

クソ複雑な数式は許しても、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 禁止」というルールは、リスクマネジメントの産物ではない。それは、 「私たちは理解できないものから目を背け、思考することをやめました」と いう、組織としての白旗だ。誰かがそれを、はっきりと言わなければならない 続きを読む

まだExcelで消耗してるの?。管理会計のプロがスプレッドシートへの完全移行を勧める合理的理由

自動化支援

Excelからスプレッドシートへ:今こそ「慣習」をアップデート 私は、管理会計の設計・実装のプロフェッショナルとして、日々多くの企業の データ構造を改善しています。勘定科目・部門・プロジェクトといったマスタの正規 化から、配賦ルールの定義、締め処理の自動化、経営ダッシュボードの構築に至るまで、現場のワークフローとシステムをまたいで最適化するのが私の役目です。たとえ ば、製造業では原価計算のロジックを合理的かつ簡易的に再設計し、販社では受注から売上・粗利まで の粒度を合わせ、同時に現場の入力作業を標準化する——こうした「経営 判断のための土台」を整えるために、私は膨大な集計ロジックを日々作り込み、運用 まで伴走しています。 そんな私が、数多くの現場を渡り歩き、自ら手を動かしてきた結論を申し上げま す。「インターネット環境が無いという特殊な場面を除き、今すぐExcelを捨ててGoogle スプレッドシートに移行すべきである」 なぜ、単なる「慣習」に過ぎないExcelが、現代のビジネススピードを阻害してい るのでしょうか。実務の最前線で私が痛感した、スプレッドシートへの完全移行を勧める合理 的理由と、現場で実際に起こった具体的なエピソードを交えてお伝えします。 1. 数時間を無に帰す「上書き保存忘れ」という悲劇 誰もが一度は、あの凍りつくような瞬間を経験したことがあるはずです。数時間 にわたる集中した編集作業、複雑に組み上げた集計関数……。ようやく完成だと思った その時、PCのフリーズや電源断、あるいは不意に「保存せずに閉じる」を押してしま った瞬間。 数時間分の知恵と労力が一瞬にして消え、手元に残ったのは空っぽのファイルだ け。あの絶望感と、同じ作業をやり直す不毛な時間は、ビジネスにおける最大の損失 です。 スプレッドシートなら、この悲劇とは無縁です。一文字入力するたびに自動でク ラウドに保存される。この「保存という概念からの解放」だけで も、移行する価値は十分にあります。私の場合、Googleスプレッドシートに慣れてしまい、上書き保存を実行する習慣が薄れている為、自動保存の設定を導入することをルールにしているが、それでも「うっかり」は起きます。 実例 ある小売企業の月次締め当日、店舗別売上の調整をしていた担当者のPCが突然フリーズ。Excelの自動回復でも直前2時間の作業が復元できず、締め直前にやり直し に。翌月からスプレッドシートに切り替えました。初めは「保存ボタンが無い!」という声もありましたが、すぐに慣れます。せっかく作った長い数式が不要になり、削除してしまったものの、やっぱり復活させたい!そんな場合でも自動作成された版があります。しかも、複数の版がのこっているので組み合わせることで理想の状態に修復でき、わずかな作業で済みました。 補足 ネットワークが不安定な現場でも、スプレッドシートはオフラインモード (Chrome)を設定しておけば、接続復帰時に変更を自動同期できます。Excelの「フ ァイル破損」や共有権限の競合による上書き事故も、クラウドの単一ソース化で 原理的に起こりにくくなります。 2. 「マクロが動かない」という不毛なやり取り Excelで自動化を行おうとするとVBA(マクロ)を書くことになりますが、これを 他者に共有した途端、別の問題が噴出します。 「送ってもらったマクロ、使えないんですけど」 そう言われても、原因は千差万別です。原因究明に時間がかかります。しかも、しょうもない理由であることが大半です。OSやビット数の違い、エクセルが勝手に、あるいは会社のセキュリティポリシーで強制的に無効化されている……。エクセルのバージョン違いによる不具合もよく起こります。散々ヒアリングしても解決しなかったのですが、外注相手から「うち、Macなんですけど、関係ありますか?」と言われてガックリしたこともあります。「ふざけんな!、影響あるにきまってんじゃねーかよ!!!!!」作り手側としては、原因不明の 「動かない」への対応に忙殺され、本来の業務が手につきません。 一方、Google Apps Script (GAS) はクラウド上で実行されます。手順さえ守ってもらえば実行環境が統一 されているため、「特定の人だけ動かない」という不毛なトラブルは激減し ます。 実例 製造業の原価配賦テンプレートで、32bit Excel前提の参照設定を含むVBAが混在。拠点ごとに32/64bitが入り交じり、マクロが動く人と動かない人が発生。セキュ リティ設定で未署名マクロがブロックされ、IT承認に数週間。GASに移植後は、深夜 2時の自動ジョブで原価データを集計し、完了通知をメールとChatに送信。利用者は ブラウザを開くだけで同じ結果を得られるようになりました。 状況説明 VBAはローカルの参照DLLやアドインに依存しがちですが、GASはGoogleの標準ライブラリ(スプレッドシート/ドライブ/メール等)をそのまま利用可能。スケジュール トリガーやWebhook連携も標準で扱えるため、配布や環境差異で詰まる時間がほぼゼ ロになります。もちろん、Macだろうが関係なしです。 3. 「中途半端なオンライン版」とバージョンの壁 批判を受けたMicrosoftも最近は「Excel Online」を提供していますが、その使い勝手は極めて悪いのが現状です。マクロは動かず、一部の機能は制限されているので、結局単純入力作業以外には使えず、なにかやろうと思えば「デスクトップアプリで 開き直す」という二度手間が発生します。 Googleスプレッドシートを実装したところ、ブラウザさえあれば全員が同一結果を再 現できるようになりました。 状況説明 Excel Onlineは「閲覧はできるが機能が足りない」ことが多く、モデルの保守性 を損ねます。スプレッドシートは機能追加がサーバ側で一斉適用されるため、利用者 側の更新作業や説明コストが小さく、トレーニングも短時間で済みます。 4. 「最新はどれ?」というファイル増殖とデータ汚染を防ぐ メールに添付されたExcelを各自が編集し始めると、「修正版_●●●●●●.xlsx」「最 新_●●●●●●2.xlsx」「●●●●●●final.xlsx」といったファイルが爆発的に増殖します。久しぶりに編集したら違うファイルだった、は普通に起こる光景ですし、AさんとBさん、それぞれが最新版だと思っているファイルが違うこともあります。どれが最新か分からなくなり、最悪の場合、最新版が複数存在することになります。 こうした「ファイル迷子」は、ミスを誘発する温床です。 この点、スプレッドシートなら、送るべきは「URL」一つ。全員が常に「唯一の正解」にア クセスし、リアルタイムで共同編集を行う。情報の同期コストはゼロになります。 データの堅牢性を守る機能 万が一誰かが数式を壊しても、「変更履歴」から誰がいつ何をしたか一 目瞭然です。セルの保護機能と組み合わせれば、管理会計のマスターデー タを死守することも容易です。たとえば、「入力欄は編集可」「計算欄は編集不可」 を範囲ごとに設定し、編集権限を部門別に分けられます。加えて、データ検証で入力 値の型や選択肢を制御、誤入力を未然に防止。通知ルールを設定すれば、特定シート の更新時に担当者へメールが自動送信されます。 状況説明 監査や内部統制の観点でも有利です。変更履歴の復元、管理者コンソールの監査 ログ(Google Workspace)により、「誰がいつアクセスし、何を変更したか」を遡及 可能。ドライブ側ではダウンロード/コピー/印刷の制限や有効期限付き共有も設定でき、情報漏えいリスクを抑えられます。 5. それでも「Excel」でないと困る理由 もちろん、Excelが必要な場面もごくわずかですが存在します。当てはまるのは以 下のようなケースです。 数十万行を超える、クラウドの限界を超えた巨大データの処理 ローカルドライブ内のファイルを直接操作する特殊なマクロ 0.1秒を争う、キーボードのみでの超高速入力 しかし、私が見てきた一般的なビジネス実務において、これらの条件に当てはまることは稀です。ネットに接続できない環境を除けば、「エクセルでないと困る」状況はほぼありません。 実例 工場の現場端末が社内閉域でインターネット接続不可、かつ検査装置のCSVを即時 にローカル加工してPDFに出力・印刷する運用。このケースではExcel+VBAが最適で した。一方で同社の管理会計や本社集計はスプレッドシートへ移行し、現場限定の要 件のみExcelを残す棲み分けで、全体効率を最大化しました。 補足 私は経験がないのですが、超巨大データはBigQuery等に置き、スプレッドシートは可視化・意思決定のフロン トとして使う「Connected Sheets」(Workspaceの上位プラン)という選択肢もあり ます。これにより「Excelでしか捌けない」領域を減らし、ユーザー体験はクラウド で統一できます。 6. コラボレーションが「実務」を変える具体的メリット スプレッドシートの真価は、単なる置き換えに留まりません。複数人が同時に編 集し、コメントで議論し、サジェストで差分を明確化できるため、「集めて、確認して、直して、再配布する」往復の待ち時間が消えます。 同時入力:営業各自が自部門タブに数値を入れると、要約タブが即時更新。経営企画は進捗を見ながら不足分だけを催促可能。 コメント/メンション:@メンションで担当者に質問、証跡が残るため口頭確認 の取りこぼしが減る。 フィルタ表示:自分用のフィルタを作っても他人の表示に影響しない。レビュー と入力が並走できる。 埋め込み/リンク:スライドやドキュメントにライブで埋め込み、会議中も最新値を反映。 実例 SaaS企業の四半期予算編成で、従来は部門ごとにExcelを配布・回収し、経企が統合。修正と確認の3往復で2週間かかっていました。スプレッドシートに統合後は、同時編集+コメント審査で往復ゼロ、3日で確定。承認済みの版に名前を付けて固定し、誤修正も防止できました。 7. 現実的な移行ステップ(つまずきやすい点と回避策) 要件棚卸し:どの関数・マクロ・外部参照が肝かを洗い出す。配布先の Excelバージョン差異が多いほど、移行メリットは大きい。 テンプレ設計:入力欄/計算欄/出力欄を分離し、範囲保護とデータ検証を設計 段階で組み込む。ARRAYFORMULAやQUERYで列全体処理に寄せ、メンテナンス性を高める。 自動化移植:VBAの処理をGASへ。定時実行、メール・Chat通知、外部API連携 をトリガー化。ファイル配布ではなく「処理が走る場所」に人を集める。 連携設計:他システムのCSVファイルはDriveに置けばGASで取り込みを自動化。大規 模集計はBI/データベース側で前処理し、シートには必要最小限を表示。 権限/統制:共有ドライブで単一ソース化。編集者/閲覧者/コメント可を使い 分け、重要範囲は保護。ダウンロード/コピー制限や有効期限付き共有も検討。 教育/運用:Googleスプレッドシート独自の機能をまとめて配布(多くは無い)。通知ルール、コメ ント運用、版に名前の付け方をチームの標準に。 実例 中堅商社で月次レポートを移行。CSVの置き場所を共有ドライブに統一し、GASで 自動取込→整形→配信。集計担当の手作業は1日→1時間に短縮、人的ミスはほぼゼロ に。 結論:今こそ「慣習」をアップデートしよう 「昔から使っているから」「みんなが使っているから」という理由だけでExcelに 執着するのは、もはやリスクでしかありません。実際の現場では、保存忘れ・マクロ 非互換・バージョン差異・ファイル迷子といった「目に見えないコスト」が、締めや 意思決定の遅延として確実に現れます。無料(個人利用)で始められ、自動保存、安定した実行環境、リアルタイム共 有、強力な権限管理。管理会計のプロとして多くの現場を改善してきた私から見れ ば、スプレッドシートへの移行は単なるツール選びではなく、「仕事の解像 度を上げ、不毛な時間をゼロにするための決断」です。まずは、その「添付ファイル」を送るのをやめ、URLを共有することから始めてみ ませんか?次の一歩として、重要テンプレートを1つだけスプレッドシートに移植 し、範囲保護・コメント・変更履歴をフル活用する運用を小さく試す。きっと、戻れなくなります。 続きを読む