文字へリンクを付ける操作と、表示名からURLを取り出す操作を分けて説明します。
元のURLを列に残しておくと、後からリンク先を確認しやすくなります。
練習データ・スライド・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になります。
URLを式へ直接書く場合は次の形です。
=HYPERLINK("https://cg-method.com/google/","Google")
Ctrl+Kで表示文字へリンクを付ける
D2へGoogle、D3へUnityを入力します。
対象セルを選び、Ctrl+K(MacはCommand+K)でURLを入れて適用します。
適用後は実際のリンク先を確認し、意図しないセルに付いた場合はリンクの削除で戻します。
この方法はセルの文字にリンク属性を付けます。
今回のGoogle Sheetsでは、E2へD2のセル参照を入れると表示名Googleとリンク属性が引き継がれました。
ただし、セルの文字列としてURLだけを返す式にはなりません。
URLが必要な処理にはA列のURLを渡します。
装飾リンクからURLを取り出すGAS
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")
実行結果はF2がGoogleのURL、F3がUnityのURL、F4が空欄でした。
1セルに異なるリンクが複数ある場合、getLinkUrlはnullになるため、この簡易版では空欄になります。
HYPERLINKや各種の自動リンクまで同じ取得結果になると扱わず、まず装飾リンクの例で確認します。
更新されない・展開できないときと戻し方
範囲を文字列で渡す関数は、リンク先の変更だけでは再計算されない場合があります。
更新時はF2の数式を削除して入れ直します。
出力先に値があれば空け、シート名が違う場合は引数を修正します。
数式の引数をD2:D4だけへ置き換えると、セルの値を受け取り、リンク属性の範囲指定にはなりません。
元に戻すときは出力先F2の式を外し、URLやリンクを付けたD列は必要に応じて残します。
並べ替えではA~F列を同じ範囲に含めます。
公式の仕様と検証範囲
RichTextValue.getLinkUrlで現在の仕様を確認できます。
HYPERLINKの表示値とリンク先、装飾リンク、セル参照は実際のGoogle Sheetsで確認しました。
掲載したGASを練習シートのApps Scriptに保存し、装飾リンク2件のURL取得、リンクなし・複数リンクの空欄、シート名なしと1001セルのエラー、式の削除と再入力による復元を確認しました。
リンク変更だけによる自動再計算は未確認です。
元URLがある場合はその列を使い、GASは練習コピーで出力を照合してから利用してください。
練習データとコードの使い方
練習ZIPには3つのTSV、3枚のPPTX、Googleから書き出したPDF、数式TXTとGASがあります。
担当者の非公開GoogleファイルIDは入っていません。
TXTにある数式はシート、GASはApps Scriptへ貼ります。
旧GitHub資料と今回の改訂コードは同じ版とは限りません。





