Clicky

【Google Sheets】超便利!A列の最終行へ一発ジャンプするハイパーリンクを自動作成する方法

GoogleSpreadsheet(スプレッドシート)
GoogleSpreadsheet(スプレッドシート)
この記事は約3分で読めます。

※記事中に広告情報を含みます。

スキルを手に入れた時、人は強くなれる。
Youtubeでスキルアップを始める 電子書籍でスキルアップを始める

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. シート1!A:A<>"":A列でデータが入っているセルをTRUE(真)、空白をFALSE(偽)として認識します。
  2. ROW(シート1!A:A):A列の各行の行番号(1, 2, 3…)を取得します。
  3. *(掛け算):TRUEは計算上1FALSE0として扱われます。
    • データがある行(TRUE) × 行番号 ⇒ 行番号
    • データがない行(FALSE) × 行番号 ⇒ 0
  4. 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」のような最終的なリンク先が完成します。
  • 最後の "最終行へジャンプ" は、実際にセルに表示されるテキストです。

まとめ

この方法を使えば、日々のデータ入力の効率が格段にアップします。ぜひご活用ください!