Excelを使ってWeb関連の作業をしていると、「URLエンコード」という処理が必要になる場面があります。たとえば、日本語を含むURLを正しく処理したいときや、フォームデータを送信するURLを組み立てるときです。そんなときに便利なのが、Excelの「ENCODEURL関数」です。この関数を使えば、特別な知識がなくても簡単にURLエンコードができます。本記事では、ENCODEURL関数の基本から、具体的な活用例、注意点までをわかりやすく解説します。Webとの連携が必要なExcelユーザー必見の内容です。
ENCODEURL関数は、ExcelでURLに使用できる形式(パーセントエンコーディング)に文字列を変換する関数です。
たとえば、「東京都」と入力された文字列を、Webブラウザが理解できる形式に変換すると「%E6%9D%B1%E4%BA%AC%E9%83%BD」となります。
この処理は「URLエンコード」や「パーセントエンコーディング」とも呼ばれ、Web APIや検索URLを作成する際などに欠かせない技術です。
=ENCODEURL(文字列)
=ENCODEURL("東京都")
→ 結果:%E6%9D%B1%E4%BA%AC%E9%83%BD
このように、日本語の文字列がURLで使える形式に変換されます。
Google検索リンクを作るとき、検索キーワードに日本語が含まれていると、URLエンコードが必要です。
="https://www.google.com/search?q=" & ENCODEURL(A1)
セルA1に「エクセル関数」と入力している場合、結果は以下のようになります。
https://www.google.com/search?q=%E3%82%A8%E3%82%AF%E3%82%BB%E3%83%AB%E9%96%A2%E6%95%B0
このURLをブラウザに貼り付ければ、Googleで「エクセル関数」と検索した結果が表示されます。
たとえば、地図APIに住所情報を送信する場合、URLの一部に住所を含める必要があります。
="https://api.example.com/geocode?address=" & ENCODEURL(A1)
このように、APIへのリクエストURLを安全に生成することができます。
ENCODEURL関数は、Excel 2013以降のバージョンで利用可能です。
古いバージョン(Excel 2010以前)では利用できないため、使用環境に注意が必要です。
また、Web向けの関数であるため、通常の表計算ではあまり登場しませんが、WebとExcelを連携させたアプリケーションや業務フローではとても重宝されます。
以下に、よく使われる文字や記号をENCODEURL関数で処理した結果の一例を紹介します。
入力文字列 | ENCODEURLの結果 |
---|---|
東京 | %E6%9D%B1%E4%BA%AC |
& | %26 |
/ | %2F |
スペース | %20 |
? | %3F |
= | %3D |
このように、URL内で特別な意味を持つ文字や、日本語などの非ASCII文字は、パーセントエンコーディングされます。
Excelには、**エンコードを元に戻す「DECODEURL関数」**は存在しません。
そのため、URLをデコード(元の文字列に戻す)したい場合は、以下のような対応が必要になります。
どうしてもExcelでURLデコードしたい場合は、VBAを使うのが現実的です。
以下に簡単なサンプルコードを紹介します。
Function URLDecode(str As String) As String
URLDecode = WorksheetFunction.DecodeURL(str)
End Function
Excel標準では DecodeURL
が提供されていませんが、WinAPIや外部ライブラリを使うと再現できます。
ExcelのENCODEURL関数は、Web検索やAPI連携といった、インターネットとの接続を必要とする業務において非常に便利な機能です。日本語や記号をURLとして安全に使える形に変換できるため、検索リンクの自動生成や、データ送信用のURL作成などに活用できます。
ただし、古いバージョンのExcelでは使用できない点や、デコード関数が用意されていない点には注意が必要です。
Webとの連携を視野に入れてExcelを活用している方は、ENCODEURL関数をぜひ一度試してみてください。業務効率がぐっと上がるかもしれません。