見出し画像

Googleスプレッドシート 「一番簡単な」ハイパーリンクの作り方

今回は Googleスプレッドシートの ハイパーリンク機能、HYPERLINK関数についてです。

「え~、ハイパーリンクなんて普通に使えるでしょ。」

って思う人もいるでしょうが、意外と皆さんが知らないハックネタも多いんですよね。

Excelのハイパーリンクとの比較も含め、Googleスプレッドシートのハイパーリンクに沼ってみましょう。

ちなみに今回は、同じスプレッドシート内(ブック内)のセルや他のシートへのハイパーリンクには触れず、あくまでも 外部Webサイトへのハイパーリンクをメインとしております。


前回までは 最強ショートカット Ctrl + Y(F4キー)とカラースケールについて2回シリーズで書いてきました。

余談ですが「おっさんずラブ-リターンズ-」というドラマで、「同じことを繰り返すには?」と聞かれ「Ctrl + C です」と答えるシーンがありますが、これは違和感があります。

ソフトによって違うのかもしれませんが、Ctrl + Cは 通常はコピーじゃね?

ちゃんとにドラマを見てるわけではないので、見当違いの指摘だって場合はお知らせくださいw




Googleスプレッドシート ハイパーリンクの基本

メールやSNSでやり取りする際に、皆さん普通に「リンク送ってよ」とか「リンク貼っとくね」とWebサイトのURLを相手に伝えたり、Googleドライブのファイルの共有リンクを送ってるかと思います。

SNSツールの多くが テキストメッセージの中に  http://~ や https://~ といったURLの文字列を入れる(コピペする)と 自動で(通常は)青文字で下線入りとなり、相手はこれをクリック(タップ)するだけで、その先のWebページやファイルを開くことができます。

これがハイパーリンクです。また、使用するツールによっては

mirのnoteだよ

↑ このように、「mirのnoteだよ」という文字列にhttps://note.com/mir4545というURLを仕込むことも出来ます。

noteだと こんな感じでリンクを挿入する

このハイパーリンクは ExcelやGoogleスプレッドシートでも利用できて、表計算アプリならではの便利な使い方が色々あります。

Googleスプレッドシートで使えるハイパーリンクは大きく分けると2種類。

  • 機能で生成するハイパーリンク

  • HYPERLINK関数を使って生成するハイパーリンク

これは Excelとほぼ一緒かなと。それぞれ見ていきましょう。



機能で生成するハイパーリンク

こちらは、HYPERLINK関数で生成する以外の機能で生成されるハイパーリンク全般を指します。

さらに細かく分けると

  1. http://~ や https://~ といった有効なURLを入力する

  2. URLをリンクのタイトルに置き換える機能を使う

  3. 「リンクを挿入」機能を使う

  4. ハイパーリンク状態のリッチテキストをコピペする

このような方法でハイパーリンクが生成されます。



1. http://~ や https://~ といった有効なURLを入力する

まずは基本のこちら。

このように http://~、または https://~ といった 有効な型の URL を入力(またはセル内にコピペ)すると自動的にハイパーリンクに変換されます。

公式には

使用できるリンクの種類は、http://、https://、mailto:、aim:、ftp://、gopher://、telnet://、news:// のみで、その他のタイプは明示的に禁止されています。

https://support.google.com/docs/answer/3093313?hl=ja

と記載がありますが、通常の使うのは http://、https:// の2つ、あとは 人によってはmailto:、ftp:// あたりでしょうか。

他は(個人的には)あまり使わないかなと。

上のgif動画のようにURLを入力してハイパーリンク化した後、少し経ってから マウスのポインタを当てると、リンク先のサイトのタイトルやファビコン(小さいアイコン)が表示されるようになります。

Yahooトップページだとダメでしたが、リンク先のトップページに画像がある場合は プレビューで画像も表示されます。

これは Webアプリである Googleスプレッドシートならではの便利機能です。



2. URLをリンクのタイトルに置き換える機能を使う

ポインタを当てると タイトル表示が出るのはいいんですが、セル内にURLじゃなくて例えばサイトのタイトルを表示させておいて、クリックしたらリンク先が開くようにしたい。

こんな要望もあるかと思います。

これも Googleスプレッドシートであれば、「URLをリンクタイトルに置き換える」という機能で簡単実現にできます。

方法は マウスを当てた際に表示される「URLをリンクタイトルに置き換えますか?」 に対して「はい」を選択するだけ。

これで セルの表示は Yahoo! JAPAN ですが、クリックすると https://yahoo.co.jp/  が開く いわゆるハイパーリンクとなりました。

ただし残念ながらこの方法は複数セルを一括で処理は出来ず、セル毎に一つ一つ置き換える必要があります。



3. 「リンクを挿入」機能を使う

上の方法で ハイパーリンク生成は出来ますが、いやいや「Yahoo! JAPAN」だとおじいちゃんが読めないから、「ヤフー」(やほーではない)って表示したいんだよって場合もあるでしょう。

また、既にセルに入力されている「ヤフー」という文字が入ったセルをリンク化したいってケースもあるかと思います。

そんな時に使う機能が「リンクを挿入」です。

こちらは メニューバーのアイコンから選択するか、

セルを右クリック > リンクを挿入

で使用するか、または ショートカット Ctrl + K から利用できます。

リンクを挿入を使うと このようなポップアップが表示されるので、ここの入力ボックス(検索窓)にURLを入力、またはコピペして 適用とすることで、ハイパーリンクが生成できます。


このリンクを挿入で面白いのは、Googleらしいサジェスト機能です。

直近で使った スプレッドシートやドキュメント、そしてそのセルに入力されているテキストから検索でヒットする Webサイトが リンクの候補として表示されます。


そっちか~

さらに、この検索窓にキーワードを入れて、検索でヒットしたサイトをハイパーリンクとして適用させることもできます。


検索精度はイマイチで、複数ワードの検索には弱く、候補も2つしか出ませんが、別タブで 検索してURLをコピーしてといった手間が軽減されるのは便利ですね。

ちなみに「リンクを挿入」は数式が入ったセルでは利用できません

数式の結果をリンク化したい場合は、後で登場する HYPERLINK関数を組み合わせましょう。



4. ハイパーリンク状態のリッチテキストをコピペする

これも当たり前っちゃ当たり前の方法なんですが、ハイパーリンク状態のリッチテキストをセルに(セル内ではない)コピペすることでも、ハイパーリンクを生成できます。

上のようにハイパーリンク状態のセルをコピペはもちろん

このようにWebサイトからそのままコピペで、ハイパーリンクテキストを生成することも出来ます。

もちろん プレビュー表示も可能。

これが後で紹介する複数セルのハイパーリンクを一気に開く方法と組み合わせると、結構便利だったりします。



ハイパーリンクは書式ではない

ハイパーリンク化された文字列は、自動で青字下線付きとなるので、なんとなくハイパーリンクが書式とセット(もしくは、書式そのもの)であるように捉えている方がいますが、これは誤りです。

ハイパーリンクは書式ではありません。

だから、ハイパーリンク状態のセルに「書式をクリア」を実行しても 青字下線のハイパーリンクであることは変わりませんし、当然ですが書式コピー、貼り付けをしても 貼り付け先のセルが青字や下線にはならず、ハイパーリンクにもなりません

ただし、このハイパーリンクのセルの書式を自由に変えることは可能です。

文字の下線はアイコンにないけど表示形式から適用可能

表示形式 > テキスト > 下線(Ctrl + Uでも可) で下線を消したり、文字の色を青から白に変えたり、セルの背景色を変えてもハイパーリンクであることに変わりはありません。

ボタンっぽさはイマイチですが・・・

だから、一見ハイパーリンクとわからないようにしておくことや、上のようにセルをリンクボタン風にすることも可能です。

後で Excelとの比較で説明しますが、この疑似リンクボタンがGoogleスプレッドシートでは 必要になることがありますw



一つのセルでテキストの一部分にリンクを入れたり複数リンクを入れる

「リンク挿入」機能を使うことで、一つのセル内のテキストの一部分をハイパーリンクにしたり、複数のハイパーリンクを一つのセルに仕込むことも可能です。

この場合は右クリックからのリンクの挿入は使えないので、セルの編集モードでハイパーリンク化したいテキストを選択した状態で、上部のリンクを挿入アイコン、もしくはショートカット Ctrl + K を使ってリンクを挿入します。

機能としてのハイパーリンクの 基本は、こんなところでしょうか。

応用となる「一括での処理」については、HYPERLINK関数を紹介した後で書きたいと思います。



HYPERLINK関数を使って生成するハイパーリンク

機能ではなく関数でハイパーリンクを生成する方法がコチラ。

ここで使うのは HYPERLINK関数です。



HYPERLINK関数の基本

HYPERLINK(URL, [リンクラベル])

第1引数がURLでこれは必須。第2引数は実際にセルに表示されるリンクラベルで、こちらは省略が可能。省略時はそのままURLが表示されます。

URL、リンクラベル、どちらも直接式内に記述する以外に、セルを参照する方法があります。(こっちの方がよく使うと思います)

第1引数、第2引数ともに 空だと #N/Aエラーとなりますが、

=HYPERLINK(,B2)

と式を書いた場合は、必須であるはずの第1引数(URL)が無くてもエラーにはならず、単に第2引数のテキストだけが返ります。


ちなみに

=HYPERLINK(A2,"")

このように第2引数を 空文字とした場合は、見た目は空白セルなのにマウスを当てるとリンクが表示される隠しリンクのようなセルが作れます。

この空文字のみのセルをハイパーリンク化は、「リンクを挿入機能」では出来ず、HYPERLINK関数でのみ生成可能となっています。



IMAGE関数やセル内画像と組み合わせて画像をハイパーリンク化

といっても、空白をハイパーリンクにする(リンクを仕込む)なんて使い方は普通はしないですよね。

これが活用できるのは空白ではなくセル内画像との組み合わせです。

たとえば A2セルにセル内画像があった場合

=HYPERLINK("リンクさせたいURL",A2)

このような式を作成することで、画像が入ったセルをハイパーリンクにすることができます。


ボタン風の画像を用意してそのセルを HYPERLINK関数で参照させれば、先ほどのセル塗りつぶしで作ったものより、完成度の高いリンクボタン風が作れます。

ちなみに「リンクを挿入」機能では、セル内画像と組み合わせて「リンク付き画像セル」を生成することが出来ません。

リンクを挿入で テキストの方を空欄とするとセル内画像が URLの文字列で上書きされてしまいます。

リンク付きセル内画像は、HYPERLINK関数でのみ生成できる。

これは 覚えておくとよいでしょう。

もちろん

=HYPERLINK("リンク先URL",IMAGE("画像URL"))

このようにIMAGE関数と組み合わせることも出来ます。

IMAGE関数とHYPERLINKの組み合わせは、過去のnot「画像に関するエトセトラ」の回でも紹介しております。



一つのセルでテキストの一部分にリンクを入れたり複数リンクを入れることは HYPERLINK関数では出来ない

画像のハイパーリンク化は HYPERLINK関数でなければ出来ませんでしたが、逆にセル内のテキストの一部にリンクを入れたり、一つのセルに複数のリンクを仕込むといったことは、HYPERLINK関数では対応できません

ハイパーリンク関数の式(または式が入ったセル)を &CONCATTEXTJOINなどの演算子や関数で連結しても、単なる文字列となりリンク機能は失われてしまいます。

このような セル内のテキストの一部だけハイパーリンクにする、一つのセルに複数のハイパーリンクを設定することは、リッチテキストの領分となる為、シート関数ではどうにもできず、機能としての「リンクを挿入」を使う必要があります。


ちなみに ハイパーリンク化したセルを数式で参照した場合、基本的にはハイパーリンク状態は維持されますが、テキスト操作系の関数や 処理が特殊な QUERY関数を使った場合は、ハイパーリンクは失われテキスト化されます。



ArrayformulaとHYPERLINK関数を組み合わせて 一括ハイパーリンク生成

HYPERLINK関数は ARRAYFORMULA関数と組み合わせて使えます。

つまり、HYPERLINK関数 + ARRAYFROMULAで 複数セルに一気にハイパーリンクを生成することが出来るってことです。

たとえば上のように A列(A4:A9)にアニメタイトル(ラベル)、B列(B4:B9)にURLが入っていた場合

=ARRAYFORMULA(HYPERLINK(B4:B9,A4:A9))

こんな式で、一気にハイパーリンク化が出来ます。便利ですね!

これも 「リンクを挿入」機能でやろうとすると、(GASを使う以外だと)1つ1つ処理をするしかないので、HYPERLINK関数ならではの活用例と言えるでしょう。



Excel と Googleスプレッドシートのハイパーリンク機能比較

次に Googleスプレッドシートのハイパーリンクは Excelのハイパーリンクと、どのような違いがあるのか?

これを見ていきましょう。

なお、検証で利用しているのは Excel2019とWeb版Excelになります。


Excelのハイパーリンクはリンクのクリック方法が違う

Googleスプレッドシートのハイパーリンクは、セル内のリンク(青文字)を直接クリックするのではなく、ポインタを当てた時に出るポップの中のリンクをクリックして開きます。

良い面もあるんですが、2段階でポップの表示まで少し待つ必要があり、セルをクリックしてもサイトは開かないので Excelに慣れてる人には最初は不評だったりします。

一方 Excelはセル内のリンク化した文字にポインタを当てると 指のマークになり、そのままクリックしてWebサイトが開きます。セルをつかみづらいという難点はありますが、開くまでのアクションが短く早い印象。

ただし、Web版も含め残念ながら Excelのハイパーリンクは リンク先のタイトルや画像のプレビュー表示機能はありません



Excelのハイパーリンクはローカルファイル(フォルダ)も指定可能

たまに質問で見かけるのですが、Googleスプレッドシートのハイパーリンクは ローカルのファイルやフォルダは指定できません

Excelはローカルのファイルやフォルダのハイパーリンク化が出来るんで、同じようにやりたいってことだと思いますが、

Webページのリンクでローカルのファイルが開いたら(実行されたら)恐ろしいですよね?

これはGoogleスプレッドシート(Webアプリ)では無理です。

当然、Web版Excelでも ローカールファイルを開く ハイパーリンクは設定できません

ちなみに Web版 Excelは OneDriveとの親和性がそこまで良いとは思えません

一方、Googleスプレッドシートは Googleドライブ内のファイルとの親和性が非常に高く、先ほどのサジェスト機能など リンクを埋め込むのが非常に簡単で便利です。

ただ、ドライブ内のファイルに関しては現在はハイパーリンクではなく @で簡単にセル内に入れられる スマートチップ機能を使うことが多いですね。

ローカルファイルとの連携は インストール版の Excelが便利、Web完結型なら Googleスプレッドシートって感じでしょうか。



Excelは 挿入した 図形や画像にハイパーリンクを設定できる

Excelの場合は 挿入した図形(ボタン)や 画像にリンクを設定して、(ボタンや画像を)押したらサイトを開く、指定のシートのセルに飛ぶといったことが簡単に出来ます。

この感覚でGoogleスプレッドシートで気軽に、「ボタンを押したら 最初のシートに飛ぶようにしたい」とか「ボタンで 〇〇のWebサイトを開くようにしたい」、なんて言われると非常に困ります。

なぜなら Googleスプレッドシートは シート上の図形や画像には リンクを仕込むことが一切できないからです。

図形をボタンとして使う場合、「スクリプトを割り当て」で GASを実行させることは出来ます。

ただ、単にWebサイトを開く為だけに GASが必要ってのはハードル高すぎですし、ユーザー毎に初回実行時には スクリプトの承認も必要になります。

さらに サーバーサイドのGASでは クライアント側のWebサイトを開くという操作は出来ないので HTMLServiceを使って一度ダイアログを立ち上げ、そこで JavaScriptを実行させて Webサイトを開くっていう回避テクニックが必要になります。

図形からのGAS実行はスマホアプリ版では使えないという問題も

Googleスプレッドシートの図形がダメダメなのは皆さんもご存じかと思いますが、ハイパーリンク化すら出来ないのは困りますね。

残念ながら Excelと同じように 図形や画像をリンクボタンとしてWebを開くのは、Googleスプレッドシートでは諦めた方が無難です。

先ほど書いた セルの書式をボタンっぽくして、通常のセルのハイパーリンクを利用する方法で回避しましょう。



Excelだと HYPERLINK関数はスピらない?

Web版 Excelで検証

Googleスプレッドシートでは ArryaformulaとHYPERLINK関数を組み合わせてハイパーリンクを一括生成できましたが、Excelのスピルでは思った結果が得られません。

=HYPERLINK(B2:B5,A2:A5)

Excelの式

このような式で結果はスピルしたのですが、なぜかリンクラベルが全て先頭セルの「ヤフー」となってしまいました。

見た目はヤフー中身はGoogle。名探偵??

マウスを当てると 中身のURLは正しいので、第1引数はスピってるのに第2引数だけスピっていないようです。

一応 LAMBDA、MAPを使った式では複数のハイパーリンクは一括生成できましたが、こちらは 展開された2セル目以降のゴーストは見た目がリンクっぽくなりませんでしたw

=MAP(A2:A5,B2:B5,LAMBDA(v_1,v_2,HYPERLINK(v_2,v_1)))

見た目ではわからないけどハイパーリンクにはなっている

Excelも意外と

「この関数がスピらない・・・、だと」

ってケースがあるんですよね。


GooogleスプレッドシートとExcelとのハイパーリンクの 大きい違いを4つあげみてみました。

ちなみに、機能で生成するハイパーリンクで 紹介した 1つのセルに 複数のハイパーリンクを仕込む方法。これもGoogleスプレッドシートでは出来ますが、Excelでは出来ません。

また、これ以外にブック内のセルや他のシートへのリンク方法もGoogleスプレッドシートと大きく違いますが、そちらは次回書きたいと思います。

それでは、ここまでの Excelとの違い、リンクを挿入機能、HYPERLINK関数の基本を踏まえて 応用ネタにいってみましょう。



ハイパーリンク生成の超応用例

超応用といっても非常に簡単で、複雑な数式やGASは登場しませんw

でも、いずれも意外と知られてないテクニックなので改めて紹介したいと思います。

Excelのハイパーリンクネタも合わせて紹介します!



Googleスプレッドシート:複数セルのリンクを一気に開く

スプレッドシートの複数セルのハイパーリンクを開くケースで、マウスでポインターをあて表示されるポップのリンクをクリック、これを一つずつ繰り返す・・・と思ってたりしませんか?

Googleスプレッドシートでは、複数セルのリンクは一発で開くことが出来ます!

やり方は

■複数セルのハイパーリンクを一気に開く方法
1. 開きたいハイパーリンクのセル範囲を選択
2. 右クリック > セルでの他の操作項目を表示 > リンクを開く

これだけです。マウスを使わずキーボードショートカットで操作も可能で

■複数セルのハイパーリンクを一気に開く方法(ショートカット)
1. 開きたいハイパーリンクのセル範囲を選択 (Ctrl + Shift + ↓
2. Alt + Enter (リンクを開く)

こんな感じ。

1つのセルに複数リンクの場合でも同じ方法で一発で開くことができます。

保存先フォルダを固定にしたうえで、ダウンロードリンクを一旦スプレッドシートに貼り付け、一括でこの方法で開けば、ツールなしで一括ダウンロードもできそうですね。


残念ながら、この「複数セルのリンクを一気に開く」に関しては ExcelではVBAを使う方法しかなさそうです。

Web版も該当する機能は見当たりませんでした。



リンク解除状態のURLの一括ハイパーリンク化(ひたすらEnter)

最初に記載しましたが、セル内に http://~ や https://~ といったURLと見なされる文字列を入力すると、自動でハイパーリンクになります。

これは便利なんですが、場合によってはハイパーリンクではなくURLを普通の文字列として扱いたいって時もあります。

複数セルの ハイパーリンク化したURLのハイパーリンクを一括解除する方法としては、セル範囲を選択した上で

右クリック > セルでの他の操作項目を表示 > リンクを削除

とするか、他には 範囲をコピーして別の場所に値貼付けする方法があります。

一方、リンク化していない単なる文字列状態のURLをハイパーリンクにする方法は、機能としては用意されていません。

個々のセル単位であれば、一度編集モードにして確定させることで ハイパーリンクが復活するので

Enterで編集モード、再度Enterで確定&下のセルに移動を繰り返す

Googleスプレッドシートでしたらひたすら Enterを連打

F2で編集モード、Enterで確定&下のセルに移動を繰り返す

Excelの場合は F2の後Enterを繰り返すといった方法があります。

しかし、これはあくまでも手作業なんで、10セルくらいならいいですが、50セル、100セルとセル数が増えた場合は厳しいです。

では、どうするか?



Googleスプレッドシート:リンク解除状態のURLの一括ハイパーリンク化(検索と置換)

Googleスプレッドシートの場合は、URLの一括ハイパーリンク化に 検索と置換が使えます

■複数セルの リンク化されてないURLを 一括でハイパーリンクにする方法
1. ハイパーリンク化したいURLの入ったセル範囲を選択
2. 検索と置換で
 検索 h
 置換後 h
 として、すべて置換

Googleスプレッドシート限定

WebのURLなら必ず h から始まるので、この h を h に置換することで、セル内のURLを疑似的に再確定することで、一気にハイパーリンク化しています。

これは以前、過去noteの「検索と置換」の回でも紹介しましたが、超便利なのに、まだまだ世間では使われていないので再掲しました。

しかし、この方法は残念ながら Excelでは使えません

Excelの場合は検索と置換では、URL可は機能しないのです。

検索と置換によるURLのハイパーリンク化テクは、Googleスプレッドシートのみで使える裏ワザです!(だから認知度低いんでしょうがw)

ではExcelの場合はどうするか?



URLをHYPERLINK関数で リンク化する

GoogleスプレッドシートでもExcelでも、どちらでも使えるURLのハイパーリンク化の定番の方法HYPERLINK関数を使う方法があります。

たとえば A1~A4セルに リンク状態ではないURLが入っている場合

=HYPERLINK(A1)

隣のB1セルにこのような式を入れて、下にオートフィル(Excelでも使えるように Arrayformulaは使っていません)すると、B列にはハイパーリンク状態のURLが出力されます。

当然この方法はExcelでも使えます。

これが Googleスプレッドシートでも Excelでも使える 一番簡単な URLのハイパーリンク化です。

って、いやいやこんなん誰でも知ってるだろって思いまよね?

もちろんこれで終わりではありません。mirのnoteはこの先があります!




HYPERLINK関数で生成したリンクを ハイパーリンク状態のまま値化する(Googleスプレッドシート)

上の方法だと B列はあくまでもA列を参照している式なんで、A列を消すことができません

もちろん非表示にすることは可能ですが、出来れば数式状態じゃなくて B列の結果をハイパーリンク状態のまま値化したいですよね。

この方法を書いたサイトをあまり見かけないんですが、これ出来ます!

ちなみにExcelで HYPERLINKの式が入ったセルをコピーして値貼付けすると、値化され見た目はハイパーリンクっぽい青字下線ですが、これはリンク状態になっていません

Excelは値貼付けするとハイパーリンクは解除

しかし、Googleスプレッドシートの場合は HYPERLINK関数でリンク状態のセルに 値貼付けをすることで、リンクを保持して値化ができます。

Googleスプレッドシートは値貼付けでリンクを保持できる

ここの注意点としては式自体のセル(B1:B4)を コピー、値貼付けではダメってことです。

これはダメ

別セル(A1:A4)をコピー、値貼付けすることで HYPERLINK関数がハイパーリンク状態のまま値化ができます。



Googleスプレッドシート:最も簡単にハイパーリンクを生成する方法

というわけで、ようやく真のタイトル回収です。

Googleスプレッドシートで A列に サイトのタイトル B列に サイトのURL(リンク状態) があった場合、もっとも簡単に サイトのタイトルをハイパーリンク化する方法は

=HYPERLINK(B1,A1)

でオートフィルでもなく、

=ARRAYFORMULA(HYPERLINK(B1:B4,A1:A4)

と配列数式にするでもなく、

A1:A4の タイトルをコピーして、B1:B4のリンクURLのセルに値貼付け

この方法となります。


セルのハイパーリンクを保持しつつ、表示されるURLをコピーしたテキストに差し替えって感じですね。



B列のURLがリンク状態ではない場合は、一度HYPERLINK関数で C列にハイパーリンクを生成して、A列を値コピペすればOK

不要なら元元データA列、B列も削除でOK

これでもう HYPERLINK関数で生成したけど、 元データの列は残しておく必要があるんでとりあえず非表示、なんてことは不要ですね。

この値貼付けでHYPERLINK関数の値化、もしくは値貼付けでハイパーリンクのラベル変更も、Googleスプレッドシートだけで使える裏技です。(やはりExcelで使えないネタはあまり広まらないw)



Googleスプレッドシート:HYPERLINK関数なし。真のリンク付きセル内画像が生成できる

Googleスプレッドシートは、ハイパーリンク状態のセルに値貼付けで、リンク状態を保持して値だけ差し替えができる

このテクニック を応用すると、不可能と思われたHYPERLINK関数無しで「リンクを挿入」したような 真のリンク付きセル内画像を作成することができます。

方法は超簡単で、ハイパーリンク状態のURLが入ったセルに画像が入ったセルをコピーして 値貼付けするだけ。

超裏技なハックネタですね!

本来は出来ない方法で生成したものなんで、リンクを編集しようとすると、画像は消滅してしまいます。

セル内画像をよく使う方であれば活用できるネタじゃないかなと。



Excelの場合は Web版を経由したコピペ2回で ハイパーリンクを値化できる

いやいや、Googleスプレッドシートは便利な方法があるのはわかったけど、

「Excelは HYPERLINK関数の値化は 出来ない(VBA使ってね)」

で終わりなのか?

そんなことはありません。mirは 現在は Googleスプレッドシート職人ですが元々はExcel職人

Excelの HYPERLINK関数のハイパーリンク保持、値化も、もちろんVBAを使わない方法を用意しています。

その方法は一度 Web版Excelを経由する方法です。

Windows11、Excel2019、Edgeで検証

■ExcelのHYPERLINK関数で生成された結果をハイパーリンクを保持して値化する方法
(インストール版Excel)
1. HYPERLINK関数の出力セル範囲をコピー

(Web版Excel)
2. コピーしたセルを貼り付け
 (数式は値化されるが ハイパーリンクは保持される)
3.値化したハイパーリンクのセル範囲をコピー

(インストール版Excel)
4. 貼り付け (ハイパーリンク値化完了)

こんな方法でHYPERLINK関数の値化ができます。

HYPERLINK関数のセルが、インストール版 Excel ⇔ Web版 Excel の際に、式は値化されるが ハイパーリンクは保持されるのがポイントです。


これは例えば Googleスプレッドシートと組み合わせることも可能で、例えばインストール版 Excelを持ってないって人は、Web版Excel ⇔ Googleスプレッドシートでも HYPERLINK関数の値化が出来ます。

■Web版 ExcelのHYPERLINK関数で生成された結果をハイパーリンクを保持して値化する方法
(Web版Excel)
1. HYPERLINK関数の出力セル範囲をコピー
2. Escキーで セルのコピー状態を解除

(Googleスプレッドシート)
3. コピーしたセルを貼り付け
 (数式は値化されるが ハイパーリンクは保持される)
4.値化したハイパーリンクのセル範囲をコピー

(Web版Excel)
4. 貼り付け (ハイパーリンク値化完了)

Web版Excelでコピーした場合は セルのコピー状態を Escで解除しないと、最後貼付けの際に そちらが優先されてしまう点に注意が必要です。


なんか枠がついてきた

また、Googleスプレッドシートを経由すると 罫線などのセルの書式がそこだけ崩れるので後で修正する必要があります。

ExcelのHYPERLINK関数の一括値化で、手作業だと量が多いんでやりたくないけど、VBAをわざわざ使うのもなーって人には良い方法じゃないでしょうか?



ハイパーリンク のまとめのまとめ

最後に今回紹介したハイパーリンク関連のネタで、多くの人が「知らんかった~」と感じたであろう箇所をまとめておきます。



Googleスプレッドシート、Excelハイパーリンク ハックネタまとめ

Googleスプレッドシートは HYPERLINK関数と組み合わせてセル内画像をハイパーリンク化できる

Googleスプレッドシートは1つのセルに複数のハイパーリンクがセットできる(Excelは不可)

Googleスプレッドシートは Arrayformulaと組み合わせてHYPERLINK関数をスピルできる(ExcelはHYPERLINK関数は第2引数がスピらない)

セル上の画像や図形をハイパーリンクに出来るのは Excelだけ。(Googleスプレッドシートでは出来ない)

Googleスプレッドシートは 複数セルのハイパーリンクを一気に開く機能(とショートカット)がある

Googleスプレッドシートは「検索と置換」でテキスト状態のURLを一気にハイパーリンク化できる

Googleスプレッドシートは値貼付けで HYPERLINK関数の値化、ハイパーリンクのラベル差し替えができる

Excelは Web版エクセル、またはGoogleスプレッドシートに一度コピペすることで HYPERLINK関数を値化できる

最初は「ハイパーリンクでそんなに書くことある?」って思った人も、結構もりだくさんの内容だっと感じていただけたんじゃないでしょうか?(3回くらに分けてもいい内容だったw)



次回は、スプレッドシート内の ハイパーリンクに突入

今回は Googleスプレッドシートの ハイパーリンク機能、HYPERLINK関数について Excelとの比較も交えて書いてみました。

次回は ハイパーリンクネタの続きってことで、スプレッドシート内の ハイパーリンクを中心に書きたいと思います。



この記事が気に入ったらサポートをしてみませんか?