メインコンテンツへスキップ
見出し画像

壊れないExcel事件簿 第1話:消えた参照先の謎 ― 構造化参照が救う!【可変データでも壊れない“構造化参照”の実践ガイド】

    English Breakfast ― 消えた参照先の謎 ―

    紅茶:English Breakfast(Time for Tea)

    紅茶の香りとともに始まる、Excel探偵ハンチャンの事件簿。
    今回の事件は「消えた参照先」。
    「セルA1」と思い込んでいたリンクが、いつのまにか空白に――。
    果たしてその原因は?そして犯人は“相対参照”なのか?
    解決のカギを握るのは、構造化参照という新しい探偵術だった──。



    【1】プロローグ:消えた参照先の謎

    夜の残り香がまだ漂う、秋葉原のデータ室。
    モニターの光が、無人のオフィスを淡く照らしている。
    一晩中動き続けたマクロのウィンドウに、
    ただひとつ、異変を知らせるメッセージが残っていた。

    「#REF!」

    冷たい警告の文字が、画面の端で瞬いている。
    それは、エラーというよりも――
    “何かが少しずつズレ始めている”という予兆のようだった。


    姿を消した参照先。
    見た目は正常なのに、どこかが違う。
    まるでデータの底で、静かに歯車がずれていくように。


    その頃、通りの向こうでは──
    路地裏の老舗喫茶「アカシヤ」に朝の光が差し込み始めていた。
    扉を開けると、焙煎豆と紅茶の香りがふわりと混ざり合う。
    探偵ハンチャンがカウンターに腰を下ろし、
    横で猫の助手チャーが尻尾をくるりと巻く。


    「にゃっふ〜、ハンチャン。また夜遅くまで仕事してたにゃ?」
    「Excelが静かに泣いてたんだ。
     “#REF!”……誰かが、参照の糸をたぐり損ねたらしい。」


    チャーの目がまんまるになる。
    「参照先失踪事件、再びにゃ?」
    「そう。INDIRECTの仕業かもしれない。」


    外の通りでは、朝の電車の音が響く。
    新しい一日のはじまり——
    だが、Excelの中では、まだ“事件”が終わっていなかった。


    【2】事件発生 ― 消えた参照先の謎 ―

    「依頼主は、昨日納品した集計シートを開いた瞬間にこう言ったらしい。」
    ハンチャンはメールをスクロールしながら呟いた。

    『計算結果が全部“#REF!”なんです。バックアップもありません!』

    チャーがテーブルに前足を乗せ、身を乗り出す。
    「“#REF!”って、見ただけでゾッとするにゃ。
     何が消えたのか、どこが壊れたのか、さっぱりわからないにゃ。」


    「そう。まるで“迷子のセル”だ。」
    ハンチャンはノートPCを開き、
    クライアントのファイルを慎重に読み込む。


    画面には、売上管理表が広がっていた。
    一見、整ったテーブル。だが、式を覗くと──
    =INDIRECT("B2")
    =INDIRECT("C"&ROW())
    そんな式が並び、どこか不穏な気配を漂わせていた。


    「ほらチャー、ここ。INDIRECT関数だ。」
    「にゃるほど、“住所”を文字で指定してるにゃ。」
    「その通り。便利だが、これが罠になる。」

    マウスが動くたびに、ひとつ、またひとつ、
    セルが“#REF!”に変わっていく。
    列をひとつ削除しただけで、文字列の「B2」はもう存在しない。
    INDIRECTは、参照の変化を追えないのだ。

    「なるほどにゃ……。つまり、INDIRECTは“地図を持たない旅人”みたいなものにゃ。」
    チャーがぽつりとつぶやく。
    「そうだ。だから迷う。そして、帰ってこない。」


    ハンチャンは軽くため息をつき、
    「誰かが行や列を動かしたんだろう。
     でも、その一手で数式全体が崩れた。
     犯人は“機能”じゃない。“設計”の油断だ。」


    チャーが耳をぴくりと動かす。
    「設計の油断……つまり、壊れやすい仕組みを“仕掛けた”誰かがいるってことにゃ?」
    「そう。便利さを信じすぎた誰かが、な。」


    モニターの光が二人の顔を照らす。
    霧が少しずつ晴れていくように、
    壊れたExcelの構造が浮かび上がってきた。


    【3】推理・解析 ― 壊れた参照のトリックを暴け ―

    ハンチャンはモニターを少し傾け、チャーに画面を見せた。
    「見てごらん、チャー。これは典型的な“便利の罠”だ。」

    売上表の数式欄には、こう書かれていた。

    =INDIRECT("C"&ROW())
    

    「この式は、“C列の今の行”を文字列で組み合わせて呼び出してる。
    つまり“C2”や“C3”みたいに、動的に参照できるように見えるんだ。」

    チャーが首をかしげる。
    「見た目は便利にゃ。でも、なんで壊れるのにゃ?」


    ハンチャンはホワイトボードにさらさらと書いた。

    Before:=INDIRECT("C"&ROW())
    After:見た目は正常でも、参照先はズレてしまう!
    

    「INDIRECTは、“文字”で指定してるだけ。
    Excelの内部では、どのセルを参照しているか“リンク”を持っていないんだ。
    つまり──“列C”を削除した瞬間、その『住所』が存在しなくなる。」


    チャーがハッとする。
    「にゃるほど、“地図を持たない旅人”ってそういうことにゃ!」
    「そう。普通の関数、たとえばVLOOKUPは違う。」

    ハンチャンは別のシートを開き、実例を示した。

    =VLOOKUP(A2, 商品マスター!A:C, 3, FALSE)
    

    「VLOOKUPは、範囲そのものを参照している。
    たとえ列を挿入しても、Excelが“構造”を覚えてるから壊れにくい。
    でもINDIRECTは、文字列だから“参照追跡”ができない。」


    チャーがノートにメモを取る。
    「つまり、INDIRECTは“柔軟だけど脆い”。
    逆にVLOOKUPやINDEXは、“制約があるけど堅牢”。
    にゃるほどにゃ、どっちを選ぶかは設計者しだいってことにゃ。」

    ハンチャンはうなずいた。
    「その通り。たとえば、こう書き換えるだけで世界が変わる。」

    =INDEX(C:C, ROW())
    

    「INDEXは、“C列のROW行目”を直接参照する。
    これなら、C列を削除しない限り、リンクは壊れない。
    しかも、INDIRECTより高速で、再計算も軽い。」


    チャーの目が輝く。
    「つまり、INDIRECTで動的に参照したいときは、
    “本当に動的にする必要があるか”をまず考えるにゃ!」


    「そう。動かす自由を得る代わりに、安定を失うこともある。
    それを知らずに設計すると、今回のように“参照先失踪事件”が起きる。」


    ハンチャンはファイルのコピーを取り、
    別の方法で同じ結果を得られる数式をいくつか試してみた。

    =XLOOKUP(A2, 商品マスター!A:A, 商品マスター!C:C)
    

    「最新のExcelなら、XLOOKUPでより安全に書ける。
    列削除にも強いし、エラー処理も柔軟だ。」


    チャーは尻尾をゆらゆらさせながら、
    「INDIRECTの魔法は強力だけど、制御を誤ると呪いになるにゃ……。」
    「まさにそれだ。今回の事件も、“動的にしたい”という善意が
     Excelを壊すトリックに変わったんだ。」

    そして、ハンチャンは静かにまとめた。
    「設計者の意図が、数式の命運を握る。
    壊れないExcelを作るには、“変化を想定した設計”こそがカギなんだ。」

    チャーがうっとりとカップを見つめる。
    「にゃ〜、Foggy Londonみたいに深くて渋い話だにゃ。」
    ハンチャンは笑って言った。
    「焦るな、チャー。紅茶はじっくり蒸らすほど味が出る。
    数式も同じだよ。」


    【4】真相と余韻 ― 壊れない数式とは ―

    「……これで全部、元に戻ったな。」
    ハンチャンは、再構築したシートを保存しながら小さくうなずいた。
    壊れていた参照はすべて復旧。
    数式も再び、美しく連なっていた。

    チャーが画面を覗き込みながら、
    「ふう……。数式もホッとしてるにゃ。」
    「そうだね。」
    ハンチャンは、コーヒーの代わりに紅茶を手に取った。
    淡い香りが静かなオフィスに広がる。


    「便利な機能ほど、正しく使う責任がある。
     INDIRECTも悪くない。ただ、“見えない参照”を使うなら、
     それを支える仕組みを作っておくべきだったんだ。」

    「支える仕組み?」
    「そう。“人と人の信頼”と同じだよ。
     つながりを意識しない関係は、ちょっとした変化で壊れてしまう。
     でも、互いに見合って支え合えば、長く続く。」


    チャーはしばらく考え込み、
    静かにキーボードの上に丸くなった。


    「壊れない数式とは……“信頼でつながる関係”にゃ。」
    「うん。それが、Excelの真の設計思想だ。」
    ハンチャンは微笑んだ。


    外では朝の光が少しずつ差し込み、
    霧のような夜の疲れを溶かしていく。


    「チャー、お茶の時間だ。」
    「Time for Tea…にゃ☕」


    二人は小さくカップを合わせた。
    ミルクティーの表面に浮かぶ泡が、
    まるで“壊れない数式”のように、静かに揺れずにいた。

    その日の午後、クライアントから感謝のメールが届く。

    『不具合、すべて直りました。本当に助かりました。
    もう怖くてINDIRECTは使えません(笑)』

    ハンチャンは苦笑しながら、返信に一文を添えた。

    『Excelも人の心も、見えないつながりを大切に。』

    チャーが横でにゃっと笑う。
    「次の事件も、“見えない何か”が鍵を握るかもしれないにゃ。」
    「そうだな。Foggy Londonの霧が、また新しい謎を運んでくるかもしれない。」

    紅茶の香りとともに、物語は静かに幕を閉じた。
    ──だが、Excelの世界では、まだ数式たちが眠っている。


    🕯️エピローグ:チャーのひとことメモ

    INDIRECTは“文字列で参照”する魔法の関数にゃ。

    でも、列や行を動かすと“住所”がなくなる危険もあるにゃ。

    信頼できる参照を作るには、INDEXやXLOOKUPを使うのもおすすめにゃ☕

    🍃 チャーのひとことメモ:今日の紅茶にゃ(English Breakfast)

    朝の光が差し込むテーブル。
    湯気の向こうに、静かに始まる一日の気配。
    今日の一杯は──「English Breakfast(イングリッシュブレックファースト)」。

    しっかりとした深みの中に、どこか優しさを感じるミルクティーブレンド。
    ひと口ごとに、心が整い、新しい朝が動き出すにゃ。 物語の中でハンチャンとボクが飲んでいたのは、
    英国紅茶専門店「Time for Tea(タイムフォーティー)」さんの紅茶にゃ☕
    👉 English Breakfast|Time for Tea公式サイト
    “壊れない数式”も、“穏やかな朝”も、
    どちらも心を整えることから始まるのにゃ🍃


     
     
    IT(SE)のお仕事を20年ほどしています。 習得したITの知識、学んで得たスキル、AIノウハウも共有していきます。 ショートカットキー、心と働き方のヒントも紹介します。 一緒に定時退社していきましょう! Amazon のアソシエイトとして、適格販売により収入を得ています。

    あなたへのおすすめ