はじめに
Googleスプレッドシートで VLOOKUP を使っていたところ、どうにも結果が返ってこないという問題にぶつかりました。
関数の構文ミスかと思い何度も見直しましたが、まったくの正常。にもかかわらず空白が返ってくる。
あれこれ試した結果、**「A1セルから書き始めているのが原因かも?」**と気づき、A2セルからデータを書き直したところ…なぜか解消しました。
具体的な状況
以下のような形でデータを入力していました:
A1: 1001 B1: トマト
A2: 1002 B2: キュウリ
そして D1 に以下のような VLOOKUP 関数を入力:
=VLOOKUP(1002, A1:B2, 2, FALSE)
しかし、結果は空白/エラー。
念のため同じ関数を D2 に置いたところ、そちらは問題なく「キュウリ」と表示されました。
試したこと
- セルの書式や入力ミスを再確認 → 問題なし
 - A1セルの履歴を確認 → 特に異常なし
 - 別シートでも再現 → 状況次第で似た症状発生
 
対応と気づき
結局、A2からデータを入れるように変更したら症状はピタリと止まりました。
関数も正しく動作し、処理も安定。
じゃあA1セルってなにか特別な扱いされてる…?
仮説(あくまで推測)
- スプレッドシートがA1を見出し的に扱っている?
 - フィルタや補完機能が裏で干渉してる?
 - シート作成直後に何か初期設定が適用されてた?
 
など考えましたが、はっきりした根拠や仕様の記述も見つかっていません。
まとめ
- 
VLOOKUPが効かないと思ったら、A1セルに原因がある可能性も疑ってみてください。 - 完全な再現性や確定的な原因があるわけではありませんが、A2以降を使うことで回避できるケースがあるようです。
 - スプレッドシートの挙動には明文化されていない仕様や条件付きのバグっぽい動作が存在するのかもしれません。
 
おわりに
この記事は、「明確な答えはないけど、同じ現象で悩む人がいたら助けになれば」という備忘録です。
もし似た経験をされた方、詳しい仕様をご存知の方がいれば、ぜひコメントで教えてください。