スプレッドシートのENCODEURL関数の使い方|URLエンコード

スポンサーリンク

スプレッドシートで日本語を含むURLを作りたい。でもそのまま貼り付けると文字化けしたり、リンクが正しく開かなかったりしますよね。

URLに日本語や特殊文字が含まれていると、ブラウザが正しく解釈できないことがあります。手作業で「%E3%81%82」のような変換をするのは現実的ではありません。

そんなときに使えるのがENCODEURL関数です。セルの文字列を自動でURLエンコードしてくれるので、リンク生成がぐっと楽になります。

この記事では、スプレッドシートのENCODEURL関数の基本から実務で使える活用パターンまで紹介します。

スプレッドシートのENCODEURL関数とは?

ENCODEURL関数(読み方: エンコードユーアールエル)は、文字列をURLエンコード(パーセントエンコーディング)する関数です。

名前は「ENCODE(変換する)」+「URL」で、URLに使える形式に文字列を変換するという意味です。

たとえば「東京都」という文字列を渡すと、%E6%9D%B1%E4%BA%AC%E9%83%BDに変換されます。この変換を「パーセントエンコーディング」と呼びます。

ENCODEURL関数でできることをまとめると、次のとおりです。

  • 日本語テキストをURL用の文字列に変換する
  • スペースや記号など、URLで使えない文字を自動変換する
  • 他の関数と組み合わせて検索URLやAPIリクエストURLを自動生成する

NOTE

ENCODEURL関数はGoogleスプレッドシート独自の関数です。ExcelにもENCODEURL関数はありますが、Windows版限定でMac版Excelでは使用できません。詳しくは後半の「ExcelのENCODEURL関数との違い」セクションで解説しています。

ENCODEURL関数の書き方(構文と引数)

基本構文

=ENCODEURL(テキスト)

カッコの中にエンコードしたい文字列を指定します。引数は1つだけなので、とてもシンプルです。

引数の説明

引数必須/任意説明
テキスト必須URLエンコードしたい文字列。セル参照または直接入力

文字列を直接入力する場合はダブルクォーテーション(")で囲みます。セル参照の場合はそのまま指定できます。

=ENCODEURL("東京都")
=ENCODEURL(A2)

TIP

英数字と一部の記号(ハイフン -、アンダースコア _、ピリオド .、チルダ ~)はエンコードされずそのまま返ります。これはRFC 3986というURL仕様の標準ルールに従った動作です。

ENCODEURL関数の基本的な使い方

日本語テキストをURLエンコードする

まずは基本的な使い方を見てみましょう。A列に日本語テキストを入れ、B列でENCODEURL関数を使います。

 A列(元テキスト)B列(数式)B列(結果)
2行目東京都=ENCODEURL(A2)%E6%9D%B1%E4%BA%AC%E9%83%BD
3行目渋谷区=ENCODEURL(A3)%E6%B8%8B%E8%B0%B7%E5%8C%BA
4行目Hello=ENCODEURL(A4)Hello

「Hello」のように半角英数字だけの場合はそのまま返ります。エンコードが必要な文字だけが変換される仕組みです。

記号・スペースのエンコード

URLでよく使われる記号やスペースがどう変換されるかを確認しておきましょう。

元の文字変換後備考
スペース%20URLのスペースは%20に変換される
&%26パラメータ区切りと区別するため
=%3Dキーと値の区切りと区別するため
?%3Fクエリ開始文字と区別するため
#%23フラグメント文字と区別するため
/%2Fパス区切りと区別するため

URLの構造に使われる記号は、パラメータの「値」として使うときにエンコードが必要です。ENCODEURL関数はこれらを自動で処理してくれますよ。

実務で使えるENCODEURL関数の活用例

Google検索URLを自動生成する

セルに入力したキーワードから、Google検索結果ページのURLを自動で作れます。リサーチ業務で複数のキーワードを一括検索したいときに便利です。

A列に検索キーワードを入れ、B列で検索URLを組み立てます。

="https://www.google.com/search?q="&ENCODEURL(A2)
 A列(キーワード)B列(生成されたURL)
2行目スプレッドシート 使い方https://www.google.com/search?q=%E3%82%B9%E3%83%97%E3%83%AC%E3%83%83%E3%83%89%E3%82%B7%E3%83%BC%E3%83%88%20%E4%BD%BF%E3%81%84%E6%96%B9

生成されたURLをブラウザに貼り付ければ、そのキーワードの検索結果が表示されます。

HYPERLINK関数と組み合わせれば、セルをクリックするだけで検索結果に飛べるリンクも作れます。

=HYPERLINK("https://www.google.com/search?q="&ENCODEURL(A2), A2&"を検索")

これで「スプレッドシート 使い方を検索」というリンクテキストが表示され、クリックするとGoogle検索が開きます。

Googleマップ検索URLを作成する

住所リストから地図検索リンクを一括で作成できます。営業先リストや店舗一覧の管理に活用できますよ。

=HYPERLINK("https://www.google.com/maps/search/"&ENCODEURL(A2), "地図を開く")

A列に住所を入れておけば、「地図を開く」をクリックするだけでGoogleマップが開きます。

HYPERLINK関数と組み合わせてクリック可能なリンクにする

ENCODEURL関数で生成したURLは、そのままではただの文字列です。クリックして開けるリンクにするにはHYPERLINK関数と組み合わせましょう。

基本の組み合わせパターンはこちらです。

=HYPERLINK("ベースURL"&ENCODEURL(パラメータ), "表示テキスト")

たとえば、商品名からAmazon検索リンクを作る場合は次のように書きます。

=HYPERLINK("https://www.amazon.co.jp/s?k="&ENCODEURL(A2), A2&"を検索")

&(アンパサンド)で文字列を結合しています。文字列結合をもっと複雑にする場合はCONCATENATE関数も活用してみてください。

複数パラメータのURLを組み立てる

クエリパラメータが複数あるURLも組み立てられます。各パラメータの値だけをENCODEURLでエンコードするのがポイントです。

たとえば、URLの?key1=値1&key2=値2という形式を作るには次のように書きます。

="https://example.com/api?name="&ENCODEURL(A2)&"&city="&ENCODEURL(B2)
 A列(名前)B列(都市)C列(生成URL)
2行目田中太郎東京都https://example.com/api?name=%E7%94%B0%E4%B8%AD%E5%A4%AA%E9%83%8E&city=%E6%9D%B1%E4%BA%AC%E9%83%BD

URLの構造部分(https://?&=)はエンコードせず、値の部分だけをENCODEURLで変換します。ここを間違えるとURLが壊れるので注意してください。

ENCODEURL関数のよくあるエラーと対処法

ENCODEURL関数は引数が1つだけなのでエラーは少ないですが、以下のケースに注意してください。

状況結果対処法
引数なし =ENCODEURL()数式エラーテキストまたはセル参照を指定する
空のセルを参照空文字列(空白)IF関数で空セルチェックを入れる
数値を渡した場合数値がそのまま文字列として返る意図どおりならそのままでOK

空セルを参照したときにURLのベース部分だけ残ってしまうのを防ぐには、IF関数で分岐させましょう。

=IF(A2="","",HYPERLINK("https://www.google.com/search?q="&ENCODEURL(A2), "検索"))

A2が空なら空白、値があれば検索リンクを表示します。

ExcelのENCODEURL関数との違い

ExcelにもENCODEURL関数がありますが、対応環境に大きな違いがあります。

比較項目GoogleスプレッドシートExcel
対応環境すべての環境(PC・スマホ・ブラウザ)Windows版のみ(Mac版は非対応)
Web版対応Excel for the webは対応
構文=ENCODEURL(テキスト)=ENCODEURL(テキスト)
エンコード方式UTF-8UTF-8

構文とエンコード方式は同じですが、対応環境が異なります。Mac環境で作業する方はスプレッドシートのほうが確実に使えますよ。

また、ExcelのENCODEURL関数はWindowsのOS機能に依存しています。そのためMac版Excelでは#VALUE!エラーになります。Mac環境でURLエンコードが必要な場合は、Googleスプレッドシートを使うのがおすすめです。

なお、URL文字列のなかで特定の文字を置き換えたい場合は、SUBSTITUTE関数を使うとさらに柔軟に対応できます。

まとめ

スプレッドシートのENCODEURL関数について、基本から実務での活用パターンまで紹介しました。

ポイントをおさらいしておきましょう。

  • ENCODEURL関数は文字列をURLエンコードする関数
  • 引数は1つだけ。エンコードしたい文字列を指定するだけ
  • 英数字と一部の記号(- _ . ~)はそのまま、日本語や特殊記号は%XX形式に変換される
  • HYPERLINK関数と組み合わせるとクリック可能なリンクを自動生成できる
  • Google検索URL、マップURL、複数パラメータURLなど実務活用の幅が広い
  • Googleスプレッドシート独自関数で、ExcelはWindows版のみ対応

日本語を含むURLを扱う場面はリサーチ業務や営業リスト管理などで意外と多いものです。ENCODEURL関数を覚えておくと、URL生成の手作業を大幅に減らせますよ。

タイトルとURLをコピーしました