スプレッドシートで指定の行・列にジャンプする方法|HYPERLINKで一瞬移動
スプレッドシートを使っていると、下の方にあるセルや特定の列までスクロールするのが面倒なことがあります。
そんなときに便利なのが、クリックひとつで指定の行・列に自動で移動できるリンクです。
この方法を使えば、問い合わせ管理・在庫表・日報・タスク管理など、どんなシートでも操作効率を大幅に上げられます。
基本となるHYPERLINK関数
スプレッドシートでは、セル内でURLだけでなく「シート内の指定セル位置」にもリンクを作ることができます。
使用するのは HYPERLINK 関数です。
=HYPERLINK("#gid=0&range=A10","A10へ移動")
この式を入力すると、「A10へ移動」というテキストがクリック可能になり、クリックするとシート内のA10セルにジャンプします。
パラメータの意味
#gid=0:シートのID(後ほど詳しく解説)range=A10:移動先のセル(列と行を指定)"A10へ移動":リンクに表示する文字
これを応用すれば、特定の行・列・ブロックなど、どんな位置にも一瞬で飛べます。
重要:シートID(gid)の仕組みを正しく理解しよう
ここで多くの人がつまずくのが gid の部分です。
「アクティブシートなら gid=0 でOK」と思われがちですが、実際にはそうではありません。
スプレッドシートでは、各シートに固有のID(gid)が割り当てられています。
この gid が違うと、「範囲が無効です」というエラーになります。
gidの確認方法
- ジャンプしたいシートを開く
- ブラウザのURLを確認(例)
https://docs.google.com/spreadsheets/d/xxxxx/edit#gid=123456789 - URLの末尾の
gid=123456789がそのシートのID
gidの仕組みを表で理解する
| シート名 | URL末尾の gid | 説明 |
|---|---|---|
| Sheet1 | 0 | スプレッドシート作成時に最初に作られたシートのみ「gid=0」になる特例 |
| 例1)問い合わせ一覧シート | 123456789 | 追加したシートは自動で別の数字が割り当てられる |
| 例2)商品管理シート | 987654321 | 同上。各シートごとに異なる固定IDがある |
正しい指定方法
URLの gid 番号を確認したうえで、式の中の数字を書き換えます。
=HYPERLINK("#gid=123456789&range=A10","A10へ移動")
これで確実にそのシートの A10 へジャンプできます。
よくある間違い(例)
=HYPERLINK("#gid=0&range=A10","A10へ移動") ← 最初のシート以外では「範囲が無効です」となる
gidを気にせず使う方法(名前付き範囲)
もし「gid番号を毎回確認するのが面倒」という場合は、名前付き範囲を使いましょう。
- ジャンプしたいセル(例:A10)を選択
- メニューから「データ」→「名前付き範囲」→ 例:「入力欄」と名付ける
- 次のようにHYPERLINK関数を記述
=HYPERLINK("#name=入力欄","入力欄へ移動")
名前付き範囲を使えば、シートをまたいでも gid を意識せずに安定してリンクできます。
応用:行番号を変えればどこでもジャンプ可能
行番号や列名を変えるだけで、自由にリンクを作成できます。
| 移動先 | 関数例 |
|---|---|
| 10行目のB列 | =HYPERLINK("#gid=123456789&range=B10","B10へ移動") |
| 500行目のA列 | =HYPERLINK("#gid=123456789&range=A500","A500へ移動") |
| Z列の100行目 | =HYPERLINK("#gid=123456789&range=Z100","Z100へ移動") |
ジャンプ先のセルを指定しておけば、スプレッドシートのどんな範囲にも瞬時にアクセスできます。
特定のシートに移動する方法
同じファイル内で別のシートへ飛ばしたい場合は、gid をそのシートのものに変更するだけです。
=HYPERLINK("#gid=987654321&range=A1","別シートのA1へ移動")
gid番号は、シートを開いたときのURL末尾で確認できます。
応用例1:データ入力欄へのショートカット
たとえば、問い合わせ管理表の最下行(1000行目)に新規入力欄がある場合:
=HYPERLINK("#gid=123456789&range=A1000","📝 新規入力へ")
このリンクをシートの最上部(1行目など)に設置しておけば、いつでも入力欄へ即移動できます。
上部を固定表示しておくと、どれだけシートが長くなっても常に見える状態になります。
応用例2:過去履歴や重要データ行へのジャンプ
「顧客ごとの過去履歴」や「重要な管理行」などにすぐ飛びたいときにも便利です。
=HYPERLINK("#gid=123456789&range=C50","過去履歴へ")
これでクリックすると、C50行目(たとえば顧客の初回問い合わせ)に自動で移動します。
ボタン風に見せるデザイン例
見た目をボタンっぽくするだけで、チーム全体が使いやすくなります。
🪄 指定セルへジャンプ
- 背景に淡い色をつける(青やグレーなど)
- 文字を太字にする
- 絵文字(🪄・📝など)を添える
上級編:Apps Scriptで動的にジャンプ
もし常に「最下行」や「最新データ行」に飛びたい場合は、Google Apps Scriptを使うと自動化できます。
function jumpToLastRow() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const lastRow = sheet.getLastRow() + 1;
sheet.setActiveRange(sheet.getRange("A" + lastRow));
}
このコードをスクリプトエディタに貼り付け、
スプレッドシート上に「図形」→「スクリプトを割り当て」→ jumpToLastRow と設定すれば、ボタンひとつで常に最下行に移動できます。
まとめ
HYPERLINK関数で指定セルへのジャンプリンクを作成できる- gid番号を正しく指定することが最重要(最初のシート以外は gid=0 では動かない)
- gidはURL末尾で確認できる
- 名前付き範囲を使えばgidを意識せず安定運用できる
- Apps Scriptを使えば動的ジャンプも可能
「範囲が無効です」と表示されたときは、まずURLのgid番号を確認してみましょう。
これさえ理解しておけば、どんなスプレッドシートでも迷わず目的地へ一瞬で移動できます。
小さな工夫が、日々の業務効率を何倍にも変えてくれます。

