Googleスプレッドシートを Gemini Notebook(旧 NotebookLM。2026年7月に名称変更)に読み込ませて調査・分析させると、便利な反面、回答の根拠(=スプレッドシートの元セル)を確認するのに毎回かなり手間がかかるという悩みがあります。
この記事では、GAS(Google Apps Script)を使って各行に「直リンク列」を仕込むことで、Gemini Notebookの回答から根拠の行へ最短でジャンプできるようにし、ファクトチェックを高速化する小ワザを紹介します。
記事後半では、少しだけオマケ要素として、この考え方をAIエージェントによる調査全般へ広げて記事を締めくくります。
Gemini Notebookで「根拠のセル」にたどり着くまでが、こんなにじれったい
Gemini Notebookは、回答の根拠となった出典へのリンクをデフォルトで表示してくれます。ありがたい機能なのですが、ソースがGoogleスプレッドシートだと、その出典から元のセルにたどり着くまでの道のりが非常に長いのです。実際の操作を順に追ってみましょう。
操作① 回答中の出典(引用チップ)をクリックする

▲ 回答内の出典(引用チップ)をクリックすると、スプレッドシートのプレビュー画面が開く
ところが、このプレビューがなかなか曲者です。
- セル幅が元のシートより狭く圧縮されて表示される
- 根拠となったセルと微妙にズレた位置が表示されることが多い
- 背景色や罫線などの装飾も反映されない
このありさまなので、プレビューを眺めても「結局どのセルが根拠なのか」を正確に読み取れません。仕方なく、元のスプレッドシートを開き直すことになります。
操作② プレビュー画面から、さらに元ファイルへ進むリンクをクリックする
操作③ もう一段クリックして、ようやく元のスプレッドシートが開く
しかも、たどり着けるのは「そのシート」まで。開いた先で、どの行・どのセルが根拠なのかは自分の目で探す必要があります。
まとめると、根拠をひとつ確認するだけで、毎回こんな工程を踏まされるわけです。
- 出典をクリックしてプレビューを開く
- プレビューが読みにくく、中身を把握できない(セル幅の圧縮・表示位置のズレ・装飾なし)
- 元ファイルを開き直す(ここまでにクリック数回+そのたびに読み込み待ち)
- 開いても、どのセルが根拠かを目視で探す
裏取りのたびにこれを繰り返すのは、正直かなりの手間です。
なぜこうなるのか — Gemini Notebookの仕様に根ざした2つの課題
この面倒くささは操作の問題だけではなく、Gemini Notebookがスプレッドシートを扱う仕組みそのものに根ざしています。
- プレビューは「表示用に作り直された画面」:元のセル幅や装飾をそのまま再現してくれるわけではないので、横に長い表ほど潰れて読みづらくなります。
- AIは表を「行単位のテキスト」として読む:空白セルや結合セルがあると行の対応関係がズレ、AIが別の行の情報を根拠として提示してしまうことがあります。つまり「AIが示した根拠が本当に正しいのか」を、人間が元セルで確認できる導線が不可欠です。
要するに、AIの回答を鵜呑みにしないためには元セルの確認が欠かせないのに、その確認までの動線がどうにも面倒なんですよね。ここをなんとかしたい、というのが今回の話です。
解決策:スプレッドシートに「直リンク列」を仕込む
そこで、Gemini Notebookの回答から「スプレッドシートの該当行(編集画面)」へ直接ジャンプできる仕組みを作ります。
やることは、各行に「その行そのものへのディープリンク(※)」を自動生成する列を1つ足し、その値を出典としてGemini Notebookに出力させるだけです。
(※)ディープリンクとは、Webページやアプリの特定の場所に直接アクセスできるURLのことです。Googleスプレッドシートの場合は、
#gid=シートID&range=行番号:行番号のような形式で、特定のセルや行に直接ジャンプできます。
実際に動作を確認できるサンプルも用意しました。
サンプルとなる Gemini Notebook
そのソースとなった Googleスプレッドシート
リンクを開いて閲覧できる場合は、Gemini Notebookの回答内のリンクをクリックすると、スプレッドシートの該当行へジャンプする動作を確認できます(閲覧できない場合は、以下の手順をご自身の環境で試してみてください)。
ステップ1: GASで自分自身のURLを取得する関数を作る
手動でURLをセルに貼ると、ファイルをコピーした際にリンクが壊れます。そのため、Google Apps Script (GAS) で「自身のURL」を取得するカスタム関数を作ります。
スプレッドシートの「拡張機能」>「Apps Script」を開き、以下のコードを貼り付けて保存します。
/**
* 現在のスプレッドシートおよびアクティブなシートのURL(gid付き)を取得する
* @return {string} シートのURL
* @customfunction
*/
function GET_MY_URL() {
try {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = SpreadsheetApp.getActiveSheet();
if (!ss || !sheet) return "URLを取得できません";
return ss.getUrl() + "#gid=" + sheet.getSheetId();
} catch (error) {
return "エラーが発生しました: " + error.message;
}
}
ステップ2: 各行に「直リンク」列を追加する
スプレッドシートの右端などに「直リンク」という列を追加し、以下の数式を2行目に入力して、下までオートフィルでコピーします。
=GET_MY_URL()&"&range="&ROW()&":"&ROW()
ROW() 関数を使うことで、各行が自分自身の行番号を動的に取得し、&range=5:5 のようなディープリンク用のURLパラメータを自動生成します。
ステップ3: Gemini Notebookに直リンクを出力させる
Gemini Notebookに、以下の内容を記載したGoogle Docをソースとして追加するか、またはGemini Notebookに質問する時のプロンプト末尾に追加して下さい。
(自分でも使ってみた体感からの感想ですが、面倒でもプロンプト末尾に追加する方が動作は安定する気がします)
## 出典の併記
回答の各主張について、回答の根拠となったスプレッドシートの行について、「直リンク」列に記載されている値をハイパーリンクとして出力してください。
こうして根拠の行へ一直線にたどり着ける(After)
導入がうまくいくと、回答の各主張の末尾に、その根拠の行を直接指すハイパーリンク(#gid=...&range=行番号:行番号 の形)が添えられます。

▲ 出典が「該当行を直接指すハイパーリンク」として出力される
操作① そのハイパーリンクをクリックする
すると、Googleの「リダイレクトの警告」ページが1枚だけはさまります(Gemini Notebookから外部URLへ遷移する扱いになるため)。

▲ 「リダイレクトの警告」。ここのリンクをもう一度クリックする
操作② 警告ページのリンクをクリックすると、目的のシートが開く

▲ リンクで指定した行(この例では21行目)が、最初から選択された状態で開く
Before と比べると、ラクさがまるで違います。読みにくいプレビューも、ファイルの開き直しも、開いてからのセル探しも要りません。リダイレクト警告のワンクッションこそ挟みますが、開いた瞬間に根拠の行が選択されているので、裏取りがぐっと楽になります。
たまに失敗することがある・・・

▲ 動作は完全に安定しているとはいい難く、たまにこんなふうにハイパーリンクになってくれないこともあります。そういう場合は仕方がないのでコピペして飛んでいます・・・
NGだったプロンプト
ほぼ筆者用の備忘録ですが、NGだったプロンプトも参考までに載せておきます。
さっきの「ハイパーリンクにならない現象」を減らせないか、まだ試行錯誤中です・・・
パターン1
# 出典の併記
回答の各主張について、根拠となったスプレッドシート行へのリンクを必ず記載すること。
## 記載する出典の形式
“出典:“ という文字列の後に「情報出典ID」列に記載されているIDを表示文字列として、リンク先を「直リンク」列に記載されているURLに設定したハイパーリンクを出力
【禁止項目】
- URLだけを出力するのは禁止
- 前後に余計な記号を付けないこと
- 「出典:」の後に余計な記号を付けないこと
- URLだけでなく「情報出典ID」も記載するのを忘れないこと
パターン2
# 出典の併記
回答の各主張について、根拠となったスプレッドシート行へのリンクを必ず記載すること。
## 記載する出典の形式
“出典:“ という文字列の後に「情報出典ID」列に記載されているIDを表示文字列として、リンク先を「直リンク」列に記載されているURLに設定したハイパーリンクを出力
## サンプル
- 「情報出典ID」列に記載されているIDを{情報出典ID}とする
- 「直リンク」列に記載されているURLを{直リンクのURL}とする
この時、出力してほしいリンクの形式は以下の通り
<a href="{直リンクのURL}">出典:{情報出典ID}</a>
## 【禁止項目】
- URLだけを出力するのは禁止
- 前後に余計な記号を付けないこと
- 「出典:」の後に余計な記号を付けないこと
- URLだけでなく「情報出典ID」も記載するのを忘れないこと
パターン3
# 出典の併記
回答の各主張について、回答の根拠となったスプレッドシートの行について、「直リンク」列に記載されているURLを必ずそのまま出力してください。
応用:AIエージェント全般に「出典ディープリンク」を明記させる
ここまではGemini Notebook×スプレッドシートに絞った話でしたが、根っこにある考え方——「AIの回答には、一次情報へすぐ飛べるディープリンクを必ず添えさせる」——は、AIエージェントを使った調査・分析の全般に応用できます。
AIに調査を任せるとき、一番厄介なのは「ハルシネーション(もっともらしい嘘)」です。結局は人間が裏取りをする必要がありますが、回答のそばに検証用のディープリンクが常に添えられていれば、その裏取り作業を一気に楽にできます。スプレッドシートの「直リンク列」も、要はこの考え方をスプレッドシート向けに落とし込んだだけのものです。
出典明記の基本ルール(プロンプト例)
AIに調査を行わせる際、システムプロンプト(ClineやCursorなら .clinerules や .cursorrules、Claudeなら CLAUDE.md など)に以下のようなルールを定義しておきます。
## 出典明記の原則
- 事実・調査結果を報告するときは、主要な主張ごとに根拠の出典(到達手段)を併記すること。
- ソースコード=GitHubパーマリンク / Web=該当URL / Googleスプレッドシート=該当セルの直リンク
- 出典は実在を確認したものだけを記載し、URL・パス・行番号を絶対に捏造しないこと。
- 確認できない、または推測の場合は「推測である」旨を明記すること。
こうすることで、AIが回答に出典リンクを添えてくれるようになり、クリックひとつで一次資料を確認できて鵜呑みにせずに済みます。
ソースコードの出典は「コミットSHA固定」にする
細かいですが、非常に重要なコツです。
GitHubなどのソースコードをリンクさせる際は、「コミットSHAで固定された」パーマリンクを出力させるようにAIに指示してください。
ブランチ名のURL(例: .../blob/main/...)だと、後からコミットが増えたりファイルが編集されたりした際に、AIが提示した行番号と実際の行がズレてしまい、後から検証できなくなってしまいます。SHA固定であれば、半永久的に同じ行を指してくれます。
まとめ
やることは、各行に自分自身へのディープリンクを吐く列を1つ足し、その値を出典としてGemini Notebookに出力させる——たったこれだけです。これだけで、回答から根拠の行へ直接飛べて、しかも開いた瞬間にその行が選ばれた状態になります。裏取りの手間はかなり減らせるはずです。
AIに答えを出させるだけでなく、「あとで人間が検証する」ところまで含めて仕込んでおくと、実際に使うときの安心感がずいぶん変わります。よかったら試してみてください。

