ExcelのIMAGE関数の使い方|セルに画像を表示する方法
ExcelのIMAGE関数を使うと、セルの中に画像を表示できます。商品カタログや社員名簿で「画像も一覧と一緒に並べ替えたい」というときに便利な関数です。
ただし、Excel IMAGE関数には対応バージョンの制約があります。使えるのはMicrosoft 365とExcel 2024だけです。Excel 2021以前では使えないので、まずは環境を確認してから読み進めてくださいね。
この記事では、ExcelのIMAGE関数の基本構文から、引数5つの使い方、サイズモードの違い、商品カタログ・名簿への応用、VLOOKUP関数との組み合わせ、よくあるエラーの対処法までまとめて解説します。他のExcel関数全体の地図を先に確認したい方はExcel関数一覧【機能別】まとめもあわせてどうぞ。
ExcelのIMAGE関数とは?セルに画像を表示できる新関数
ExcelのIMAGE関数は、URLで指定した画像をセル内に表示するための関数です。2023年にMicrosoft 365で一般提供が始まりました。
最大の特徴は、画像がセルに紐づくことです。並べ替えやフィルタの操作で、画像もセルと一緒に動きます。商品リストや名簿のように「行ごとに画像を1枚ずつ並べたい」というレイアウトにぴったりです。
IMAGE関数と「画像の挿入」機能の違い
従来からある「画像の挿入」(「挿入」タブの「画像」)との違いをまとめます。
| 比較項目 | IMAGE関数 | 画像の挿入 |
|---|---|---|
| 画像の配置先 | セル内 | シート上(オブジェクト) |
| 並べ替え・フィルタ | セルと一緒に動く | デフォルトでは動かない |
| 数式との連動 | 可能(IF関数等と組み合わせ可) | 不可 |
| ローカルファイル | 不可(URL必須) | 可能 |
| 一括設定 | 数式コピーで簡単 | 1枚ずつ手作業 |
「画像の挿入」機能はローカルファイルから直接配置できますが、並べ替えやフィルタには連動しません。一方IMAGE関数はURL指定が前提ですが、セルと一体で動いてくれます。一覧表に画像を入れたいときはIMAGE関数、単発の装飾なら画像の挿入と覚えておくと使い分けが楽です。
対応バージョン(Microsoft 365 / Excel 2024)
ExcelのIMAGE関数を使えるのは次の環境です。
- Microsoft 365(デスクトップ版 / Web版 / モバイル版)
- Excel 2024(買い切り版)
Excel 2021・2019・2016 以前は非対応です。これらのバージョンで開くと#NAME?エラーが表示されます。
自分のExcelが対応しているか確認する手順
バージョンの確認はとてもシンプルです。次の手順で確認してみましょう。
- Excelを起動する
- 「ファイル」タブをクリックする
- 左メニューの「アカウント」を選ぶ
- 「製品情報」の欄に「Microsoft 365」または「Excel 2024」と表示されていればOK
「Excel 2021」「Excel 2019」「Excel 2016」と表示される場合はIMAGE関数を使えません。この場合は従来の「画像の挿入」機能で代替してください。
IMAGE関数の書き方|構文と5つの引数
基本構文
ExcelのIMAGE関数の構文は次のとおりです。
=IMAGE(source, [alt_text], [sizing], [height], [width])
必須の引数はsource(画像URL)の1つだけです。残りの4つはすべて省略できます。最もシンプルな書き方はこちらです。
=IMAGE("https://example.com/image.png")
URLを「”」(ダブルクォーテーション)で囲んで入力するだけで、セル内に画像が表示されます。
各引数の役割
5つの引数の役割をまとめました。
| 引数 | 必須/省略可 | 内容 |
|---|---|---|
| source | 必須 | 画像のURL(HTTPS必須) |
| alt_text | 省略可 | 代替テキスト(画像の説明文) |
| sizing | 省略可 | サイズモード(0〜3の整数) |
| height | 省略可 | 高さ(sizing=3のときポイント単位で指定) |
| width | 省略可 | 幅(sizing=3のときポイント単位で指定) |
第1引数の source にはHTTPSのURLが必要です。HTTPは使えません。URLを直接書く代わりに、セル参照(例:A1)も指定できます。
第4引数の height と第5引数の width はポイント(pt)単位で指定します。1ポイントは約0.353ミリで、Excelの標準的なセル高さが15ptです。
対応する画像フォーマット
IMAGE関数で読み込める画像フォーマットは次の8種類です。
- BMP
- JPG / JPEG
- GIF(静止画として表示。アニメーションはしません)
- PNG(透過対応)
- TIFF
- ICO
- WEBP
- SVG(ベクター画像)
WEBPやSVGにも対応しているのは、Excelの新しい関数ならではですね。
IMAGE関数の基本的な使い方
画像URLを指定してセルに表示する
最も基本的な使い方は、画像URLを直接指定するパターンです。セルに次の数式を入力してみましょう。
=IMAGE("https://example.com/photo.png")
これだけでセル内に画像が表示されます。セルの高さや幅を広げると、画像も大きく表示されます。
URLを直接入力する代わりに、セル参照も使えます。A1セルにURLが入っている場合は次のように書きます。
=IMAGE(A1)
セル参照を使うとURLの管理がぐっと楽になります。URLの差し替えもA1セルを書き換えるだけで済みます。
なお、IMAGE関数の数式を「値のみ貼り付け」するとIMAGE関数が消えてしまいます。コピー時は数式ごと貼り付けてください。
また、計算モードが「手動」のときは画像が自動更新されません。その場合はCtrl+Shift+F9(全再計算のショートカット)で再計算してみてください。
代替テキスト(alt_text)でアクセシビリティを高める
第2引数の alt_text で、画像に説明文を付けられます。
=IMAGE("https://example.com/photo.png", "商品Aの写真")
代替テキストにはアクセシビリティ向上の役割があります。スクリーンリーダー(画面読み上げソフト)が画像の内容を読み上げてくれます。
業務用ファイルでも代替テキストを付ける習慣はおすすめです。あとで「この画像なんだっけ?」と迷わずに済みますし、画像URLが失効したときの手がかりにもなりますよ。
サイズ指定の4つのモード(sizing 0〜3)
第3引数の sizing で表示サイズの動きを4種類から選べます。
| sizing | 動作 | 特徴 |
|---|---|---|
| 0(デフォルト) | セルに収める | アスペクト比(縦横比)を維持 |
| 1 | セル全体に引き伸ばす | アスペクト比は維持されず歪む可能性あり |
| 2 | 元のサイズで表示 | セルからはみ出す場合あり |
| 3 | カスタムサイズ | height・widthの指定が必要 |
通常はデフォルトの0で十分です。アスペクト比(縦横比)が崩れないので、見た目が破綻しません。
カスタムサイズを使う場合は次のように書きます。
=IMAGE("https://example.com/photo.png",, 3, 100, 150)
alt_textを省略して(カンマを2回続けるとそのまま省略)、sizing=3、height=100、width=150(ポイント)を指定しています。
なお、sizing に 0〜3 以外の値(4 や -1 など)を指定すると #VALUE! エラーになります。指定値は厳密に守ってくださいね。
画像URLはどこから取得する?運用のヒント
「IMAGE関数の構文はわかったけど、肝心の画像URLはどこから手に入れるの?」という疑問もよく聞かれます。代表的な取得方法をまとめます。
- 自社サーバー / CDN: 認証なしの公開ディレクトリにアップロードして固定URLを使う。最も安定
- OneDrive / SharePoint: 企業向け SharePoint の直接URLは利用できるケースあり(OneDrive の共有リンクは形式によっては不可)
- Google Drive: 共有設定を「リンクを知っている全員」にして、
uc?id=ファイルID&export=download形式のURLに変換すると使えることがあります - Dropbox: 共有リンクの末尾を
?dl=1または?raw=1に変更すると直接画像URLとして機能する場合があります - 画像ホスティング: Imgur、Cloudinary などのサービスを利用する
業務利用では長期安定した固定URLを選ぶのがコツです。一時URL(数時間〜数日で失効するもの)を使うと、後で #CONNECT! エラーになって慌てることになります。
IMAGE関数の実践的な使い方・応用例
【実例1】商品カタログに商品画像を並べる
商品リストに画像を表示するパターンを見てみましょう。A列に商品コード、B列に商品名、C列に画像URLを入れた表を準備します。D2セルに次の数式を入力します。
=IMAGE(C2, B2)
C2のURLから画像を表示し、B2の商品名を代替テキストに設定しています。この数式をD列の各行にコピーすれば、商品ごとに画像が並びます。
フィルタで絞り込んでも画像はセルと一緒に動きます。在庫管理や商品カタログで重宝するはずです。
行の高さは80〜120ポイント程度に広げると見やすくなります。sizingは0(デフォルト)のままで、セルサイズに合わせて自動調整されます。
【実例2】社員名簿に顔写真を表示する
名簿に顔写真を並べる使い方も便利です。社員番号・氏名・所属に加えて、画像URL列を用意します。
=IMAGE(D2, B2&"の顔写真")
D2の画像URLから写真を表示し、B2の氏名と「の顔写真」を連結して代替テキストに設定しています。代替テキストは&演算子で文字列を組み合わせると、行ごとに自動で適切な説明文を作れます。
行の高さは80〜100ポイント、画像列の幅は60〜80ポイント程度がおすすめです。
【実例3】IF関数と組み合わせて条件で画像を切り替える
IF関数と組み合わせれば、条件によって画像を切り替えられます。検査結果に応じて○×マークを出すパターンを作ってみましょう。
=IF(D2="合格",
IMAGE("https://example.com/ok.png"),
IMAGE("https://example.com/ng.png"))
D2が「合格」なら○の画像、それ以外は×の画像を表示します。検査表やステータス管理表で活用できます。
3つ以上の条件で切り替えたい場合は IFS 関数や SWITCH 関数を組み合わせると、ネストが深くならず読みやすくなります。
=SWITCH(D2,
"高", IMAGE("https://example.com/priority-high.png"),
"中", IMAGE("https://example.com/priority-mid.png"),
"低", IMAGE("https://example.com/priority-low.png"),
IMAGE("https://example.com/unknown.png"))
優先度(高・中・低)に応じて異なるアイコンを表示する例です。最後の引数は該当しないときの既定値です。
【実例4】VLOOKUP関数と組み合わせて商品コードから画像を引く
VLOOKUP関数と組み合わせると、商品コードから画像URLを検索して表示できます。実務でとても重宝する応用パターンです。
商品マスタ(別シート)に次のような表があるとします。
| A列:商品コード | B列:商品名 | C列:画像URL |
|---|---|---|
| P001 | コーヒー豆 | https://example.com/coffee.png |
| P002 | 紅茶葉 | https://example.com/tea.png |
| P003 | 緑茶 | https://example.com/greentea.png |
注文一覧表のA列に商品コードを入力すると、画像が自動で出てくる仕組みを作ります。B2セルに次の数式を入れます。
=IMAGE(VLOOKUP(A2, 商品マスタ!A:C, 3, FALSE))
VLOOKUPで商品マスタの3列目(画像URL)を引いて、IMAGE関数で表示しています。商品マスタを更新すれば、注文一覧表の画像も自動で変わります。マスタ一元管理の運用がそのままIMAGE関数にも適用できるわけです。
【実例5】IFERROR関数でエラー画像をフォールバック表示する
VLOOKUP連携や画像URL指定でURLが見つからなかった場合、#N/A や #CONNECT! エラーが出てしまいます。IFERROR関数を組み合わせると、エラー時に代替画像を表示できます。
=IFERROR(
IMAGE(VLOOKUP(A2, 商品マスタ!A:C, 3, FALSE)),
IMAGE("https://example.com/no-image.png"))
VLOOKUPで画像URLが見つからない場合や、URLからの画像取得に失敗した場合に「No Image」画像を表示します。一覧表でエラー記号が混ざらず、見た目が崩れません。
このパターンは商品マスタの整備が間に合っていない時期や、URL差し替えのタイミングで特に役立ちます。
IMAGE関数のよくあるエラーと対処法
ExcelのIMAGE関数で発生する代表的なエラーは4種類です。それぞれの原因と対処法を見ていきましょう。
#CONNECT! エラー(画像URLに接続できない)
画像URLへの接続に失敗すると#CONNECT!エラーが出ます。次の項目を確認しましょう。
- URLの誤り: ブラウザでURLを開き、画像が表示されるか確認する
- 画像の削除: URL先のファイルが存在するか確認する
- アクセス制限: 認証が必要なURLは使えない。公開URLに変更する
- 通信環境: インターネット接続を確認する
- 社内ファイアウォール: 外部画像URLが企業ネットワークでブロックされていないか確認する
URLをブラウザで開いて画像が見えれば、URL自体は正しいです。それでもエラーが出るときは通信環境や社内ネットワークの制限を確認してみてください。
#VALUE! エラー(引数の指定ミス)
引数の指定に問題があると#VALUE!エラーが出ます。
- sizing=3でheight/widthが未指定: 両方の指定が必要
- sourceが空セル参照: 空のセルを参照していないか確認する
- sizingに0〜3以外の値: 使える値は0、1、2、3のみ
- データ型の不一致: 数値が必要な箇所に文字列を渡していないか確認
引数を一つずつ見直せば原因が特定できます。特に sizing と height/width の組み合わせはミスしやすいので注意です。
#NAME? エラー(バージョン非対応)
#NAME?エラーが出る場合は、Excelのバージョンが非対応です。「ファイル」→「アカウント」で確認してみましょう。
Excel 2021以前のバージョンを使っている場合は、「挿入」→「画像」で画像を配置できます。ただし、セルに紐づかないため並べ替え時に画像がずれる可能性があります。一覧表で並べ替えやフィルタを使うなら、Microsoft 365 へのアップグレードを検討するのもひとつの選択肢です。
IMAGE関数を使ったブックを他の人に共有するときも注意です。相手のExcelが非対応だと#NAME?エラーになります。共有先の環境もあわせて確認しましょう。
#CALC! エラー(読み込みタイムアウト)
まれに#CALC!エラーが出ることがあります。画像の読み込み中にタイムアウトした場合などが原因です。
時間を置いてから再計算(Ctrl+Shift+F9 で全再計算、F9 で部分再計算)を試してみてください。それでも改善しない場合は、画像のファイルサイズが大きすぎる可能性があります。Web 用に圧縮した画像(300KB 以下が目安)に差し替えるとスムーズに表示できます。
エラーが出たときの切り分け手順
複数のエラー原因が重なる場合は、次の順番でチェックすると早いです。
- #NAME? が出る → Excelバージョンを確認(「ファイル」→「アカウント」)
- #CONNECT! が出る → URLをブラウザで開いて画像が見えるか確認
- #VALUE! が出る → 引数を1つずつ確認(特に sizing と height/width)
- #CALC! が出る → 再計算(Ctrl+Shift+F9)と画像の軽量化
それでも解決しない場合は、最小限の数式(=IMAGE("テスト用の確実なURL"))で試して、原因をIMAGE関数自体に絞り込めるか確認してみてください。
GoogleスプレッドシートのIMAGE関数との違い
ExcelのIMAGE関数は、GoogleスプレッドシートにあるIMAGE関数とよく似ていますが、引数の順序とサイズモードの番号が異なります。
引数順序の違い早見表
| 項目 | Excel IMAGE | Google Sheets IMAGE |
|---|---|---|
| 構文 | =IMAGE(source, alt_text, sizing, height, width) | =IMAGE(URL, mode, height, width) |
| 第2引数 | alt_text(代替テキスト) | mode(サイズモード) |
| サイズモード | 0〜3 | 1〜4 |
| デフォルト動作 | 0(セルに収める) | 1(セルに収める) |
| サイズ単位 | ポイント(pt) | ピクセル(px) |
| 対応バージョン | Microsoft 365 / Excel 2024 | 全バージョン |
移行するときの注意点
最大の違いは第2引数の意味が違うことです。Excelでは alt_text(代替テキスト)、Googleスプレッドシートでは mode(サイズモード)です。
例えばGoogleスプレッドシートで =IMAGE(URL, 2) と書いていたものをそのままExcelに持ち込むと、"2" が代替テキストとして扱われ、サイズモードはデフォルトの0が適用されます。動作が変わってしまうので、移行時は引数の置換が必須です。
また、サイズモードの番号自体もずれています。スプレッドシートの mode=1〜4 と Excel の sizing=0〜3 は1つずつずれているので注意してください。
Googleスプレッドシート版の詳しい使い方は、GoogleスプレッドシートのIMAGE関数の使い方の記事もあわせてどうぞ。
ExcelのIMAGE関数に関するよくある質問(FAQ)
[faq q=”IMAGE関数が#NAME?エラーになります。なぜですか?” a=”お使いのExcelのバージョンがIMAGE関数に対応していないためです。IMAGE関数は Microsoft 365 と Excel 2024 でのみ利用できます。Excel 2021・2019・2016 以前では使えません。「ファイル」→「アカウント」で「Microsoft 365」または「Excel 2024」と表示されるか確認してください。Excel 2021以前を使っている場合は、「挿入」→「画像」機能で画像を配置する代替手段があります。”]
[faq q=”ローカルにあるファイル(Cドライブの画像など)をIMAGE関数で表示できますか?” a=”できません。IMAGE関数の source 引数はHTTPSのURLのみ受け付けます。ローカルファイルパス(C:image.png 等)は使えません。社内サーバーや OneDrive・Google Drive・Dropbox などのクラウドストレージにアップロードして、公開URLを取得してから指定してください。”]
[faq q=”IMAGE関数で表示した画像を、別のExcelブックに貼り付けても表示されますか?” a=”数式ごとコピーすれば、貼り付け先のExcelも対応バージョン(Microsoft 365 / Excel 2024)であれば表示されます。ただし「値のみ貼り付け」だとIMAGE関数の数式が消えるので、通常の貼り付けかコピー&ペーストを使ってください。共有先のExcelが非対応バージョンだと#NAME?エラーになります。”]
[faq q=”VLOOKUP関数と組み合わせて、商品コードから画像を表示できますか?” a=”できます。=IMAGE(VLOOKUP(A2, 商品マスタ!A:C, 3, FALSE)) のように、VLOOKUP関数で画像URLを検索して、その結果をIMAGE関数に渡す形が定番のパターンです。商品マスタの画像URLを更新すれば、参照側の画像も自動で切り替わります。エラー対策として IFERROR 関数を外側に重ねるとさらに堅牢になります。”]
[faq q=”IMAGE関数を使うとファイルが重くなります。対策はありますか?” a=”大量の画像や大サイズ画像を使うとブックの動作が重くなります。対策としては、(1)画像をWeb用に圧縮する(300KB 以下が目安)、(2)必要なときだけIMAGE関数を使う列を表示する、(3)計算モードを「手動」に切り替えて意図したタイミングだけ再計算する、などが有効です。CDN や画像ホスティングサービスを使って画像配信を最適化するのもおすすめです。”]
まとめ|ExcelのIMAGE関数で一覧表を見やすくしよう
ExcelのIMAGE関数の使い方をひととおり解説しました。要点をおさらいします。
- IMAGE関数はMicrosoft 365とExcel 2024で使えるセル内画像表示関数
=IMAGE("画像URL")の最小構文で画像を表示できる- 引数は5つ(source / alt_text / sizing / height / width)。必須は source のみ
- sizing で4つのサイズモード(0:セルに収める / 1:引き伸ばす / 2:元サイズ / 3:カスタム)を選べる
- セルに紐づくため、並べ替え・フィルタで画像も一緒に動く
- VLOOKUP・IFERROR・IF・SWITCH と組み合わせて実務応用ができる
- 主なエラーは #CONNECT!(接続失敗)/ #VALUE!(引数ミス)/ #NAME?(バージョン非対応)/ #CALC!(タイムアウト)
- Googleスプレッドシート版とは引数順序とサイズモード番号が異なる
商品カタログや社員名簿、検査表、ステータス管理表など、画像入りの一覧表を作るときに大活躍する関数です。ぜひ自分のデータで試してみてください。
セルにリンクを設定して画像と組み合わせたい方はExcelのHYPERLINK関数の使い方もあわせてどうぞ。
Excel 365 の他の新関数が気になる方は、重複を除去するUNIQUE関数、条件で絞り込めるFILTER関数、連続値を生成するSEQUENCE関数もチェックしてみてください。
さらに高度な画像処理(Pythonライブラリを使った画像解析や自動生成)に挑戦したい方は、Python in Excel の使い方で別のアプローチも紹介しています。
