見出し画像

壊れない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カフェnote よろしければ応援お願い致します! いただいたチップはクリエイターとしての活動費に使わせていただきます!

この記事が参加している募集