虹色の混沌Sheet4:メッセージ
クイズのエクセルファイルには、七色に塗られたセルにそれぞれ五桁の数字が記されているだけだった。
「数字はどれも最初が1,2で同じで、真ん中は4か5なのね。何か関連性がありそう」と育美が観察結果を述べた。
「セルの行に何か手がかりがあるかもしれない」薔薇筆の提案を受け、エルがファイルをスクロールしたが、行は1000までしか存在しなかった。
「ちょっといいか?」と川口が口を開いた。「答えとは関係ねぇんだが、これとかダイイングメッセージとか、なんで分かりにくくすんだよ」
アキラが説明を加えた。「ダイイングメッセージは、犯人が最初に発見して自分の名前が書かれていたら消されてしまうからじゃないかな」
「たまにTVドラマでもあるだろ。床に自分の血で暗号みたいなの書くやつ。今どき知人にスマホで連絡すりゃ済む話じゃねぇか」と川口は反論した。
「まぁ、それはミステリーあるあるというか、トリックありきでお話を作るものですから」薔薇筆は言いながら、何かを思いついたようだった。「これ、もしかしたら文字コードかもしれない。ちょっとPC貸して」
エクセルのB1セルに関数を入力する。
=CHAR(A1)
表示されたのは、
#VALUE!
というエラーだった。
「あれ?違うのか」と薔薇筆は落胆した。
「ペンちゃん、俺スマホでやってるけど出てくるぜ。12490はカタカナの『ナ』だ」とアキラが報告した。
「どうして…」困惑する薔薇筆に、エルが説明を加えた。「たぶんアキラがスマホで使っているのは、エクセルじゃなくてGoogleスプレッドシートでしょ?」
「同じ関数なのにエクセルとGoogleスプレッドシートで返り値が違うって?そんなのおかしくないですか?」
しばらくして育美が自身のスマホを見ながら発言した。「マイクロソフトのAI、コパイロットに聞いてみました。『エクセルとGoogleスプレッドシートでCHAR関数の返り値が異なる理由は、両者が異なる文字エンコーディングを使用しているためです。エクセルはWindowsのデフォルトエンコーディングであるANSIを使用します。一方、GoogleスプレッドシートはUnicode(UTF-8)を使用します。この違いにより、同じ文字に対して異なる数値が返されることがあります』だそうです」
「なるほど。じゃあこっちの関数を使えばいいのか」エルは薔薇筆に向いていた魔道具を自分の方へ戻すと関数を打ち替えた。
=UNICHAR(A1)
今度はカタカナの「ナ」が表示された。アキラのスプレッドシートと同じ結果だ。
「これで七つのセル全部に適用すると…」とエルは続けた。
「『ナカムラケンタ』人の名前だ!」薔薇筆の声が店に響いた。