<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ENCODEURL関数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/encodeurl%e9%96%a2%e6%95%b0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 04 Jun 2026 07:36:02 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>ENCODEURL関数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのWEBSERVICE関数の使い方｜Webサービスからデータを取得する（※廃止予定）</title>
		<link>https://mashukabu.com/excel-function-howto-use-webservice/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-webservice/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 17 Apr 2026 23:41:38 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[API連携]]></category>
		<category><![CDATA[ENCODEURL関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[FILTERXML関数]]></category>
		<category><![CDATA[WEBSERVICE関数]]></category>
		<category><![CDATA[Web関数]]></category>
		<category><![CDATA[XPath]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6026</guid>

					<description><![CDATA[ExcelのWEBSERVICE関数の使い方を基本構文から実例まで解説。URL指定でWebサービスからデータを取得する手順、FILTERXML・ENCODEURLとの連携、廃止扱いの現状、代替手段（Power Query）まで丁寧に紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「ExcelのセルにURLを書いたら、そのままWebの情報を引っ張ってこれないかな？」</p>



<p class="wp-block-paragraph">為替レートや天気情報、RSSフィードなど、Webにある情報をExcelに取り込みたい場面ってありますよね。毎回コピペするのは面倒ですし、自動更新されれば作業がかなり楽になります。</p>



<p class="wp-block-paragraph">ExcelのWEBSERVICE関数を使えば、URLを指定するだけでWebサービスからデータを取得できますよ。FILTERXML関数と組み合わせれば、欲しい項目だけをスマートに抜き出すこともできます。</p>



<p class="wp-block-paragraph">この記事では、ExcelのWEBSERVICE関数の基本構文から、FILTERXML・ENCODEURLとの連携、現状の「廃止扱い」の注意点、Power Queryなど代替手段までを丁寧に解説します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>対象環境</strong>: Excel 2013以降のデスクトップ版（Windows/Mac）。Excel for the web・Excel Mobile では利用できません。また、2019年12月以降のMicrosoft 365では新規ファイルでの利用が廃止扱いになっています（後述）。</p></blockquote>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelのWEBSERVICE関数とは？Webからデータを取得するWeb関数</a><ol><li><a href="#toc2" tabindex="0">WEBSERVICE関数の読み方と位置づけ</a></li><li><a href="#toc3" tabindex="0">WEBSERVICE関数でできること</a></li><li><a href="#toc4" tabindex="0">対応バージョンと利用制限</a></li></ol></li><li><a href="#toc5" tabindex="0">ExcelのWEBSERVICE関数の書式と引数</a><ol><li><a href="#toc6" tabindex="0">基本構文</a></li><li><a href="#toc7" tabindex="0">引数の意味</a></li><li><a href="#toc8" tabindex="0">戻り値</a></li><li><a href="#toc9" tabindex="0">対応プロトコル</a></li></ol></li><li><a href="#toc10" tabindex="0">ExcelのWEBSERVICE関数の基本的な使い方</a><ol><li><a href="#toc11" tabindex="0">RSSフィードを取得する</a></li><li><a href="#toc12" tabindex="0">セル参照でURLを指定する</a></li><li><a href="#toc13" tabindex="0">動的なURLを作る</a></li></ol></li><li><a href="#toc14" tabindex="0">ExcelのWEBSERVICE関数の実践的な使い方・応用例</a><ol><li><a href="#toc15" tabindex="0">FILTERXML関数と組み合わせてXMLから値を抜き出す</a></li><li><a href="#toc16" tabindex="0">ENCODEURL関数で日本語URLをエンコードする</a></li><li><a href="#toc17" tabindex="0">為替レート取得の定番パターン</a></li></ol></li><li><a href="#toc18" tabindex="0">WEBSERVICE関数が廃止扱いになった背景と現状</a><ol><li><a href="#toc19" tabindex="0">廃止扱いの具体的な挙動</a></li><li><a href="#toc20" tabindex="0">廃止された理由</a></li><li><a href="#toc21" tabindex="0">実務での推奨方針</a></li></ol></li><li><a href="#toc22" tabindex="0">WEBSERVICE関数の代替手段</a><ol><li><a href="#toc23" tabindex="0">Power Queryを使う方法</a></li><li><a href="#toc24" tabindex="0">データ型「株価・地理」機能を使う</a></li><li><a href="#toc25" tabindex="0">VBAのXMLHTTPを使う方法</a></li></ol></li><li><a href="#toc26" tabindex="0">WEBSERVICE関数でよくあるエラーと対処法</a><ol><li><a href="#toc27" tabindex="0">#VALUE!エラーの原因と対処</a></li><li><a href="#toc28" tabindex="0">#NAME?エラーの原因と対処</a></li><li><a href="#toc29" tabindex="0">文字化けや日本語URLの対処</a></li></ol></li><li><a href="#toc30" tabindex="0">WEBSERVICE・FILTERXML・ENCODEURLの3点セット連携</a><ol><li><a href="#toc31" tabindex="0">基本テンプレート</a></li><li><a href="#toc32" tabindex="0">実務での使い分け早見表</a></li></ol></li><li><a href="#toc33" tabindex="0">まとめ｜ExcelのWEBSERVICE関数は用途を見極めて使おう</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのWEBSERVICE関数とは？Webからデータを取得するWeb関数</span></h2>



<p class="wp-block-paragraph">ExcelのWEBSERVICE関数は、指定したURLにアクセスしてその応答データをセルに返してくれるWeb関数です。Excel 2013で追加されました。</p>



<p class="wp-block-paragraph">「わざわざブラウザでページを開いてコピペする」という手間を、関数ひとつで自動化できる便利な関数ですよ。</p>



<h3 class="wp-block-heading"><span id="toc2">WEBSERVICE関数の読み方と位置づけ</span></h3>



<p class="wp-block-paragraph">WEBSERVICEは「ウェブサービス」と読みます。英語名そのままです。</p>



<p class="wp-block-paragraph">ExcelにはWeb関連の関数が3つあります。この3つは<strong>セットで使うのが基本</strong>ですよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>役割</th></tr></thead><tbody><tr><td>ENCODEURL</td><td>URLに含める文字列をエンコードする</td></tr><tr><td>WEBSERVICE</td><td>URLにアクセスしてデータを取得する</td></tr><tr><td>FILTERXML</td><td>取得したXMLデータから必要な要素を抜き出す</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">単独で使うよりも、組み合わせて使うと本領を発揮します。</p>



<h3 class="wp-block-heading"><span id="toc3">WEBSERVICE関数でできること</span></h3>



<p class="wp-block-paragraph">WEBSERVICE関数を使うと、次のようなことができます。</p>



<ul class="wp-block-list"><li>Web APIからJSONやXMLデータを取得する</li><li>RSSフィードを取り込んで最新記事の一覧を作る</li><li>為替レートや株価などの外部データを自動取得する</li><li>郵便番号検索APIで住所を自動入力する</li><li>天気予報APIで1週間の天気をExcelに表示する</li></ul>



<p class="wp-block-paragraph">要するに、<strong>「URLで取得できるデータはExcelに引き込める」</strong>という便利な関数なんです。</p>



<h3 class="wp-block-heading"><span id="toc4">対応バージョンと利用制限</span></h3>



<p class="wp-block-paragraph">ここは重要なポイントなので、しっかり押さえてくださいね。</p>



<figure class="wp-block-table"><table><thead><tr><th>環境</th><th>利用可否</th></tr></thead><tbody><tr><td>Excel 2013〜2021（Windows/Mac デスクトップ版）</td><td>利用可能</td></tr><tr><td>Microsoft 365（Windows デスクトップ版）</td><td>廃止扱い（既存ファイルのみ動作）</td></tr><tr><td>Excel for the web（ブラウザ版）</td><td>利用不可</td></tr><tr><td>Excel Mobile（iOS/Android）</td><td>利用不可</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Microsoft 365では、2019年12月以降の新規ファイルではWEBSERVICE関数が利用できません。これは「deprecated（廃止扱い）」というステータスで、<strong>古いファイルでは引き続き動作するものの、新規入力はブロックされる</strong>という扱いです。</p>



<p class="wp-block-paragraph">セキュリティ上の懸念と、Power Queryなどより高機能な代替手段が登場したことが廃止の背景ですよ。代替手段については記事後半で紹介しますね。</p>



<h2 class="wp-block-heading"><span id="toc5">ExcelのWEBSERVICE関数の書式と引数</span></h2>



<h3 class="wp-block-heading"><span id="toc6">基本構文</span></h3>



<pre class="wp-block-code"><code>=WEBSERVICE(URL)</code></pre>



<p class="wp-block-paragraph">カッコの中に、アクセスしたいURLを文字列として指定します。非常にシンプルな構文ですね。</p>



<h3 class="wp-block-heading"><span id="toc7">引数の意味</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>URL</td><td>必須</td><td>アクセス先のURL。HTTPまたはHTTPSのみ対応。最大32,767文字まで</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数はURLひとつだけなので、とても覚えやすい関数です。</p>



<h3 class="wp-block-heading"><span id="toc8">戻り値</span></h3>



<p class="wp-block-paragraph">戻り値は、指定したURLにアクセスして取得した<strong>生の文字列データ</strong>です。XML形式、JSON形式、プレーンテキストなど、サーバーが返す内容がそのまま返ってきます。</p>



<p class="wp-block-paragraph">戻り値の文字列の長さは<strong>最大32,767文字</strong>までです。セルの表示上限と同じですね。これを超えるデータは切り捨てられるので、大量データの取得には向いていません。</p>



<h3 class="wp-block-heading"><span id="toc9">対応プロトコル</span></h3>



<p class="wp-block-paragraph">HTTPまたはHTTPSのみ対応しています。FTPやSMTP、ファイルパス（<code>file://</code>）は使えません。</p>



<p class="wp-block-paragraph">また、サーバー側でCookie認証や複雑な認証ヘッダーを要求するAPIには対応していません。<strong>認証不要の公開API</strong>を使うのが基本ですよ。</p>



<h2 class="wp-block-heading"><span id="toc10">ExcelのWEBSERVICE関数の基本的な使い方</span></h2>



<p class="wp-block-paragraph">まずはシンプルな例で動きを確認してみましょう。</p>



<h3 class="wp-block-heading"><span id="toc11">RSSフィードを取得する</span></h3>



<p class="wp-block-paragraph">試しにRSSフィードのURLを指定してみます。A1セルに次の数式を入力します。</p>



<pre class="wp-block-code"><code>=WEBSERVICE(&quot;https://news.yahoo.co.jp/rss/topics/top-picks.xml&quot;)</code></pre>



<p class="wp-block-paragraph">結果として、RSSフィードのXMLデータがそのまま文字列でA1セルに返ってきます。セルをダブルクリックすると、<code><rss version="2.0">...<item><title>ニュース見出し</title>...</code> のような長い文字列が入っているのが確認できますよ。</p>



<p class="wp-block-paragraph">このままだと読みにくいので、次のFILTERXML関数で必要な部分だけを抜き出します。</p>



<h3 class="wp-block-heading"><span id="toc12">セル参照でURLを指定する</span></h3>



<p class="wp-block-paragraph">URLを直接書かずに、セル参照で渡すこともできますよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>内容</th></tr></thead><tbody><tr><td>A1</td><td><code>https://example.com/api/data.xml</code></td></tr><tr><td>B1</td><td><code>=WEBSERVICE(A1)</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">B1セルに <code>=WEBSERVICE(A1)</code> と入力すると、A1セルのURLにアクセスした結果が返ります。</p>



<p class="wp-block-paragraph">URLを変更するだけで結果を切り替えられるので、<strong>複数のAPIを使い分ける用途</strong>に便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc13">動的なURLを作る</span></h3>



<p class="wp-block-paragraph">URLの一部を変数として組み立てたいケースもあります。<code>&</code> で文字列を連結すれば、セル値を組み込んだURLが作れますよ。</p>



<pre class="wp-block-code"><code>=WEBSERVICE(&quot;https://api.example.com/weather?city=&quot; &amp; A1)</code></pre>



<p class="wp-block-paragraph">A1セルに「tokyo」と入れれば <code>?city=tokyo</code>、「osaka」と入れれば <code>?city=osaka</code> のURLにアクセスできます。</p>



<p class="wp-block-paragraph">ただし日本語を含む場合は、後述のENCODEURL関数でエンコードする必要があります。半角英数字だけなら、このシンプルな連結で問題ありませんよ。</p>



<h2 class="wp-block-heading"><span id="toc14">ExcelのWEBSERVICE関数の実践的な使い方・応用例</span></h2>



<p class="wp-block-paragraph">基本がわかったところで、実務で使う応用例を3つ紹介します。</p>



<h3 class="wp-block-heading"><span id="toc15">FILTERXML関数と組み合わせてXMLから値を抜き出す</span></h3>



<p class="wp-block-paragraph">WEBSERVICE関数の一番メジャーな使い方が、FILTERXML関数との組み合わせです。取得したXMLから、XPathで指定した要素だけを抜き出せます。</p>



<pre class="wp-block-code"><code>=FILTERXML(WEBSERVICE(&quot;URL&quot;), &quot;XPath&quot;)</code></pre>



<p class="wp-block-paragraph">たとえばRSSフィードの最新記事タイトルを1件取得するなら、次のように書きます。</p>



<pre class="wp-block-code"><code>=FILTERXML(WEBSERVICE(&quot;https://news.yahoo.co.jp/rss/topics/top-picks.xml&quot;), &quot;//item/title&quot;)</code></pre>



<p class="wp-block-paragraph">Microsoft 365やExcel 2021以降ならスピル機能で複数行に展開されますよ。Excel 2013〜2019では配列数式として入力してください。</p>



<p class="wp-block-paragraph">XPathの書き方は、<a href="https://mashukabu.com/excel-function-howto-use-filterxml/">ExcelのFILTERXML関数の使い方</a> で詳しく解説しています。</p>



<h3 class="wp-block-heading"><span id="toc16">ENCODEURL関数で日本語URLをエンコードする</span></h3>



<p class="wp-block-paragraph">URLに日本語や記号を含める場合は、ENCODEURL関数でエンコードしてから渡します。</p>



<pre class="wp-block-code"><code>=WEBSERVICE(&quot;https://api.example.com/search?q=&quot; &amp; ENCODEURL(A1))</code></pre>



<p class="wp-block-paragraph">A1に「経理処理」と入れた場合、ENCODEURL関数が「%E7%B5%8C%E7%90%86%E5%87%A6%E7%90%86」に変換してくれます。これでサーバー側でも正しく受け取れますよ。</p>



<p class="wp-block-paragraph">日本語を含むURLを直接 WEBSERVICE に渡すと、サーバーによっては<strong>文字化けや400エラー</strong>になることがあります。<strong>日本語が絡むときは必ず ENCODEURL を通す</strong>のがセオリーです。</p>



<p class="wp-block-paragraph">詳しくは <a href="https://mashukabu.com/excel-function-howto-use-encodeurl/">ExcelのENCODEURL関数の使い方</a> を参考にしてください。</p>



<h3 class="wp-block-heading"><span id="toc17">為替レート取得の定番パターン</span></h3>



<p class="wp-block-paragraph">Excelで為替レートを自動取得するパターンもよく使われます。無料の為替APIを使った例です。</p>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>内容</th></tr></thead><tbody><tr><td>A1</td><td><code>USD</code></td></tr><tr><td>A2</td><td><code>JPY</code></td></tr><tr><td>B1</td><td><code>=FILTERXML(WEBSERVICE("https://www.floatrates.com/daily/" & LOWER(A1) & ".xml"), "//item[targetCurrency='" & A2 & "']/exchangeRate")</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">これで「1USD＝何JPY」の為替レートが取れますよ。</p>



<p class="wp-block-paragraph">セルの値を変えれば他の通貨ペアにも対応できるので、<strong>為替計算シートのテンプレート</strong>として使いやすいですね。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>WEBSERVICE関数は、シートを開くたびや再計算のたびにAPIへアクセスします。リクエスト頻度に制限のあるAPIでは、意図せず制限に引っかかる可能性があるので注意してくださいね。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc18">WEBSERVICE関数が廃止扱いになった背景と現状</span></h2>



<p class="wp-block-paragraph">2019年12月以降のMicrosoft 365では、WEBSERVICE関数が廃止扱い（deprecated）になっています。ここは実務で必ず知っておきたいポイントですよ。</p>



<h3 class="wp-block-heading"><span id="toc19">廃止扱いの具体的な挙動</span></h3>



<p class="wp-block-paragraph">「廃止扱い」と聞くと「もう使えないの？」と思うかもしれませんが、実際の挙動はもう少し複雑です。</p>



<figure class="wp-block-table"><table><thead><tr><th>状況</th><th>挙動</th></tr></thead><tbody><tr><td>既存ファイルに書かれたWEBSERVICE関数</td><td>そのまま動作する（計算される）</td></tr><tr><td>新規ファイルで入力</td><td>関数名が認識されず <code>#NAME?</code> エラーになる場合がある</td></tr><tr><td>組織ポリシーでブロック</td><td>管理者が無効化している場合は使えない</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">つまり、<strong>過去に作ったファイルは動くが、新規に作るファイルでは使えない</strong>というのが基本的な状況です。</p>



<p class="wp-block-paragraph">Excel 2013〜2021（パッケージ版）やMac版では今でも普通に使えるので、Microsoft 365限定の話ですよ。</p>



<h3 class="wp-block-heading"><span id="toc20">廃止された理由</span></h3>



<p class="wp-block-paragraph">Microsoftが WEBSERVICE 関数を廃止扱いにした理由は、大きく2つあります。</p>



<ol class="wp-block-list"><li><strong>セキュリティ上の懸念</strong>: 悪意のあるURLをセルに埋め込む攻撃ベクトルになりうる</li><li><strong>代替手段の成熟</strong>: Power Query が標準搭載され、より安全で高機能なデータ取得が可能になった</li></ol>



<p class="wp-block-paragraph">要するに、「セキュリティリスクが高く、もっと良い代替手段があるから引退させる」という判断ですね。</p>



<h3 class="wp-block-heading"><span id="toc21">実務での推奨方針</span></h3>



<p class="wp-block-paragraph">これから新しく作る業務ファイルでは、<strong>WEBSERVICE関数よりもPower Queryを使うのがおすすめ</strong>です。</p>



<p class="wp-block-paragraph">ただし、次のようなケースでは引き続きWEBSERVICE関数が有効ですよ。</p>



<ul class="wp-block-list"><li>過去に作った既存ファイルのメンテナンス</li><li>Excel 2016/2019/2021のパッケージ版を使っている環境</li><li>シンプルなRSS取得など軽い用途</li><li>学習目的やプロトタイピング</li></ul>



<p class="wp-block-paragraph">仕事で長期運用するシートなら、次のセクションで紹介するPower Queryへの移行を検討してくださいね。</p>



<h2 class="wp-block-heading"><span id="toc22">WEBSERVICE関数の代替手段</span></h2>



<p class="wp-block-paragraph">WEBSERVICE関数の代わりとして、Excelには複数の選択肢があります。用途に応じて使い分けましょう。</p>



<h3 class="wp-block-heading"><span id="toc23">Power Queryを使う方法</span></h3>



<p class="wp-block-paragraph">一番おすすめなのが <strong>Power Query</strong>（データ > データの取得）です。Microsoft 365・Excel 2016以降に標準搭載されています。</p>



<p class="wp-block-paragraph">Power Queryには、次のようなメリットがありますよ。</p>



<ul class="wp-block-list"><li>JSON・XML・CSV・HTMLなど多様な形式に対応</li><li>認証付きAPIに対応（OAuth・Basic認証など）</li><li>32,767文字制限なし</li><li>データ整形（列追加・フィルタ・結合）まで一貫して処理できる</li><li>定期更新のスケジュール設定が可能</li></ul>



<p class="wp-block-paragraph">手順は「データ」タブ →「データの取得」→「Webから」→ URLを入力、という流れです。GUIで操作できるので、関数を書くより直感的ですよ。</p>



<h3 class="wp-block-heading"><span id="toc24">データ型「株価・地理」機能を使う</span></h3>



<p class="wp-block-paragraph">Microsoft 365には「株価」「地理」という<strong>データ型機能</strong>があります。リンクされたデータ型とも呼ばれます。</p>



<figure class="wp-block-table"><table><thead><tr><th>データ型</th><th>取得できる情報</th></tr></thead><tbody><tr><td>株価</td><td>株価、時価総額、為替レート、変化率など</td></tr><tr><td>地理</td><td>人口、首都、GDP、通貨、タイムゾーンなど</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">使い方は簡単で、セルに「USD/JPY」と入れて「データ > 株価」を選ぶだけ。Excelが自動でデータを引き込んできますよ。</p>



<p class="wp-block-paragraph">株価や為替レートだけなら、WEBSERVICE関数よりもこちらの方が手軽で安全です。</p>



<h3 class="wp-block-heading"><span id="toc25">VBAのXMLHTTPを使う方法</span></h3>



<p class="wp-block-paragraph">より高度な制御が必要なら、VBAの <code>MSXML2.XMLHTTP</code> を使う方法もあります。Excelのマクロから直接HTTPリクエストを投げられますよ。</p>



<pre class="wp-block-code"><code>Sub getApiData()
    '--- 変数宣言 ---
    Dim http As Object
    Dim url As String

    '--- 取得先URL ---
    url = &quot;https://api.example.com/data.xml&quot;

    '--- HTTPリクエスト送信 ---
    Set http = CreateObject(&quot;MSXML2.XMLHTTP&quot;)
    http.Open &quot;GET&quot;, url, False
    http.send

    '--- 結果をセルに書き込み ---
    Range(&quot;A1&quot;).Value = http.responseText
End Sub</code></pre>



<p class="wp-block-paragraph">認証ヘッダーの追加や、POSTリクエストの送信、長大なレスポンスの処理など、WEBSERVICE関数ではできない処理が可能ですよ。</p>



<p class="wp-block-paragraph">ただしVBAはマクロ有効ブック（.xlsm）が必要で、組織によってはマクロブロックがかかっています。<strong>Power Queryが使えるならPower Queryを優先</strong>するのが無難ですね。</p>



<h2 class="wp-block-heading"><span id="toc26">WEBSERVICE関数でよくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">実際にWEBSERVICE関数を使うと、エラーに遭遇することがあります。原因と対処法を表でまとめておきますね。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー/症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE!</td><td>URLがHTTP/HTTPS以外、または不正な形式</td><td>httpsで始まる正しいURLを指定する</td></tr><tr><td>#VALUE!</td><td>サーバーが200以外のHTTPステータスを返した</td><td>URLをブラウザで開いて動作確認する</td></tr><tr><td>#VALUE!</td><td>タイムアウト（30秒以上応答なし）</td><td>APIの応答速度を確認する、キャッシュを検討</td></tr><tr><td>#N/A</td><td>Excel for the web・Mobileで実行している</td><td>デスクトップ版Excelで開く</td></tr><tr><td>#NAME?</td><td>Microsoft 365で新規ファイル利用（廃止扱い）</td><td>Power Queryなど代替手段を使う</td></tr><tr><td>文字化け</td><td>日本語URLを直接指定している</td><td>ENCODEURL関数でエンコードする</td></tr><tr><td>結果が切れる</td><td>32,767文字の上限を超えている</td><td>Power QueryかVBAで取得する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc27">#VALUE!エラーの原因と対処</span></h3>



<p class="wp-block-paragraph">一番多いのが #VALUE! エラーです。主な原因は3つあります。</p>



<p class="wp-block-paragraph"><strong>パターン1: URLの形式が不正</strong></p>



<pre class="wp-block-code"><code>=WEBSERVICE(&quot;example.com/data.xml&quot;)</code></pre>



<p class="wp-block-paragraph"><code>https://</code> のようなスキームが抜けていると #VALUE! になります。必ず <code>https://</code> や <code>http://</code> から始まるフルURLを指定してくださいね。</p>



<p class="wp-block-paragraph"><strong>パターン2: サーバーが4xx・5xx応答を返した</strong></p>



<p class="wp-block-paragraph">URL自体は正しくても、サーバー側で認証エラー（401）やNotFound（404）を返すと #VALUE! が返ります。</p>



<p class="wp-block-paragraph">まずはブラウザで同じURLを開き、<strong>画面が正しく表示されるか</strong>を確認しましょう。ブラウザで見られないURLはWEBSERVICE関数でも取得できません。</p>



<p class="wp-block-paragraph"><strong>パターン3: タイムアウト</strong></p>



<p class="wp-block-paragraph">WEBSERVICE関数には30秒程度のタイムアウトがあります。応答の遅いサーバーではタイムアウトでエラーになりますよ。</p>



<h3 class="wp-block-heading"><span id="toc28">#NAME?エラーの原因と対処</span></h3>



<p class="wp-block-paragraph">Microsoft 365で新規ファイルに入力したときに #NAME? エラーになったら、これが <strong>廃止扱い</strong>の影響です。</p>



<pre class="wp-block-code"><code>=WEBSERVICE(&quot;https://example.com&quot;)</code></pre>



<p class="wp-block-paragraph">Excelが「この関数は知らない」と判断してエラーを返してきます。この場合は <strong>Power Queryを使うしかありません</strong>。</p>



<p class="wp-block-paragraph">古いExcelファイル（.xls形式、2019年より前に作ったファイル）で開き直せば動く場合もありますが、基本は代替手段に移行するのがおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc29">文字化けや日本語URLの対処</span></h3>



<p class="wp-block-paragraph">URLに日本語や記号が含まれるとき、ENCODEURL関数を通さないと文字化けしますよ。</p>



<pre class="wp-block-code"><code># 誤った書き方
=WEBSERVICE(&quot;https://api.example.com/search?q=経理処理&quot;)

# 正しい書き方
=WEBSERVICE(&quot;https://api.example.com/search?q=&quot; &amp; ENCODEURL(&quot;経理処理&quot;))</code></pre>



<p class="wp-block-paragraph">ENCODEURL関数は日本語・記号・スペースなどを「%XX」形式に変換してくれます。<strong>URLに変動する値を埋め込むときは必ずENCODEURLを通す</strong>と覚えておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc30">WEBSERVICE・FILTERXML・ENCODEURLの3点セット連携</span></h2>



<p class="wp-block-paragraph">最後に、Web関数3点セットの定番パターンをまとめておきますね。この形をテンプレとして覚えると、応用範囲がグッと広がりますよ。</p>



<h3 class="wp-block-heading"><span id="toc31">基本テンプレート</span></h3>



<pre class="wp-block-code"><code>=FILTERXML(WEBSERVICE(ENCODEURL(URL)), &quot;XPath&quot;)</code></pre>



<p class="wp-block-paragraph">処理の流れはこうです。</p>



<ol class="wp-block-list"><li>ENCODEURLでURLを安全な形式にエンコード</li><li>WEBSERVICEでエンコード済みURLにアクセスしてXMLを取得</li><li>FILTERXMLでXPathを使って必要な要素を抜き出す</li></ol>



<p class="wp-block-paragraph">それぞれの関数の役割を分担することで、<strong>どんなWebデータでも扱える万能パターン</strong>になります。</p>



<h3 class="wp-block-heading"><span id="toc32">実務での使い分け早見表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>やりたいこと</th><th>使う関数</th></tr></thead><tbody><tr><td>URLでWebデータを丸ごと取得したい</td><td>WEBSERVICE のみ</td></tr><tr><td>取得したXMLから一部だけ抜き出したい</td><td>WEBSERVICE + FILTERXML</td></tr><tr><td>URLに日本語・記号を含める必要がある</td><td>ENCODEURL を追加</td></tr><tr><td>JSON形式のAPIを使いたい</td><td>Power Query（WEBSERVICEはJSON非対応）</td></tr><tr><td>認証付きAPIを使いたい</td><td>Power Query または VBA</td></tr><tr><td>32,767文字を超える大量データ</td><td>Power Query または VBA</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">WEBSERVICE関数が得意なのは「<strong>公開されているシンプルなXML/RSSデータの取得</strong>」です。JSONや認証付きAPI、大量データはPower Queryに任せるのが賢い使い分けですよ。</p>



<h2 class="wp-block-heading"><span id="toc33">まとめ｜ExcelのWEBSERVICE関数は用途を見極めて使おう</span></h2>



<p class="wp-block-paragraph">ExcelのWEBSERVICE関数の使い方を、基本から応用まで一通り紹介してきました。要点をおさらいしておきますね。</p>



<ul class="wp-block-list"><li>WEBSERVICE関数は <strong>URLを指定してWebからデータを取得する</strong> Web関数</li><li>構文は <code>=WEBSERVICE(URL)</code>。引数はURL1つだけとシンプル</li><li>戻り値は<strong>生の文字列データ</strong>。最大32,767文字まで</li><li>HTTP/HTTPSのみ対応。FTP・認証付きAPIは不可</li><li>Excel 2013以降のデスクトップ版で利用可能。Webブラウザ版・Mobile版は非対応</li><li><strong>Microsoft 365では2019年12月以降、新規ファイルでの利用が廃止扱い</strong></li><li>FILTERXML・ENCODEURLとセットで使うのが定番パターン</li><li>新規の業務ファイルでは <strong>Power Query や データ型機能</strong> の利用が推奨</li></ul>



<p class="wp-block-paragraph">「URLでデータを取れる時代は終わりつつある」と捉えて、<strong>既存ファイルのメンテナンスではWEBSERVICE、新規ではPower Query</strong>と使い分けるのが実務的な判断ですよ。</p>



<p class="wp-block-paragraph">Web関数を使いこなせると、Excelの活用シーンがグッと広がります。下の関連記事もあわせて読んで、Excelのデータ連携スキルを高めてみてくださいね。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-filterxml/">ExcelのFILTERXML関数の使い方</a> — 取得したXMLの解析に必須</li><li><a href="https://mashukabu.com/excel-function-howto-use-encodeurl/">ExcelのENCODEURL関数の使い方</a> — 日本語URLのエンコードに必須</li><li><a href="https://mashukabu.com/excel-function-alphabetical-order/">Excel関数一覧（アルファベット順）</a> — 関数全体を俯瞰したいとき</li><li><a href="https://mashukabu.com/excel-function-list-by-function/">Excel関数 機能別リファレンス</a> — 目的から関数を探したいとき</li></ul>



<p class="wp-block-paragraph">Webデータを自在に扱えるビジネスパーソンを目指していきましょうね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-webservice/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのENCODEURL関数の使い方｜日本語URLを文字化けさせずにリンク化する</title>
		<link>https://mashukabu.com/spreadsheet-encodeurl-function/</link>
					<comments>https://mashukabu.com/spreadsheet-encodeurl-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 26 Mar 2026 11:46:36 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ENCODEURL関数]]></category>
		<category><![CDATA[Sheets独自]]></category>
		<category><![CDATA[URLエンコード]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[パーセントエンコーディング]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5355</guid>

					<description><![CDATA[GoogleスプレッドシートのENCODEURL関数の使い方を初心者向けに解説。日本語URLのエンコード、Google検索・マップ・X（Twitter）共有URLの自動生成、HYPERLINK関数との組み合わせ、ExcelのENCODEURLとの違いまで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">スプレッドシートで日本語を含むURLを作りたいのに、貼り付けると文字化けする・リンクが正しく開かない、という経験はありませんか。</p>



<p class="wp-block-paragraph">URLに日本語や記号が含まれていると、ブラウザが解釈できる「%E3%81%82」のような形式（パーセントエンコーディング）に変換する必要があります。これを手作業でやるのは現実的ではありません。</p>



<p class="wp-block-paragraph">そんなときに使えるのが<strong>ENCODEURL関数</strong>です。セルの文字列を渡すだけで、自動でURLエンコードしてくれる関数で、検索URLや地図リンクの自動生成にそのまま使えます。</p>



<p class="wp-block-paragraph">この記事では、ENCODEURL関数の構文から、Google検索・マップ・X（Twitter）共有URLの自動生成、HYPERLINK関数との組み合わせ、ExcelとSheetsで挙動が違う点までまとめて解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのENCODEURL関数とは？</a></li><li><a href="#toc2" tabindex="0">ENCODEURL関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc5" tabindex="0">ENCODEURL関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">日本語テキストをURLエンコードする</a></li><li><a href="#toc7" tabindex="0">記号・スペースのエンコード</a></li><li><a href="#toc8" tabindex="0">エンコードされる文字と、されない文字を整理する</a></li></ol></li><li><a href="#toc9" tabindex="0">実務で使えるENCODEURL関数の活用例</a><ol><li><a href="#toc10" tabindex="0">Google検索URLを自動生成する</a></li><li><a href="#toc11" tabindex="0">Googleマップ検索URLを作成する</a></li><li><a href="#toc12" tabindex="0">X（旧Twitter）の投稿共有URLを作る</a></li><li><a href="#toc13" tabindex="0">LINEで送る・メール本文の共有リンクを作る</a></li><li><a href="#toc14" tabindex="0">HYPERLINK関数と組み合わせてクリック可能なリンクにする</a></li><li><a href="#toc15" tabindex="0">複数パラメータのURLを組み立てる</a></li><li><a href="#toc16" tabindex="0">LET関数で長いURL式を整理する</a></li></ol></li><li><a href="#toc17" tabindex="0">ENCODEURL関数のよくあるエラーと対処法</a><ol><li><a href="#toc18" tabindex="0">空セルでもURLベースだけ残ってしまうのを防ぐ</a></li><li><a href="#toc19" tabindex="0">全角スペース・全角記号の混入チェック</a></li><li><a href="#toc20" tabindex="0">セルの中身が「数式扱い」になっていないか確認する</a></li></ol></li><li><a href="#toc21" tabindex="0">ExcelのENCODEURL関数との違い</a></li><li><a href="#toc22" tabindex="0">ENCODEURL関数のよくある質問（FAQ）</a><ol><li><a href="#toc23" tabindex="0">Q. ENCODEURL関数でデコード（逆変換）はできる？</a></li><li><a href="#toc24" tabindex="0">Q. IMPORTDATA関数やIMPORTXML関数とENCODEURL関数を組み合わせて使える？</a></li><li><a href="#toc25" tabindex="0">Q. スマートフォンのスプレッドシートアプリでもENCODEURL関数は使える？</a></li><li><a href="#toc26" tabindex="0">Q. 日本語URLをENCODEURLで変換したら長くなりすぎた。短縮できる？</a></li></ol></li><li><a href="#toc27" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのENCODEURL関数とは？</span></h2>



<p class="wp-block-paragraph">ENCODEURL関数（読み方: エンコードユーアールエル）は、<strong>文字列をURLエンコード（パーセントエンコーディング）する関数</strong>です。</p>



<p class="wp-block-paragraph">名前は「ENCODE（変換する）」+「URL」で、URLに使える形式に文字列を変換するという意味そのままです。</p>



<p class="wp-block-paragraph">たとえば「東京都」という文字列を渡すと、<code>%E6%9D%B1%E4%BA%AC%E9%83%BD</code> に変換されます。これがパーセントエンコーディング（百分率記号を使った符号化）の結果です。</p>



<p class="wp-block-paragraph">ENCODEURL関数でできることをまとめると次のとおりです。</p>



<ul class="wp-block-list"><li>日本語テキストをURL用の文字列に変換する</li><li>スペース・&#038;・?・# など、URLで意味を持つ記号を自動変換する</li><li>他の関数と組み合わせて検索URLやAPIリクエストURLを自動生成する</li></ul>



<p class="wp-block-paragraph"><strong>NOTE</strong></p>



<p class="wp-block-paragraph">ENCODEURL関数は<strong>Googleスプレッドシートで安定して使える関数</strong>です。ExcelにもENCODEURL関数はありますが、Windows版限定でMac版Excelでは使用できません。詳しくは後半の「ExcelのENCODEURL関数との違い」セクションで解説しています。</p>



<h2 class="wp-block-heading"><span id="toc2">ENCODEURL関数の書き方（構文と引数）</span></h2>



<h3 class="wp-block-heading"><span id="toc3">基本構文</span></h3>



<pre class="wp-block-code"><code>=ENCODEURL(テキスト)</code></pre>



<p class="wp-block-paragraph">カッコの中にエンコードしたい文字列を指定します。引数は1つだけなので、構文としては非常にシンプルです。</p>



<h3 class="wp-block-heading"><span id="toc4">引数の説明</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>テキスト</td><td>必須</td><td>URLエンコードしたい文字列。セル参照または直接入力</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">文字列を直接入力する場合はダブルクォーテーション（<code>"</code>）で囲みます。セル参照の場合はそのまま指定できます。</p>



<pre class="wp-block-code"><code>=ENCODEURL(&quot;東京都&quot;)
=ENCODEURL(A2)</code></pre>



<p class="wp-block-paragraph"><strong>TIP</strong></p>



<p class="wp-block-paragraph">英数字と一部の記号（ハイフン <code>-</code>、アンダースコア <code>_</code>、ピリオド <code>.</code>、チルダ <code>~</code>）はエンコードされずそのまま返ります。これは <a href="https://datatracker.ietf.org/doc/html/rfc3986">RFC 3986</a> というURL仕様で「Unreserved Characters（予約されていない文字）」として定義されている4種類です。</p>



<h2 class="wp-block-heading"><span id="toc5">ENCODEURL関数の基本的な使い方</span></h2>



<h3 class="wp-block-heading"><span id="toc6">日本語テキストをURLエンコードする</span></h3>



<p class="wp-block-paragraph">まずは基本的な使い方を見てみましょう。A列に日本語テキストを入れ、B列でENCODEURL関数を使います。</p>



<figure class="wp-block-table"><table><thead><tr><th>行</th><th>A列（元テキスト）</th><th>B列（数式）</th><th>B列（結果）</th></tr></thead><tbody><tr><td>2行目</td><td>東京都</td><td><code>=ENCODEURL(A2)</code></td><td>%E6%9D%B1%E4%BA%AC%E9%83%BD</td></tr><tr><td>3行目</td><td>渋谷区</td><td><code>=ENCODEURL(A3)</code></td><td>%E6%B8%8B%E8%B0%B7%E5%8C%BA</td></tr><tr><td>4行目</td><td>Hello</td><td><code>=ENCODEURL(A4)</code></td><td>Hello</td></tr><tr><td>5行目</td><td>Hello World</td><td><code>=ENCODEURL(A5)</code></td><td>Hello%20World</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「Hello」のように半角英数字だけの場合はそのまま返ります。半角スペースを含む「Hello World」は <code>%20</code> に変換されます。エンコードが必要な文字だけが変換される仕組みです。</p>



<h3 class="wp-block-heading"><span id="toc7">記号・スペースのエンコード</span></h3>



<p class="wp-block-paragraph">URLでよく使われる記号やスペースがどう変換されるかを一覧で確認しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>元の文字</th><th>変換後</th><th>エンコードされる理由</th></tr></thead><tbody><tr><td>半角スペース</td><td>%20</td><td>URLの区切り文字と区別するため</td></tr><tr><td>&#038;</td><td>%26</td><td>クエリパラメータ区切りと区別するため</td></tr><tr><td>=</td><td>%3D</td><td>キーと値の区切りと区別するため</td></tr><tr><td>?</td><td>%3F</td><td>クエリ開始文字と区別するため</td></tr><tr><td>#</td><td>%23</td><td>フラグメント（ページ内アンカー）文字と区別するため</td></tr><tr><td>/</td><td>%2F</td><td>パス区切りと区別するため</td></tr><tr><td>+</td><td>%2B</td><td>「+」自体が古い仕様でスペースを表すことがあるため</td></tr><tr><td>@</td><td>%40</td><td>メールアドレス・ユーザー情報の区切りと区別するため</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">URLの構造に使われる記号は、パラメータの「値」として渡すときにエンコードする必要があります。ENCODEURL関数はこれらをまとめて自動処理してくれます。</p>



<h3 class="wp-block-heading"><span id="toc8">エンコードされる文字と、されない文字を整理する</span></h3>



<p class="wp-block-paragraph">「結局どの文字がエンコードされて、どの文字がされないのか」は最初によく混乱するポイントです。次のように覚えておくとシンプルです。</p>



<ul class="wp-block-list"><li><strong>エンコードされない</strong>: 半角英数字（A-Z、a-z、0-9）と <code>- _ . ~</code> の4種類</li><li><strong>エンコードされる</strong>: それ以外すべて（日本語・全角文字・記号・スペース）</li></ul>



<p class="wp-block-paragraph">つまり「URLにそのまま入れて100%安全な文字」だけが残り、それ以外は念のためエンコードされる、という仕様です。安全側に倒した設計と覚えておくと迷いません。</p>



<h2 class="wp-block-heading"><span id="toc9">実務で使えるENCODEURL関数の活用例</span></h2>



<h3 class="wp-block-heading"><span id="toc10">Google検索URLを自動生成する</span></h3>



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



<p class="wp-block-paragraph">A列に検索キーワードを入れ、B列で検索URLを組み立てます。</p>



<pre class="wp-block-code"><code>=&quot;https://www.google.com/search?q=&quot;&amp;ENCODEURL(A2)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>行</th><th>A列（キーワード）</th><th>B列（生成されたURL）</th></tr></thead><tbody><tr><td>2行目</td><td>スプレッドシート 使い方</td><td>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</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">生成されたURLをブラウザに貼り付ければ、そのキーワードの検索結果が表示されます。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-hyperlink-function/">HYPERLINK関数</a> と組み合わせれば、セルをクリックするだけで検索結果に飛べるリンクも作れます。</p>



<pre class="wp-block-code"><code>=HYPERLINK(&quot;https://www.google.com/search?q=&quot;&amp;ENCODEURL(A2), A2&amp;&quot;を検索&quot;)</code></pre>



<p class="wp-block-paragraph">これで「スプレッドシート 使い方を検索」というリンクテキストが表示され、クリックするとGoogle検索が開きます。</p>



<h3 class="wp-block-heading"><span id="toc11">Googleマップ検索URLを作成する</span></h3>



<p class="wp-block-paragraph">住所リストから地図検索リンクを一括で作成できます。営業先リストや店舗一覧の管理で重宝するパターンです。</p>



<pre class="wp-block-code"><code>=HYPERLINK(&quot;https://www.google.com/maps/search/&quot;&amp;ENCODEURL(A2), &quot;地図を開く&quot;)</code></pre>



<p class="wp-block-paragraph">A列に住所を入れておけば、「地図を開く」をクリックするだけでGoogleマップが開きます。</p>



<p class="wp-block-paragraph">ピン位置を厳密に固定したい場合は <code>query</code> パラメータ形式も使えます。</p>



<pre class="wp-block-code"><code>=HYPERLINK(&quot;https://www.google.com/maps/search/?api=1&amp;query=&quot;&amp;ENCODEURL(A2), &quot;地図を開く&quot;)</code></pre>



<p class="wp-block-paragraph">こちらはGoogleが公式に推奨している <a href="https://developers.google.com/maps/documentation/urls/get-started">Maps URLs API の形式</a> で、長期的に安定して動作します。</p>



<h3 class="wp-block-heading"><span id="toc12">X（旧Twitter）の投稿共有URLを作る</span></h3>



<p class="wp-block-paragraph">社内ナレッジやキャンペーン情報を、ワンクリックでX投稿画面に飛べる「シェアリンク」として共有できます。</p>



<pre class="wp-block-code"><code>=HYPERLINK(&quot;https://twitter.com/intent/tweet?text=&quot;&amp;ENCODEURL(A2&amp;&quot; &quot;&amp;B2), &quot;Xで共有&quot;)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>行</th><th>A列（タイトル）</th><th>B列（URL）</th><th>C列（生成リンク）</th></tr></thead><tbody><tr><td>2行目</td><td>新商品リリースのお知らせ</td><td>https://example.com/news/123</td><td>Xで共有</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">C列をクリックすると、本文に「新商品リリースのお知らせ https://example.com/news/123」が入った投稿画面が開きます。社内のSNS担当が複数の投稿候補を一括管理するときに便利です。</p>



<h3 class="wp-block-heading"><span id="toc13">LINEで送る・メール本文の共有リンクを作る</span></h3>



<p class="wp-block-paragraph">同じ要領で、LINEやメールの共有リンクも自動生成できます。</p>



<pre class="wp-block-code"><code>LINE: =HYPERLINK(&quot;https://line.me/R/msg/text/?&quot;&amp;ENCODEURL(A2), &quot;LINEで送る&quot;)
メール: =HYPERLINK(&quot;mailto:?subject=&quot;&amp;ENCODEURL(A2)&amp;&quot;&amp;body=&quot;&amp;ENCODEURL(B2), &quot;メール作成&quot;)</code></pre>



<p class="wp-block-paragraph">LINEは <code>https://line.me/R/msg/text/?</code> に続けてメッセージ本文をエンコードして渡します。メールは件名と本文をそれぞれエンコードして <code>mailto:</code> リンクに組み込みます。</p>



<p class="wp-block-paragraph">問い合わせ対応のテンプレ文をシートで管理しておき、案件ごとに必要なメールリンクを生成する、といった運用に展開できます。</p>



<h3 class="wp-block-heading"><span id="toc14">HYPERLINK関数と組み合わせてクリック可能なリンクにする</span></h3>



<p class="wp-block-paragraph">ENCODEURL関数で生成したURLは、そのままではただの文字列です。クリックして開けるリンクにするには <a href="https://mashukabu.com/spreadsheet-hyperlink-function/">HYPERLINK関数</a> と組み合わせます。</p>



<p class="wp-block-paragraph">基本の組み合わせパターンはこちらです。</p>



<pre class="wp-block-code"><code>=HYPERLINK(&quot;ベースURL&quot;&amp;ENCODEURL(パラメータ), &quot;表示テキスト&quot;)</code></pre>



<p class="wp-block-paragraph">たとえば、商品名からAmazon検索リンクを作る場合は次のように書きます。</p>



<pre class="wp-block-code"><code>=HYPERLINK(&quot;https://www.amazon.co.jp/s?k=&quot;&amp;ENCODEURL(A2), A2&amp;&quot;を検索&quot;)</code></pre>



<p class="wp-block-paragraph"><code>&</code>（アンパサンド）で文字列を結合しています。文字列結合の数が多くなって読みづらい場合は <a href="https://mashukabu.com/spreadsheet-concatenate-function/">CONCATENATE関数</a> を使うと意図が明確になります。</p>



<h3 class="wp-block-heading"><span id="toc15">複数パラメータのURLを組み立てる</span></h3>



<p class="wp-block-paragraph">クエリパラメータが複数あるURLも組み立てられます。<strong>各パラメータの「値」だけをENCODEURLでエンコードする</strong>のがポイントです。</p>



<p class="wp-block-paragraph">URLの <code>?key1=値1&key2=値2</code> という形式を作るには、次のように書きます。</p>



<pre class="wp-block-code"><code>=&quot;https://example.com/api?name=&quot;&amp;ENCODEURL(A2)&amp;&quot;&amp;city=&quot;&amp;ENCODEURL(B2)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>行</th><th>A列（名前）</th><th>B列（都市）</th><th>C列（生成URL）</th></tr></thead><tbody><tr><td>2行目</td><td>田中太郎</td><td>東京都</td><td>https://example.com/api?name=%E7%94%B0%E4%B8%AD%E5%A4%AA%E9%83%8E&#038;city=%E6%9D%B1%E4%BA%AC%E9%83%BD</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">URLの構造部分（<code>https://</code>、<code>?</code>、<code>&</code>、<code>=</code>）はエンコードせず、値の部分だけをENCODEURLで変換します。ここを取り違えると <code>?</code> まで <code>%3F</code> に変換されてURLが壊れるので注意してください。</p>



<h3 class="wp-block-heading"><span id="toc16">LET関数で長いURL式を整理する</span></h3>



<p class="wp-block-paragraph">組み立てるURLが長くなると、可読性も保守性も一気に落ちます。そんなときは <a href="https://mashukabu.com/spreadsheet-let-function/">LET関数</a> を使って中間結果に名前を付けると見通しがよくなります。</p>



<pre class="wp-block-code"><code>=LET(
  base, &quot;https://example.com/api&quot;,
  name, ENCODEURL(A2),
  city, ENCODEURL(B2),
  base &amp; &quot;?name=&quot; &amp; name &amp; &quot;&amp;city=&quot; &amp; city
)</code></pre>



<p class="wp-block-paragraph">「ベースURL」「エンコード済みの名前」「エンコード済みの都市」を変数として宣言してから、最後に1行で組み立てる構造です。後から第3パラメータを追加するときも変数宣言を1行足すだけで済みます。</p>



<h2 class="wp-block-heading"><span id="toc17">ENCODEURL関数のよくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">ENCODEURL関数は引数が1つだけなので構文エラーは少ないですが、運用で詰まりやすいケースをまとめておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>状況</th><th>結果</th><th>対処法</th></tr></thead><tbody><tr><td>引数なし <code>=ENCODEURL()</code></td><td><code>#N/A</code> または数式エラー</td><td>テキストまたはセル参照を指定する</td></tr><tr><td>空のセルを参照</td><td>空文字列（空白）</td><td>IF関数で空セルチェックを入れる</td></tr><tr><td>数値を渡した場合</td><td>数値がそのまま文字列として返る</td><td>意図どおりならそのままでOK</td></tr><tr><td>URL全体をまるごとエンコード</td><td><code>https://...</code> の <code>:</code> や <code>/</code> まで変換される</td><td>値の部分だけを対象にする</td></tr><tr><td>全角スペース混入</td><td><code>%E3%80%80</code> に変換される</td><td><a href="https://mashukabu.com/spreadsheet-substitute-function/">SUBSTITUTE関数</a> で半角に統一してから渡す</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc18">空セルでもURLベースだけ残ってしまうのを防ぐ</span></h3>



<p class="wp-block-paragraph">空セルを参照したときに「<code>https://www.google.com/search?q=</code>」というURLのベース部分だけ残ってしまうと、押してもエラーページに飛ぶリンクになります。IF関数で分岐させましょう。</p>



<pre class="wp-block-code"><code>=IF(A2=&quot;&quot;,&quot;&quot;,HYPERLINK(&quot;https://www.google.com/search?q=&quot;&amp;ENCODEURL(A2), &quot;検索&quot;))</code></pre>



<p class="wp-block-paragraph">A2が空なら空白、値があれば検索リンクを表示します。実務ではこの形でテンプレ化しておくのが安全です。</p>



<h3 class="wp-block-heading"><span id="toc19">全角スペース・全角記号の混入チェック</span></h3>



<p class="wp-block-paragraph">ユーザー入力データには「全角スペース」「全角の <code>？</code> <code>＆</code>」が混ざることがあります。これらは見た目こそ似ていても文字コードとしては別物で、<code>%E3%80%80</code> のような長いエンコード結果になり、検索結果がヒットしないことがあります。</p>



<p class="wp-block-paragraph">事前に <a href="https://mashukabu.com/spreadsheet-substitute-function/">SUBSTITUTE関数</a> で半角に正規化してから渡すと安定します。</p>



<pre class="wp-block-code"><code>=ENCODEURL(SUBSTITUTE(A2,&quot;　&quot;,&quot; &quot;))</code></pre>



<p class="wp-block-paragraph"><code>SUBSTITUTE(A2,"　"," ")</code> で全角スペース（<code>"　"</code>）を半角スペース（<code>" "</code>）に置換しています。</p>



<h3 class="wp-block-heading"><span id="toc20">セルの中身が「数式扱い」になっていないか確認する</span></h3>



<p class="wp-block-paragraph">A列に <code>="123"</code> のような数式が入っていると、見た目は文字列でも参照したときに数値として渡されることがあります。意図しないエンコード結果になるときは、対象セルの中身を <a href="https://mashukabu.com/spreadsheet-cell-function/">CELL関数</a> で確認すると、データ型まで含めてチェックできます。</p>



<pre class="wp-block-code"><code>=CELL(&quot;type&quot;,A2)</code></pre>



<p class="wp-block-paragraph">戻り値が <code>"v"</code> なら数値、<code>"l"</code> なら文字列、<code>"b"</code> なら空白セル、と判定できます。</p>



<h2 class="wp-block-heading"><span id="toc21">ExcelのENCODEURL関数との違い</span></h2>



<p class="wp-block-paragraph">ExcelにもENCODEURL関数がありますが、対応環境に大きな違いがあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>Googleスプレッドシート</th><th>Excel</th></tr></thead><tbody><tr><td>対応環境</td><td>すべての環境（PC・スマホ・ブラウザ）</td><td>Windows版のみ（Mac版は非対応）</td></tr><tr><td>Web版</td><td>対応</td><td>Excel for the web は対応</td></tr><tr><td>構文</td><td><code>=ENCODEURL(テキスト)</code></td><td><code>=ENCODEURL(テキスト)</code></td></tr><tr><td>エンコード方式</td><td>UTF-8</td><td>UTF-8</td></tr><tr><td>関数カテゴリ</td><td>テキスト関数</td><td>Web関数</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">構文とエンコード方式は同じですが、対応環境が大きく違います。Mac環境で作業する方はスプレッドシートのほうが確実に使えます。</p>



<p class="wp-block-paragraph">ExcelのENCODEURL関数はWindowsのOS機能（URL Monikerと呼ばれるWindows標準のURL処理ライブラリ）に依存しているため、Mac版Excelでは <code>#NAME?</code> または <code>#VALUE!</code> エラーになります。</p>



<p class="wp-block-paragraph">Mac環境でURLエンコードが必要な場合は、Googleスプレッドシートを使うのがおすすめです。あるいは、Excelで作業せざるを得ない場合は、ChromeでスプレッドシートのENCODEURL関数を呼び出し、結果をコピペで持ち込む運用も現実的です。</p>



<h2 class="wp-block-heading"><span id="toc22">ENCODEURL関数のよくある質問（FAQ）</span></h2>



<p class="wp-block-paragraph">ENCODEURL関数を実務で使うときに、よく聞かれる質問をまとめました。</p>



<h3 class="wp-block-heading"><span id="toc23">Q. ENCODEURL関数でデコード（逆変換）はできる？</span></h3>



<p class="wp-block-paragraph">ENCODEURL関数は「エンコード（変換）」専用の関数なので、<code>%E6%9D%B1...</code> のようなエンコード済み文字列を元の日本語に戻す（デコードする）ことはできません。</p>



<p class="wp-block-paragraph">スプレッドシートには標準でURLデコード用の関数が用意されていないため、逆変換をしたい場合は次のどちらかを検討してください。</p>



<ul class="wp-block-list"><li>ブラウザのアドレスバーやオンラインのURLデコードツールに貼り付けて戻す</li><li>Apps Script（GAS）で <code>decodeURIComponent()</code> を使う自作関数を作る</li></ul>



<p class="wp-block-paragraph">実務では「元データ（日本語）はA列に残し、B列でENCODEURLしたものを使う」という設計にしておくと、そもそもデコードが不要になります。元テキストを捨てずに保持しておくのが安全です。</p>



<h3 class="wp-block-heading"><span id="toc24">Q. IMPORTDATA関数やIMPORTXML関数とENCODEURL関数を組み合わせて使える？</span></h3>



<p class="wp-block-paragraph">はい、相性が非常に良い組み合わせです。外部サイトからデータを取得する <a href="https://mashukabu.com/spreadsheet-importdata-function/">IMPORTDATA関数</a> や <a href="https://mashukabu.com/spreadsheet-importxml-function/">IMPORTXML関数</a> は、引数にURLを渡します。このURLに日本語の検索ワードを含めたいとき、ENCODEURLでエンコードした文字列を組み込みます。</p>



<p class="wp-block-paragraph">たとえば、検索キーワードを動的に変えてデータを取り込む場合は次のように書けます。</p>



<pre class="wp-block-code"><code>=IMPORTXML(&quot;https://example.com/search?q=&quot;&amp;ENCODEURL(A2), &quot;//div[@class='result']&quot;)</code></pre>



<p class="wp-block-paragraph">A2のキーワードを変えるだけで、取り込むデータが切り替わる仕組みです。日本語を直接URLに埋め込むと取得に失敗することがあるので、ENCODEURLでエンコードしてから渡すのが定番のパターンです。</p>



<p class="wp-block-paragraph">ただしIMPORT系関数は対象サイトの仕様変更に弱いので、取得できなくなったらまずURLが正しくエンコードされているかを確認するとよいでしょう。</p>



<h3 class="wp-block-heading"><span id="toc25">Q. スマートフォンのスプレッドシートアプリでもENCODEURL関数は使える？</span></h3>



<p class="wp-block-paragraph">はい、使えます。ENCODEURL関数はGoogleスプレッドシートの標準関数なので、iPhone・AndroidのGoogleスプレッドシートアプリでも、PCで作った数式がそのまま動作します。</p>



<p class="wp-block-paragraph">PCで <code>=HYPERLINK(...&ENCODEURL(A2),...)</code> の形でリンクを仕込んでおけば、スマホ側ではセルをタップするだけで検索やマップが開きます。外出先で営業リストの住所から地図を開く、といった使い方にも向いています。</p>



<p class="wp-block-paragraph">これはMac版Excelでは使えないENCODEURL関数との大きな違いです。マルチデバイスで安定して使える点はスプレッドシートの強みといえます。</p>



<h3 class="wp-block-heading"><span id="toc26">Q. 日本語URLをENCODEURLで変換したら長くなりすぎた。短縮できる？</span></h3>



<p class="wp-block-paragraph">ENCODEURL関数自体には、URLを短くする機能はありません。日本語1文字はUTF-8で <code>%XX%XX%XX</code> のように3つの組（9文字分）に展開されるため、エンコード後の文字列が元の数倍に膨らむのは仕様どおりの動作です。</p>



<p class="wp-block-paragraph">URLを短くしたい場合は、エンコードとは別の対策が必要です。</p>



<ul class="wp-block-list"><li>短縮URLサービス（Bitlyなど）に生成後のURLを通す</li><li>そもそもクエリに渡す日本語の文字数を減らす（必要なキーワードだけに絞る）</li><li>表示上だけ短く見せたいなら <a href="https://mashukabu.com/spreadsheet-hyperlink-function/">HYPERLINK関数</a> の第2引数で「検索」など短いリンクテキストを付ける</li></ul>



<p class="wp-block-paragraph">セル上の見た目が気になるだけであれば、HYPERLINK関数でリンクテキストを設定するのが一番手軽です。URL本体が長くても、表示は「検索」「地図を開く」のように短く保てます。</p>



<h2 class="wp-block-heading"><span id="toc27">まとめ</span></h2>



<p class="wp-block-paragraph">スプレッドシートのENCODEURL関数について、基本構文から実務での活用パターンまで紹介しました。</p>



<p class="wp-block-paragraph">ポイントをおさらいしておきましょう。</p>



<ul class="wp-block-list"><li>ENCODEURL関数は文字列をURLエンコード（パーセントエンコーディング）する関数</li><li>引数は1つだけ。エンコードしたい文字列を指定するだけのシンプル構文</li><li>英数字と <code>- _ . ~</code> の4種類はそのまま、日本語・全角文字・記号は <code>%XX</code> 形式に変換される</li><li>HYPERLINK関数と組み合わせるとクリック可能な検索・マップ・SNS共有リンクを自動生成できる</li><li>複数パラメータURLは「値の部分だけ」をENCODEURLで囲むのがコツ</li><li>LET関数で中間変数に名前を付けると長いURL式の保守性が大幅に上がる</li><li>Mac版Excelでは使えないが、Googleスプレッドシートならどの環境でも安定動作する</li></ul>



<p class="wp-block-paragraph">日本語を含むURLを扱う場面は、リサーチ業務・営業リスト管理・社内SNS共有など意外と多いものです。ENCODEURL関数を覚えておくと、URL生成にかかる手作業を大幅に減らせます。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-encodeurl-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのENCODEURL関数の使い方｜URLエンコードを自動化</title>
		<link>https://mashukabu.com/excel-function-howto-use-encodeurl/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-encodeurl/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 03 Feb 2023 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[API連携]]></category>
		<category><![CDATA[ENCODEURL関数]]></category>
		<category><![CDATA[HYPERLINK連携]]></category>
		<category><![CDATA[URLエンコード]]></category>
		<category><![CDATA[WEBSERVICE連携]]></category>
		<category><![CDATA[Web関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=3276</guid>

					<description><![CDATA[ExcelのENCODEURL関数の使い方を基本から実務活用まで解説。URLエンコードの仕組み、WEBSERVICE連携、HYPERLINK連携のパターンを紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">ExcelでURLを扱うとき、日本語やスペースが含まれるとリンクが正しく動かない――そんな経験はありませんか。</p>



<p class="wp-block-paragraph">手作業でURLエンコードするのは面倒ですし、変換ミスも起きやすいですよね。</p>



<p class="wp-block-paragraph">ExcelのENCODEURL関数を使えば、文字列をURLエンコードした結果を一発で取得できます。この記事では、基本的な使い方からWEBSERVICE関数やHYPERLINK関数との連携パターンまで解説していきます。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-3" checked><label class="toc-title" for="toc-checkbox-3">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelのENCODEURL関数とは？</a><ol><li><a href="#toc2" tabindex="0">URLエンコードとは</a></li></ol></li><li><a href="#toc3" tabindex="0">ENCODEURL関数の書き方（構文と引数）</a><ol><li><a href="#toc4" tabindex="0">基本構文</a></li><li><a href="#toc5" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc6" tabindex="0">ENCODEURL関数の基本的な使い方</a><ol><li><a href="#toc7" tabindex="0">文字列を直接指定する</a></li><li><a href="#toc8" tabindex="0">セル参照で指定する</a></li><li><a href="#toc9" tabindex="0">日本語をエンコードする</a></li></ol></li><li><a href="#toc10" tabindex="0">ENCODEURL関数の実務活用パターン</a><ol><li><a href="#toc11" tabindex="0">WEBSERVICE関数と組み合わせてAPI連携する</a></li><li><a href="#toc12" tabindex="0">HYPERLINK関数でリンクを自動生成する</a></li><li><a href="#toc13" tabindex="0">文字列関数と組み合わせてURLを構築する</a></li></ol></li><li><a href="#toc14" tabindex="0">ENCODEURL関数の対応環境と注意点</a><ol><li><a href="#toc15" tabindex="0">対応バージョン一覧</a></li><li><a href="#toc16" tabindex="0">Mac版・Web版では使えない</a></li><li><a href="#toc17" tabindex="0">チルダ（~）のエンコードについて</a></li></ol></li><li><a href="#toc18" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc19" tabindex="0">#VALUE!エラー</a></li><li><a href="#toc20" tabindex="0">#NAME?エラー</a></li></ol></li><li><a href="#toc21" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのENCODEURL関数とは？</span></h2>



<p class="wp-block-paragraph">ENCODEURL関数は、文字列をURLエンコードする関数です。読み方は「エンコード・ユーアールエル」です。</p>



<p class="wp-block-paragraph">「ENCODE」は「符号化する」、「URL」は「Uniform Resource Locator（ウェブアドレス）」を意味します。つまり「URLに使える形式に変換する」関数ですね。</p>



<h3 class="wp-block-heading"><span id="toc2">URLエンコードとは</span></h3>



<p class="wp-block-paragraph">URLエンコード（パーセントエンコーディング）とは、URLに使えない文字を <code>%XX</code> の形式に変換する仕組みです。</p>



<p class="wp-block-paragraph">たとえば、日本語の「エクセル」をURLエンコードすると <code>%E3%82%A8%E3%82%AF%E3%82%BB%E3%83%AB</code> になります。半角スペースは <code>%20</code> に変換されます。</p>



<p class="wp-block-paragraph">ブラウザのアドレスバーでは日本語がそのまま表示されることもあります。しかし、実際の通信ではURLエンコードされた文字列が使われていますよ。</p>



<p class="wp-block-paragraph">ENCODEURL関数はUTF-8でエンコードし、RFC 3986 / RFC 2396に準拠しています。</p>



<h2 class="wp-block-heading"><span id="toc3">ENCODEURL関数の書き方（構文と引数）</span></h2>



<h3 class="wp-block-heading"><span id="toc4">基本構文</span></h3>



<pre class="wp-block-code"><code>=ENCODEURL(文字列)</code></pre>



<p class="wp-block-paragraph">引数は1つだけなので、覚えやすい関数です。</p>



<h3 class="wp-block-heading"><span id="toc5">引数の説明</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>文字列</td><td>必須</td><td>URLエンコードしたい文字列を指定する</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数には、直接文字列を入力する方法とセル参照で指定する方法があります。文字列を直接入力する場合は、ダブルクォーテーション（<code>"</code>）で囲む必要がありますよ。</p>



<h2 class="wp-block-heading"><span id="toc6">ENCODEURL関数の基本的な使い方</span></h2>



<h3 class="wp-block-heading"><span id="toc7">文字列を直接指定する</span></h3>



<p class="wp-block-paragraph">URLを直接入力してエンコードする、もっともシンプルな使い方です。</p>



<pre class="wp-block-code"><code>=ENCODEURL(&quot;https://mashukabu.com/売上レポート.xlsx&quot;)</code></pre>



<p class="wp-block-paragraph">この数式を入力すると、以下の結果が返ります。</p>



<pre class="wp-block-code"><code>https%3A%2F%2Fmashukabu.com%2F%E5%A3%B2%E4%B8%8A%E3%83%AC%E3%83%9D%E3%83%BC%E3%83%88.xlsx</code></pre>



<p class="wp-block-paragraph">URLの中の日本語「売上レポート」や、スラッシュ（<code>/</code>）、コロン（<code>:</code>）がすべてパーセントエンコーディングに変換されているのがわかりますね。</p>



<h3 class="wp-block-heading"><span id="toc8">セル参照で指定する</span></h3>



<p class="wp-block-paragraph">実務では、セルに入力されたURLをまとめてエンコードするケースが多いです。</p>



<pre class="wp-block-code"><code>=ENCODEURL(A2)</code></pre>



<p class="wp-block-paragraph">A2セルに <code>東京都 渋谷区</code> と入力されている場合、結果は <code>%E6%9D%B1%E4%BA%AC%E9%83%BD%20%E6%B8%8B%E8%B0%B7%E5%8C%BA</code> になります。半角スペースが <code>%20</code> に変換されている点に注目してください。</p>



<h3 class="wp-block-heading"><span id="toc9">日本語をエンコードする</span></h3>



<p class="wp-block-paragraph">検索クエリに日本語を使う場面で便利な使い方です。</p>



<pre class="wp-block-code"><code>=ENCODEURL(&quot;Excel 関数 使い方&quot;)</code></pre>



<p class="wp-block-paragraph">結果は <code>Excel%20%E9%96%A2%E6%95%B0%20%E4%BD%BF%E3%81%84%E6%96%B9</code> です。英数字はそのまま残り、日本語と半角スペースだけがエンコードされます。</p>



<h2 class="wp-block-heading"><span id="toc10">ENCODEURL関数の実務活用パターン</span></h2>



<p class="wp-block-paragraph">基本がわかったところで、実務で役立つ組み合わせパターンを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc11">WEBSERVICE関数と組み合わせてAPI連携する</span></h3>



<p class="wp-block-paragraph">ENCODEURL関数の最も実用的な使い方が、WEBSERVICE関数との連携です。WEBSERVICE関数（Webサービスからデータを取得する関数）と<a href="https://mashukabu.com/excel-function-howto-use-filterxml/">FILTERXML関数</a>（XMLデータから特定の値を抽出する関数）を組み合わせると、ExcelからWeb APIのデータを直接取得できます。</p>



<pre class="wp-block-code"><code>=WEBSERVICE(&quot;https://api.example.com/search?q=&quot; &amp; ENCODEURL(A2))</code></pre>



<p class="wp-block-paragraph">A2セルに検索キーワードを入力するだけで、APIにリクエストを送れます。日本語のキーワードもENCODEURL関数が自動でエンコードしてくれますよ。</p>



<p class="wp-block-paragraph">さらにFILTERXML関数を加えると、取得したXMLデータから必要な部分だけを抜き出せます。</p>



<pre class="wp-block-code"><code>=FILTERXML(WEBSERVICE(&quot;https://api.example.com/data?q=&quot; &amp; ENCODEURL(A2)), &quot;//result/value&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc12">HYPERLINK関数でリンクを自動生成する</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-hyperlink/">HYPERLINK関数</a>と組み合わせれば、日本語を含むURLでも正しく動くリンクを自動生成できます。</p>



<p class="wp-block-paragraph">たとえば、商品名が入ったセルから検索リンクを作るケースを考えてみましょう。</p>



<pre class="wp-block-code"><code>=HYPERLINK(&quot;https://www.google.com/search?q=&quot; &amp; ENCODEURL(B2), &quot;検索する&quot;)</code></pre>



<p class="wp-block-paragraph">B2セルに「Excel ENCODEURL」と入力すると、クリックでGoogle検索が開くリンクが作成されます。商品リストから一括で検索リンクを生成したいときに便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc13">文字列関数と組み合わせてURLを構築する</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-substitute/">SUBSTITUTE関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-concatenate/">CONCATENATE関数</a>、<a href="https://mashukabu.com/excel-function-howto-use-textjoin/">TEXTJOIN関数</a>と組み合わせると、複雑なURLも柔軟に構築できます。</p>



<p class="wp-block-paragraph">たとえば、複数のパラメータを含むURLを組み立てる場合はこのように書きます。</p>



<pre class="wp-block-code"><code>=&quot;https://example.com/api?name=&quot; &amp; ENCODEURL(A2) &amp; &quot;&amp;city=&quot; &amp; ENCODEURL(B2)</code></pre>



<p class="wp-block-paragraph">A2に「田中太郎」、B2に「東京都」と入力すれば、パラメータごとに正しくエンコードされたURLが完成します。</p>



<h2 class="wp-block-heading"><span id="toc14">ENCODEURL関数の対応環境と注意点</span></h2>



<h3 class="wp-block-heading"><span id="toc15">対応バージョン一覧</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>バージョン</th><th>対応状況</th></tr></thead><tbody><tr><td>Microsoft 365</td><td>対応</td></tr><tr><td>Excel 2024</td><td>対応</td></tr><tr><td>Excel 2021</td><td>対応</td></tr><tr><td>Excel 2019</td><td>対応</td></tr><tr><td>Excel 2016</td><td>対応</td></tr><tr><td>Excel 2013</td><td>対応（初搭載）</td></tr><tr><td>Excel 2010以前</td><td>非対応</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ENCODEURL関数はExcel 2013で追加された関数です。お使いのバージョンが対応しているか確認しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc16">Mac版・Web版では使えない</span></h3>



<p class="wp-block-paragraph">ENCODEURL関数はWindows OSの機能に依存しています。そのため、以下の環境では使用できません。</p>



<ul class="wp-block-list"><li><strong>Excel for Mac</strong>: 関数ギャラリーには表示されますが、結果を返しません</li><li><strong>Excel for the web（Excel Online）</strong>: 利用不可</li></ul>



<p class="wp-block-paragraph">Mac版をお使いの場合は、オンラインのURLエンコードツールを利用するか、VBAで代替する方法を検討してみてください。</p>



<h3 class="wp-block-heading"><span id="toc17">チルダ（~）のエンコードについて</span></h3>



<p class="wp-block-paragraph">ENCODEURL関数はチルダ（<code>~</code>）を <code>%7E</code> にエンコードします。現在のRFC 3986ではチルダは非予約文字（エンコード不要）ですが、旧仕様のRFC 1738に準拠した挙動になっています。</p>



<p class="wp-block-paragraph">ほとんどのWebサーバーは <code>%7E</code> を正しく処理するので、実用上は問題ありませんよ。</p>



<h2 class="wp-block-heading"><span id="toc18">よくあるエラーと対処法</span></h2>



<h3 class="wp-block-heading"><span id="toc19">#VALUE!エラー</span></h3>



<p class="wp-block-paragraph">引数に無効なデータ型を指定した場合に発生します。数値やエラー値ではなく、文字列またはセル参照を指定してください。</p>



<p class="wp-block-paragraph">WEBSERVICE関数と組み合わせた場合、エンコード後のURLが2,048文字を超えると #VALUE! エラーになることがあります。長いURLを扱うときは注意しましょう。</p>



<h3 class="wp-block-heading"><span id="toc20">#NAME?エラー</span></h3>



<p class="wp-block-paragraph">以下のどちらかが原因です。</p>



<ul class="wp-block-list"><li><strong>関数名のスペルミス</strong>: <code>ENCODEURL</code> を正確に入力しているか確認してください</li><li><strong>非対応バージョン</strong>: Excel 2010以前では ENCODEURL関数が使えません。バージョンを確認してみてください</li></ul>



<p class="wp-block-paragraph">Mac版やWeb版で <code>#NAME?</code> エラーが表示される場合も、環境が非対応であることが原因です。</p>



<h2 class="wp-block-heading"><span id="toc21">まとめ</span></h2>



<p class="wp-block-paragraph">ExcelのENCODEURL関数の使い方を解説しました。ポイントをおさらいしましょう。</p>



<ul class="wp-block-list"><li>ENCODEURL関数は <code>=ENCODEURL(文字列)</code> の1引数だけで使えるシンプルな関数</li><li>日本語やスペースを含む文字列を <code>%XX</code> 形式にURLエンコードできる</li><li>WEBSERVICE関数 + FILTERXML関数と組み合わせるとExcelからAPI連携が可能</li><li>HYPERLINK関数との併用で、日本語を含む検索リンクを自動生成できる</li><li>対応環境はWindows版のExcel 2013以降。Mac版・Web版では使えない</li></ul>



<p class="wp-block-paragraph">URLを手作業でエンコードしている方は、ぜひENCODEURL関数を試してみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-encodeurl/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
