【Excel】ハイパーリンク関数のURLは255文字まで【回避方法】

スポンサーリンク

エクセルでは、1つのセルに3万文字くらい入力できます。

しかし、関数や数式を使おうとすると、さまざまな上限に達してエラーになりました。

そのエラーの事例集と回避方法です。

特に、パーセント記号を含んだURLは、文字数が長くなりがちですので、ハイパーリンク関数の上限に達しやすくなります。

回避方法ですが、Excelで長いURLを開くには、Excel VBAのシェル関数 Shell() を使います。

テキストとして入力した長いURLを、VBAマクロで取得して、シェル関数でブラウザに渡すアプローチになります。

ハイパーリンク関数やハイパーリンクの編集からでは、長いURLをハイパーリンクにすることができませんでした。

一方で、リブレオフィスカルク (LibreOffice Calc) なら、長いハイパーリンクが設定できました。

詳しい上限は調べていませんが、てっとり早く長いURLを扱いたいときは、リブレオフィスを使うのがいいと思います。

スポンサーリンク

Excelの仕様

公式サイトの説明

マイクロソフト公式ページの説明です。

日本語の説明
Excel の仕様および制限 – Excel

英語の説明
Excel specifications and limits – Excel

検索キーワード

マイクロソフトのURLはリンク切れになるかもしれないので、検索キーワードも紹介します。

以下のキーワードで検索すれば、おそらくエクセルの仕様のページが見つかると思います。

検索キーワード例

  • "Excel の仕様および制限"
  • "セルが含むことができる合計文字数"
  • "1つの関数に指定できる引数"
  • "Excel specifications and limits"
  • "Total number of characters that a cell can contain"
  • "Arguments in a function"
スポンサーリンク

ハイパーリンク関数の上限は255文字

URLは最大255文字までだった

エクセルのハイパーリンク関数に長いURLを設定すると、エラーになりました。

=HYPERLINK("***255文字を超えたURL***")

数式内の文字列の上限は 255 文字です。255 文字より長い文字列を作成するには、CONCATENATE 関数または連結演算子 (&) を使用してください。

数式内の文字列の上限は255文字

別名を設定するとURLに使える文字数が減った

ハイパーリンク関数には別名(べつめい)を設定できます。

HYPERLINK(リンク先, [別名])

別名で文字を使った分だけ、URLに使える文字列が減りました。

255文字以内のURLでも、別名をつけているとエラーになる場合がありました。

255文字の『URL』と255文字の『別名』はセル参照で入力できた

ハイパーリンク関数でセルを参照すれば、『255文字のURL』を使いながら『255文字の別名』を使うことができました。

A1セル:***255文字のURL***
B1セル:***255文字の別名***
A2セル:=HYPERLINK(A1,B1)
結果:***255文字の別名でハイパーリンクができた***

『URL』の上限は255文字で『別名』の上限も255文字だった

255文字を超えた『URL』はNGだった

ほかのセルに長いURLを入力して、そのセルをハイパーリンク関数に渡すとNGでした。

A1セル:***255文字を超えたURL***
A2セル:=HYPERLINK(A1)
結果:#VALUE!

255文字を超えた『別名』はNGだった

ほかのセルに長い別名を入力して、そのセルをハイパーリンク関数に渡すとNGでした。

A1セル:***短いURL***
B1セル:***255文字を超えた別名***
A2セル:=HYPERLINK(A1,B1)
結果:#VALUE!

ハイパーリンクの挿入・編集もURLは255文字まで

右クリックメニューの『ハイパーリンク(H)…』や『ハイパーリンクの編集(H)…』から設定できるURLの上限も255文字まででした。

ハイパーリンク関数を使ったCSVは上限で切り捨てられた

ハイパーリンク関数を使ったCSVを読み込むと、長いURLのセルだけ文字が切り捨てられて、不完全な数式になりました。

Excelで扱えるハイパーリンクは255文字まで

Excel 2007で動作確認しました。

単なるテキストなら、1つのセルに3万文字くらい入るので、なんとか長いURLをハイパーリンクにできないかと、いろいろ試しました。

でも、できなかったです。

Excelで長いURLを開くにはVBAのシェル関数を使う

Excelで長いURLを開くには、Excel VBAのシェル関数 Shell() を使います。

長いURLは、単なるテキストとしてセルに入力しておきます。

シェル関数に『使いたいブラウザ』と『開きたいURL』を渡せば、Excelから長いURLを開くことができました。

VBAでセルからURLを取得して、シェル関数でブラウザを起動するアプローチです。

これで、URLの長さにかかわらず、いろいろなサイトをExcelから開けるようになりました。

セルのテキストからウェブ検索するマクロ

セルの中身でブラウザ検索するコード例に、具体的なExcel VBAのマクロを書きました。

スポンサーリンク
Excel
シェアする(押すとSNS投稿用の『編集ページ』に移動します)
フォローする(RSSフィードに移動します)
スポンサーリンク
シラベルノート
タイトルとURLをコピーしました