Amazonで商品を見るセール会場へ

Googleスプレッドシート│文字にURLリンクを貼る方法とリンクからURLを抽出する方法

Googleスプレッドシートで文字にリンクを貼る方法は、HYPERLINK関数とCtrl+Kの2つです。

URL列があれば関数を使い、文字にリンクを付けるだけならショートカットを使います。

URL列がない場合の抽出方法は、後半のGAS(Google Apps Script)で説明します。

GASはGoogleサービスを操作するスクリプトです。

この記事は文字に付いたリンクを扱い、特定セルへの共有リンクは対象外です。

練習データ・スライド・PDF・コードTXTをダウンロードすると、同じ入力で試せます。

実務ファイルは変更前にコピーを作ります。

画面は2026年10月2日のパソコンのブラウザー版です。

目次

URL列からHYPERLINKで作る

新しいシートの名前を「リンク」にし、link-practice.tsvの内容をA1へ貼ります。

A列にURL、B列にGoogleとUnityが分かれて入ったことを確認してください。

C2へ次の式を入れ、C3へコピーします。

=HYPERLINK(A2,B2)

C2にはGoogle、C3にはUnityが表示され、リンク先はそれぞれA列のURLになります。

HYPERLINKの公式ヘルプでは、URLと表示名をセル参照または文字列で指定できます。

URLを式へ直接書く場合は次の形です。

=HYPERLINK("https://cg-method.com/google/","Google")
数式リンクと装飾リンク、通常のセル参照を比べた表
C列はHYPERLINK、D列は装飾リンク、E列はセル参照。2026/10/02時点の表示。
スポンサーリンク

Ctrl+Kで表示文字へリンクを付ける

D2へGoogle、D3へUnityを入力します。

対象セルを選び、Ctrl+K(MacはCommand+K)でURLを入れて適用します。

適用後は実際のリンク先を確認し、意図しないセルに付いた場合はリンクの削除で戻します。

この方法はセルの文字にリンク属性を付けます。

キーの組み合わせはGoogle公式のショートカット一覧でも確認できます。

2026年10月2日の既存の検証記録では、E2へ=D2を入れると表示名とリンク属性が引き継がれました。

ただし、セルの文字列としてURLだけを返す式にはなりません。

URLが必要な処理にはA列のURLを渡します。

装飾リンクからURLを取り出すGAS

URL列が残っていない場合の補助例です。

対象は、Ctrl+Kなどで文字に付けた装飾リンクです。

HYPERLINK関数から元のURLを探す場合や、セル自体への共有リンクを取得する場合とは分けて考えてください。

編集できる練習用スプレッドシートで「拡張機能」→「Apps Script」を開きます。

次の関数を貼って保存し、スプレッドシートへ戻ってください。

エディタの実行ボタンは使わず、シートの数式から呼び出します。

シート名を含めて指定するため、別のタブを開いた状態でも参照先が曖昧になりません。

function getHyperlinks(rangeA1Notation) {
  if (typeof rangeA1Notation !== 'string' || !rangeA1Notation.includes('!')) {
    throw new Error('シート名を含めて指定してください。例: リンク!D2:D4');
  }
  const range = SpreadsheetApp.getActiveSpreadsheet().getRange(rangeA1Notation);
  if (range.getNumRows() * range.getNumColumns() > 1000) {
    throw new Error('1回の対象は1000セル以内にしてください');
  }
  return range.getRichTextValues().map(row =>
    row.map(value => value ? (value.getLinkUrl() || '') : '')
  );
}

リンクシートのF2:F4を空け、F2へ次の式を入れます。

D2・D3は1セルに1つの装飾リンク、D4はリンクなしという文字だけにします。

=getHyperlinks("リンク!D2:D4")
Google SheetsのGASで装飾リンクからGoogleとUnityのURLを取得し、リンクなしのセルは空欄になった実画面
GASの実行結果。F2はGoogleのURL、F3はUnityのURL、F4は空欄。2026/10/02時点の表示。

掲載画像ではF2がGoogleのURL、F3がUnityのURL、F4が空欄です。

自分のシートでは、D2・D3のリンク先とF2・F3の文字列が一致するか確認してください。

1セルに異なるリンクが複数ある場合、getLinkUrl()はnullを返します。

この簡易版では空欄になるため、空欄だけでリンクの有無を判断しないでください。

元セルのリンクを個別に確認し、抽出のために削除しないようにします。

HYPERLINKや各種の自動リンクまで同じ取得結果になると扱わず、まず装飾リンクの例で確認します。

更新されない・展開できないときと戻し方

この関数は範囲を文字列で渡すため、リンク先を変えた後は数式を入れ直してください。

カスタム関数の公式ガイドでは、参照セルを直接引数に渡すことを再計算の条件としています。

更新時はF2の数式を控えて削除し、同じ式を入れ直してリンク先との一致を確認します。

出力先に既存データがある場合は削除せず、空いている別の範囲へ式を置きます。

出力が縦に展開する分の空欄も確保してください。

シート名が違う場合は引数を修正します。

数式の引数をD2:D4だけへ置き換えると、セルの値を受け取り、リンク属性の範囲指定にはなりません。

元に戻すときは出力先F2の式を外し、URLやリンクを付けたD列は必要に応じて残します。

並べ替え前にF2の抽出式を控えて外し、関連する元データのA〜E列をまとめて並べ替えます。

その後、F2へ式を入れ直し、D列のリンク先とF列の抽出結果が対応することを確認します。

展開中の配列の一部だけを並べ替えないでください。

公式の仕様と検証範囲

RichTextValue.getLinkUrlで現在の仕様を確認できます。

既存の検証記録には、HYPERLINKの表示値とリンク先、装飾リンク、セル参照の確認が残っています。

本文の過去の記録には、GASでのURL取得、空欄、エラー、式を入れ直した結果の確認もあります。

一方、配布ZIPのREADMEには「Apps Scriptでの実行・認証は未検証」と記載されています。

今回の見直しでは、この記録の違いを実機で再確認していません。

2026年10月25日に、PCブラウザー版向けの公式資料と配布コードを照合しました。

掲載画像は2026年10月2日のもので、今回の実機試験や撮影によるものではありません。

リンク変更後の再計算や並べ替え後の結果も、今回の実機確認には含めていません。

元のURLがある場合はその列を使い、GASは練習コピーで出力を照合してから利用してください。

スポンサーリンク

練習データとコードの使い方

練習ZIPには3つのTSV、3枚のスライドを含むPPTX、PDF、数式TXTとGASがあります。

この記事で使うのは、link-practice.tsv、code-136.txt、article-136.jsです。

ほかの番号のファイルは別の記事用なので、リンク抽出の練習には使いません。

code-136.txtの数式はシートへ、article-136.jsの関数はApps Scriptへ貼ります。

本文の関数と配布JSは、改行・空白を除いて一致することを確認しました。

旧GitHub資料と今回の改訂コードは同じ版とは限りません。

まず練習データの2件を抽出し、元リンクと一致したことを確かめてから実務データに使ってください。

技術評論社
¥2,200(2026/09/24 18:33時点 | Amazon調べ)
\楽天ポイント4倍セール!/
楽天市場

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

スプレッドシート・GASのおすすめ書籍

作業環境の作り方

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次