世界のエクセル事件簿は地図の読み違えだった??~その対策を考える~

【Excel事故の本質は「場所依存(セル番地依存)」であり、これを解消するには“名前・マスタ・MVC・クラウド”という分離の思想が必要】

前回は世界で起きたエクセル事件を3つ紹介しました

  • JPモルガンの“62億ドル損失”事件:範囲ズレが引き起こした史上最悪のExcel事故
  • TransAlta社の“1行ズレで30億円損失”事件:コピー&ペーストの1行ズレが契約を破壊
  • 英国A-Level試験の“アルゴリズム誤判定”事件:Excel的ブラックボックスが教育制度を揺るがす

ところで、

私は北海道・札幌市に住んでいたことがります

上記画像の参照元:https://imahachi.com/01hokkaido/sapporo/

札幌市内の住所の表記は「北1条、2条・・・」「東1丁目、2丁目・・」という風にエクセルと同じような表記になっています

ですので住み慣れた土地ではなかったですが、色々な場所に行くのも苦にならなかったです

つまり、エクセルの格子状の形態は地図になぞらえて表現することもできるのです

では、

ここで世界のエクセル事件簿の話に戻し、各事件の詳細を振り返ってみましょう

>JPモルガンの“62億ドル損失”事件範囲ズレが引き起こした史上最悪のExcel事故

地図の話に例えると、目的地が移動し、住所番地が変わったのに気づかなかったのと同じです

>TransAlta社の“1行ズレで30億円損失”事件:コピー&ペーストの1行ズレが契約を破壊

こちらも地図の話を例えると、複数トラックを走らせましたが地図の番地を1つづつ読み違えていたので、それぞれのトラックが別の場所に到着してしまったのと一緒です

>英国A-Level試験の“アルゴリズム誤判定”事件:Excel的ブラックボックスが教育制度を揺るがす

こちらは住所に依存して、標識やランドマークを設定せずに運転し続けて迷子になったのです

いずれも、住所依存による地図の読み違いだったのです

住所依存ということは「人間の目視」に依存するということでもあります

それではどうしたらいいのか?

どうしたら、住所依存を脱却してエクセル事故の無い世界にできるのか?

ここから私なりの意見を具体的に述べていきたいです

以下の記事は次のような構成になっています

  • レベル1:住所依存 → セル番地依存(札幌の住所)
  • レベル2:複雑な移動 → マスタデータの必要性(東京の地下鉄)
  • レベル3:単調な移動 → ランドマークの必要性(道東の旅)
  • レベル4:世界一周 → MVC(データ・表示・操作の分離)
  • レベル5:クラウド → データの持ち歩き

どうぞ、最後までお付き合いください!

名前重視のナビ操作への移行

名前機能及びテーブル機能

エクセルファイル内の各セルに「名前」や「テーブル」を設定し、名前を付けて管理できるようにすればセル範囲は関係なくなります

例えば、下の画像のように1シート内にいくつかの値や表が存在するとします

上の画像の各セルや表に名前を付けておきます

実際につけた名前やテーブル名は上の画像のようになっています

このように名前を付けるとどうなるか?

上のGIF動画のようにショートカットキー:Ctrl+Gを押せば、名前(テーブル名)がついているセル範囲や表が一覧で表示され、「名前」で自由に移動することが確認できます

今回は「テーブル名2」の表に移動しました

つまり、セル範囲や表に名前をつければ場所(住所番地)とは無縁になり、ナビに移動ルートが自動表示されれうような状態になります

試しに「テーブル名2」の位置を変えてみます

テーブル名2をテーブル名1の下に移動しています

それでは、下のGIF画像を確認してみてください

位置が変わっているにも関わらず「テーブル名2」に移動します

名前を基にして移動が行われています

それでは、

もう少し実践的な内容をここから説明してみます

JPモルガンの事件と同じくAVERAGE関数を設定してみましょう

ただし、テーブル名+列名にてAVERAGE関数を設定してみます

テーブル名を設定していれば、下の画像のように列全体を列名で設定できるのです

試しにAVERAGE関数の対象のテーブル名2の列に対して値を追加してみます

そうすると、関数の値が自動的に変わっていきます

関数の対象のセル範囲が拡大してもあくまで列名で計算が行われるのです

つまり住所・番地依存からは解放されるのです

東京では地下鉄の路線図を使いこなして迷子になるな

全員共有のマスタデータを使いこなす

「TransAlta社の“1行ズレで30億円損失”事件」はあくまで私の想像になってしまいますが、入札案件数が膨大にある中で「入力担当者」がエクセルファイル内で迷子になった可能性があります

実は私も似たような経験があります

ほかの担当者から受け取ったデータには「A,B,C,D・・・」と書いてあるのに、入力用の表には「a,b’,シー,ディ・・・」とある意味では似ているけど違った表現が書かれているのです

これだと完全に目視依存になり、入力場所を間違えたりして迷子になりやすいのです

それではどうしたらいいか?

全員で共有できるわかりやすいマスタデータ/参照表を作成するのです

地下鉄の路線図は最高のマスタデータです

東京の移動は複雑です。
丸ノ内線・銀座線・半蔵門線・都営浅草線…
路線が入り組み、駅名も似ていて、地上に出ると方向感覚を失います

Excelの世界も同じで、
セル番地(A1、B2…)だけを頼りに移動しようとすると、必ず迷子になります

地下鉄の路線図は

  • 路線は明確
  • 駅名は一意で重複しない
  • 乗り換えは定義済み
  • 勝手に駅が増えたり消えたりしない
  • どの駅も“共通の基準”で扱われる

このマスタデータを使いこなせば、移動が複雑な東京でも確実に移動が行えます

企業が使うエクセルも同様です

例えば、

取引先Aではあんぱんのことを「アンパン」と表現している、取引先Bでは「あんこ入りぱん」と表現していたとします

エクセルで作成された発注書が取引先AやBから来た時、商品名を変換するときに迷子になったような感じがするはずです

ただ事前に取引先A(路線A)では「アンパン」⇒「あんぱん」、取引先B(路線B)では「あんこ入りぱん」⇒「あんぱん」という変換マスタを定義しておきます

そうすれば誰でも「あんぱん」で一意に重複なく表現できます

ここでキーが2つあるの?と疑問に思われた方もいらっしゃると思います

取引先Axアンパン、取引先Bxあんこ入りぱん

これでマスタから正しい値が取得できるの?ということだと思います

こういったケースでは「複合キー」を作成しましょう!

複合キーを作成することでマスタデータをより深く活用できます

路線x駅名と同じ意味合いです

上の画像のように「取引先名」と「商品名」を組み合わせて1つのキーにするのです

そうすれば、VLOOKUP関数などで簡単に表から抽出が行えるようになります

この複合キーをぜひ有効活用しましょう!

北海道を旅行する時にはランドマークを設定しよう

係数は外だしして現在地感を取得する

札幌で生活しているときは、何度か道北や道東に車で旅行しました

道北や道東では関東ではなかなか味わえない感覚があります

  • 景色が同じ
  • 目印が少ない
  • どこまで来たか分からない
  • 気づいたら全然違う場所にいる

いくら走っても現地感がわかないのです

ですので、ランドマークを設定しておくこと重要です

  • 山の形
  • 町の看板
  • コンビニ(希少)

これは英国A-Level試験の事件も同じです

*あくまで以下は各関連記事からの推測です

1か所に係数とデータを埋め込んだため、計算アルゴリズムの現地感が第三者に理解されなかったのです

では、どうしたらよかったか?

係数の外だしにして第三者にも見えるようにすればよかったのです

数式を使用する時にはなるべくシンプルにして、係数は外だししましょう!

世界一周旅行はMVC理論で

シートは戦略的にわけよう!

ここまで来たらぜひ世界を一周して、世界の光景(View)を楽しむ旅を想定してみましょう!!

私はさすがに世界一周はしたことはないですが、何回か1国限定の旅はしました

事前に「地球の歩き方」で行く場所や予算を決めてから出発し、何度も旅行の途中で「地球の歩き方」を参照しました

これが世界一周するとなるとまた話は変わってきますよね

世界を一周する時に役立つのはMVC理論です

MVC理論とは?

  • M-データモデル(この記事ではあえてデータとします)
  • V-画面などの表示
  • C-はMやVと連携した調整・管理

この3つを組み合わせたものです(以下、参照サイト:https://w.atwiki.jp/hitoshop/pages/16.html

エクセルファイルも同様です

データや計算式(表示)、請求書(表)などのViewとは別にユーザーが操作する操作用シート(管理用シート)を明確に分けて設定するとよりよいファイルになります

もし、世界一周するのに地球の歩き方を50冊持ち歩いていたら、景色(View)を楽しめますか?

下手したら100国分になるかもしれないですよね?本屋で言えばどの位の棚になりますか?

いや、自分なら当然スマホで参照するという方も当然いらっしゃると思います

その場合はWifiが必要だとか、事前に参考サイトをブックマークしておくとか工夫が必要ですよね
つまり、

景色を楽しむ時にはデータ(地図)は別途一元管理しておく戦略が必要です

ただ自分がどこにいるか?はもちろんのこと、電車やバスなどの時刻表などは絶えず確認しておかないと、おちおち景色も楽しめません

つまり、地図や景色、管理は切り分けつつも結果的には連動させなくてはいけないのです

これはエクセルも同じです

MVC理論に応じて、シートは上記の画像のように戦略的に分けて設定しておくといいですね

1シートに色んなものを詰め込んだらいいのでは?

と思う方もいらっしゃると思いますが、それだと後でどこに何があるかわからず、それこそ場所に依存する話になるのであまりお勧めしません

もちろんファイル内にはシート一覧も設定しておくととても便利です

更にシートへのリンクも設定しておくと利便性はさらに向上します!

クラウド活用

データはクラウドに置く時代へ

あなたが世界一周をするとき、「地球の歩き方を全巻PDFで持ち歩く」なんてしません。

必要な情報は、

  • スマホ
  • クラウド
  • オンライン地図
    から参照します。

旅の本質は “景色(View)を楽しむこと” であり、
データ(Model)を抱えることではありません。

Excelも同じです

Excelを使用するということは、データを持ち歩くことになります

また、組織で活用する時にはこれまたエクセルファイルの場所を共有する必要性が生じます

これまた場所依存です

エクセルは本来は表計算ソフトです

大量のデータを扱う必要があるときにはクラウド優先で考えるべきです

Sharepointリストなどはデータが行単位で復元できたり、IDが自動的に付与されるなどの安全を確保する仕組みもあります

エクセルファイルのクラウドへの移行もぜひご検討ください

<まとめ>

今日からできるExcel事故防止の3ステップ

  1. セル番地ではなく「名前」で参照する
  2. マスタデータを作り、全員で共有する
  3. MVC理論を意識してシートを戦略的に設定する
  4. クラウドを活用する

以上、今回は長文にお付き合いくださり誠にありがとうございます

とにかくエクセルは便利です

誰でも手軽に扱えます

それだけに落とし穴もかなりあります

特に場所依存になると、範囲設定のミスや不効率が起こりやすくなります

何より他の人からわかりにくくなり、ブラックボックス化しやすくなります

今回の記事がご参考になれば幸いです

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です