Amazon11/12まで!スマイルSale開催中!セール会場へ

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

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

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

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

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

掲載画面と操作記録は、2026年10月2日のパソコンのブラウザー版によるものです。

2026年10月25日は公式仕様と配布ZIPを再確認し、Googleスプレッドシートの画面操作やGAS実行は行っていません。

目次

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

空の練習シートを作り、ZIP内のimage-practice.tsvをテキストエディターで開きます。

ファイル内の画像URLだけをコピーし、練習シートのA2へ貼り付けます。

B2~E2は数式用に空けておきます。

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のようなセルを参照します。

スポンサーリンク

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

2026年10月2日の操作記録では、初回に#REF!となり、外部URLからデータを取得するアクセス許可の案内が出ました。

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

当時は実画面でも確認しましたが、今回の更新時には画像表示を再検証していません。

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

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

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

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

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

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

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

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

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

画像を選んだら、ダイアログの「開く」または「選択」を押し、選んだセルに表示されたか確認します。

メニューからの挿入は50MB未満のPNG・JPEG・GIFが対象です(Google公式の画像挿入手順)。

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

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

セル上の画像をセル内へ移す場合は、配置先のセルを選んでから画像のその他メニューを開きます。

「選択したセルに画像を置く」を選び、画像の移動先を確認してください。

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

GAS(Google Apps Script)は、スプレッドシートなどの操作を自動化する仕組みです。

次の例は、指定フォルダー直下のPNG・JPEG・GIFを最大50件まで処理し、新しいシートのセル上へ挿入します。

子フォルダー内は対象外で、挿入に失敗した画像も50件の上限に数えます。

編集権限のある練習用スプレッドシートで、拡張機能 → Apps Scriptを開きます。

次のコードを貼り、FOLDER_IDをアクセス可能な練習フォルダーのIDへ変更してください。

フォルダーURLの/folders/より後にあるID部分を使い、URL全体は入れません。

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

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);
    }
  }
}

保存したら実行する関数にimportDriveImagesToNewSheetを選び、実行します。

初回はコードの処理と必要な権限を確認して認可してください。

シートに戻り、画像一覧_で始まる新しいタブのファイル名・元ファイル・画像を照合します。

スプレッドシートから開く手順は、Google公式のコンテナバインドスクリプトでも確認できます。

Blob(ファイルのバイナリデータ)による挿入は、公式仕様で2MB以内です。

画像挿入時のエラーはC列へ記録し、再実行では別シートを作ります。

フォルダーID・アクセス権・認可の問題で開始できない場合は、Apps Scriptの実行エラーを確認します。

画像が入らない場合は、対象形式・ファイル容量を確認し、画像のコピーを縮小して再度試してください。

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

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

戻し方

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

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

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

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

公式の仕様と検証範囲

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

スポンサーリンク

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

練習ZIPには3つのTSV、3スライドを含むPPTXが1つ、PDF、数式TXTとGASのJavaScriptファイルがあります。

この画像記事ではimage-practice.tsv、code-278.txt、article-278.jsを使います。

code-278.txtの先頭4つの数式はシートへ、GASだけを使う場合はarticle-278.jsをApps Scriptへ貼ります。

2026年10月25日に、配布されたGASと本文のコードが改行・空白を除いて一致することを確認しました。

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

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

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

作業環境の作り方

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

この記事を書いた人

須澤 元貴のアバター 須澤 元貴 代表社員

MOTOKI合同会社 代表社員。
アニメ・映像業界とゲーム業界で、2D・UI・3D・アニメーション制作、映像編集、ツール制作に携わってきました。
現在はWordPressを中心にWebサイトの制作とカスタマイズを手がけています。
著書に『Unity デザイナーズ・バイブル』『Unityゲーム プログラミング・バイブル 2nd Generation』(ボーンデジタル)。
岡山県出身、埼玉県在住。

目次