Amazon10/19まで!プライム感謝祭開催中!セール会場へ

Googleスプレッドシート│セルに画像を入れる方法とIMAGE関数の使い方

セル内画像は表の行に対応する画像を管理するときに使います。

公開画像のURL一覧ならIMAGE関数、手元や非公開Driveの画像なら挿入メニューを選びます。

練習データ・スライド・PDF・コードTXTをダウンロードすると、同じ入力で試せます。

実務ファイルは変更前にコピーを作ります。

画面は2026年10月2日のパソコンのブラウザー版です。

目次

IMAGEの4モードを同じ画像で比べる

image-practice.tsvを画像練習のA1へ読み込みます。

A2はCGメソッドの公開練習画像URLです。

B:E列の幅を180ピクセル、2行目の高さを100ピクセルに設定し、B2~E2へ順に次の式を入れます。

=IMAGE(A2,1)
=IMAGE(A2,2)
=IMAGE(A2,3)
=IMAGE(A2,4,60,160)
同じ公開画像をIMAGEの4モードで表示した画面
幅180、行高100で比較。モード3は原寸の一部、モード4は高さ60・幅160。2026/10/02時点の表示。
モード表示
1・省略時縦横比を保ってセルに収める
2縦横比を変えてセルに合わせる
3原寸のまま。セルからはみ出す部分は切れる
4高さ・幅をピクセル指定。例は高さ60、幅160

画像に合わせてセルの幅や行高を自動変更するモードはありません。

モード1でも画像が小さければセルのサイズを確認します。

URLは引用符で囲むか、A2のようなセルを参照します。

初回の外部取得許可と表示されない場合

今回の実シートは、初回に#REF!となり、外部URLからデータを取得するアクセス許可の案内が出ました。

練習ファイルと画像URLを確認してアクセスを許可すると、4つの画像が表示されました。

表示だけのAPI値では画像の見た目を確認できないため、実画面も確認しています。

エラーの理由を読み、アクセス許可、URLの誤り、認証が必要なページ、対応していない画像形式を切り分けます。

画像ファイルではなく、画像のあるWebページのURLを渡していないかも確認します。

非公開画像を一般公開に変えて解決しようとせず、メニューからの挿入を選びます。

公式仕様ではdrive.google.comのURLとSVGはIMAGEの対象外です。

Driveの共有リンクをuc形式へ変換する旧手順は使いません。

NOWやRANDなど変動する関数を画像のベースURLへ使う制限もあります。

メニューでセル内・セル上へ入れる

画像を入れるセルを選び、挿入 → 画像 → セル内に画像を挿入を開き、アップロードやGoogleドライブから選びます。

非公開のDrive画像は、アクセスできるアカウントで選びます。

セル内画像と文字列は同じセルへ置けないため、説明は別列へ入れます。

セル上の画像は表の上に浮くオブジェクトで、行の並べ替えと画像の対応を同じものとして扱いません。

必要な操作に応じて選びます。

非公開Drive画像の一覧を作るGAS補助例

次の既存例は最大50件のPNG・JPEG・GIFを、新しいシートのセル上へ置きます。

FOLDER_IDを練習フォルダへ変更します。

出力シートの閲覧者には画像コピーが見えるため、元画像の共有設定と出力先の共有設定を別々に確認します。

function importDriveImagesToNewSheet() {
  const FOLDER_ID = '対象フォルダID';
  const MAX_IMAGES = 50;
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const files = DriveApp.getFolderById(FOLDER_ID).getFiles();
  // 既存シートを消去せず、新しいシートを作ります。
  const sheet = ss.insertSheet('画像一覧_' + Date.now());
  sheet.getRange(1, 1, 1, 3).setValues([['ファイル名', '元ファイル', '画像(セル上)']]);
  sheet.setColumnWidth(3, 160);
  let count = 0;
  while (files.hasNext() && count < MAX_IMAGES) {
    const file = files.next();
    if (!['image/png', 'image/jpeg', 'image/gif'].includes(file.getMimeType())) continue;
    const row = ++count + 1;
    sheet.getRange(row, 1).setValue("'" + file.getName());
    sheet.getRange(row, 2).setValue(file.getUrl());
    sheet.setRowHeight(row, 110);
    try {
      const blob = file.getBlob();
      if (blob.getBytes().length > 2 * 1024 * 1024) throw new Error('2MBを超えています');
      const image = sheet.insertImage(blob, 3, row);
      const scale = Math.min(140 / image.getWidth(), 100 / image.getHeight(), 1);
      image.setWidth(Math.max(1, Math.round(image.getWidth() * scale)));
      image.setHeight(Math.max(1, Math.round(image.getHeight() * scale)));
      image.setAltTextTitle(file.getName());
    } catch (error) {
      sheet.getRange(row, 3).setValue('挿入できません: ' + error.message);
    }
  }
}

Blobでの画像挿入は2MB以内です。

挿入できない画像はC列へ理由を書き、再実行では別シートを作ります。

このGASの実サービス画像挿入は未検証で、IMAGEの実画面確認をGASの動作確認とは扱っていません。

少数の架空画像で試してから使用してください。

戻し方

IMAGEの結果を消すときは、そのセルの式を外します。

元の画像ファイルは削除されません。

メニューで入れた画像は対象のセルや画像を確認して取り除きます。

GASの試験で追加したシートだけを整理する場合も、他の表を消さないよう名前と内容を確認してください。

公式の仕様と検証範囲

IMAGE関数で現在の仕様を確認できます。

練習データとコードの使い方

練習ZIPには3つのTSV、3枚のPPTX、Googleから書き出したPDF、数式TXTとGASがあります。

担当者の非公開GoogleファイルIDは入っていません。

TXTにある数式はシート、GASはApps Scriptへ貼ります。

旧GitHub資料と今回の改訂コードは同じ版とは限りません。

よくある質問:スプレッドシートのセルに画像を入れるときのチェックリスト

セルに画像を入れる方法は、どう選べばよいですか?

公開画像のURL一覧ならIMAGE関数、手元や非公開Driveの画像なら、挿入メニューを選びます。セル内画像は、表の行に対応する画像を管理するときに使います。

IMAGE関数の4つのモードは、どう違いますか?

モード1(省略時)は、縦横比を保ってセルに収めます。モード2は、縦横比を変えてセルに合わせます。モード3は、原寸のままで、セルからはみ出す部分は切れます。モード4は、高さ・幅をピクセルで指定します。画像に合わせてセルの幅や行高を自動で変更するモードはありません。

IMAGE関数で、「#REF!」が出ました。

初回は、外部URLからデータを取得するアクセス許可の案内が出ることがあります。この記事の実シートでも、初回は#REF!になり、許可すると4つの画像が表示されました。エラーの理由を読み、アクセス許可、URLの誤り、認証が必要なページ、対応していない画像形式を切り分けてください。

画像のURLを指定したのに、表示されません。

画像ファイルではなく、画像のあるWebページのURLを渡していないか確認します。URLは引用符で囲むか、A2のようなセルを参照します。

Driveの画像を、IMAGE関数で表示できますか?

公式仕様では、drive.google.comのURLとSVGは、IMAGE関数の対象外です。Driveの共有リンクを変換する旧手順は使いません。非公開画像を一般公開に変えて解決しようとせず、メニューからの挿入を選んでください。

セル内の画像と、文字は、同じセルに置けますか?

置けません。セル内画像と文字列は同じセルに置けないため、説明は別列へ入れます。セル上の画像は、表の上に浮くオブジェクトで、行の並べ替えと画像の対応を同じものとして扱いません。

GASの補助例は、動作確認済みですか?

このGASの実サービス画像挿入は、未検証です。IMAGE関数の実画面確認を、GASの動作確認とは扱っていません。最大50件のPNG・JPEG・GIFが対象で、Blobでの画像挿入は2MB以内です。少数の架空画像で試してから使用してください。

画像を元に戻すには?

IMAGE関数の結果を消すときは、そのセルの式を外します。元の画像ファイルは削除されません。メニューで入れた画像は、対象のセルや画像を確認して取り除きます。画面は2026年10月2日の表示で、最新の仕様は公式ヘルプで確認してください。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

スプレッドシート・GASのおすすめ書籍

作業環境の作り方

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次