Google Sheets(スプレッドシート)を使っていると、データがどんどん追加され、「結局、一番下の行ってどこだっけ?」とスクロールに疲れることはありませんか?
特に、常に更新されるリストや台帳を使っている場合、一瞬で最新データにアクセスできる機能は必須です。今回は、「シート1のA列に入力されているデータの、一番下のセル」へ、クリック一つで飛べるようになる動的なハイパーリンクの作成方法をご紹介します。

解決策:動的ハイパーリンク
今回実現したい機能は、以下の関数で完結できます。この式を、ジャンプボタンを設置したい任意のセルに入力してください。
【設置する関数】
=HYPERLINK("#gid=" & SHEETID("シート1") & "&range=A" & MAX(ARRAYFORMULA(ROW('シート1'!A:A)*('シート1'!A:A<>""))),"最終行へジャンプ")
数式の計算結果
数式の計算結果: 最終行へジャンプ
【実行結果イメージ】
| 最終行へジャンプ |
このリンクをクリックするだけで、あなたの「シート1」のA列でデータが入力されている一番最後の行(例:A31)に自動的に移動します。
データが増えれば増えるほど、このリンクのジャンプ先も自動的に更新されます。
関数の仕組みを分解解説
この少し複雑に見える関数は、主に以下の3つの要素で構成されています。
① 最終行番号を動的に取得する(最重要部分!)
まず、A列の最後の行番号を割り出すロジックです。
=MAX(ARRAYFORMULA(ROW('シート1'!A:A)*('シート1'!A:A<>"")))
数式の計算結果: 31

シート1!A:A<>"":A列でデータが入っているセルをTRUE(真)、空白をFALSE(偽)として認識します。ROW(シート1!A:A):A列の各行の行番号(1, 2, 3…)を取得します。*(掛け算):TRUEは計算上1、FALSEは0として扱われます。- データがある行(TRUE) × 行番号 ⇒ 行番号
- データがない行(FALSE) × 行番号 ⇒ 0
MAX(...):結果として得られた「行番号のリスト」から、**最大値(=一番大きい行番号)**を取得します。
これにより、データの有無に関わらず、A列の最後のデータが入力されている行番号が取得できます。
② シートの固有IDを取得する
Google Sheetsのハイパーリンク(内部リンク)は、シート名ではなく固有のID(gid)を使って飛び先を指定します。
SHEETID("シート1")
この関数で、「シート1」のgidを自動的に取得しています。
③ HYPERLINK関数でURLを組み立てる
最後に、取得した情報をもとにリンクを完成させます。
=HYPERLINK("#gid=" & ② & "&range=A" & ①,"最終行へジャンプ")
#gid=と&range=は、スプレッドシートの内部リンクに必要な固定の記法です。&range=Aの後に、①で取得した行番号を結合(&)することで、「#gid=XXX&range=A31」のような最終的なリンク先が完成します。- 最後の
"最終行へジャンプ"は、実際にセルに表示されるテキストです。
まとめ
この方法を使えば、日々のデータ入力の効率が格段にアップします。ぜひご活用ください!

