Tech Racho エンジニアの「?」を「!」に。
  • IT Tips

Googleスプレッドシートのセル内に画像をぴったり埋め込み表示する方法

更新情報

  • 2016/11/22: 最初の記事を公開
  • 2020/10/30: 新しい手順を追加し、既存の手順を更新

本記事の方法は、今後Googleによって変更されたり、利用できなくなったりする可能性があります。

はじめに

こんにちは、hachi8833です。

Googleスプレッドシート(現在はGoogle Sheetsが正式な呼び名です)のセル内に画像をぴったり合わせて埋め込み表示する方法を2とおりご紹介します。

セルをリサイズしても常にセル内で最大の大きさで表示されるので、大変快適です。もう画像がずれたりすることもありません。

本来表計算ソフトには画像をみだりに貼るべきではないのですが、Googleスプレッドシートの画像セル内表示機能は、使い方によっては非常に効果的です。

なお、Googleスプレッドシートの「挿入 > 画像 > セル上の画像」メニューでの画像挿入は、Excelの画像貼り付けと同じ機能なので、本記事では使いません。おそらくExcelとの互換のためにある機能なので、個人的には使わないようにしています。

追記(2020/10/30): 以前は世界中の人がマクロでサイズを合わせようとして涙ぐましい努力を重ねていましたが、現在のExcelでは、貼り付けた画像ごとにプロパティで「セルに合わせて移動やサイズ変更をする」を指定することはできるようです。ただしExcelでは、本記事で紹介するGoogleスプレッドシートでの方法のように「セルの中に」画像が入るわけではないので、画像を貼り付けるときにセルからずれないよう引き続き気を遣う必要がありそうです。

参考: Excelの「セルに合わせて移動やサイズ変更をする」の意味。並べ替えや抽出にも影響 | 志木駅前のパソコン教室・キュリオステーション志木店のブログ

方法1(メニューから行う方法)

Googleスプレッドシートが更新されて、メニューで簡単にできるようになりました。

  • Googleスプレッドシートでセルを選択し、[挿入] > [画像] > [セル内の画像]をクリックします([セル上の画像]ではありません)。

  • 「画像の挿入」ダイアログで、挿入する画像を選択します。読み込み元を「アップロード」「カメラ」「URL」「写真」「GOOGLEドライブ」「GOOGLE画像検索」タブから選びます(画像ファイル名を検索して選択することもできます)。

なお「画面の挿入」ダイアログの左にある項目は絞り込み用です。ここで「マイドライブ」が選択された状態だと共有ファイルが除外され、マイドライブの画像ファイルだけが表示されます。Google Workspaceで共有されている画像ファイルを表示するには、ダイアログ左にある「共有アイテム」や「共有ドライブ」をクリックします。

  • 表示したい画像を選択して[挿入]をクリックすれば完了です。セルをリサイズすれば画像の大きさも連動してリサイズされます。

上の図でわかるように、方法1ではセルを選択したときの数式バーの中が空になります。

方法1のメリット

  • メニューだけで簡単に実行でき、セルのサイズに合わせて自動リサイズされる
  • Googleドライブ以外にもさまざまな方法で画像を読み込める
  • 画像の共有に気を遣わなくて済む
    • 後述の方法2のように画像のアクセス権限を[リンクを知っている全員]に変更したりする必要がない

なお方法1ではセルに関数を挿入しないので、後述の方法2のように「画像表示のオプション」を変更することはできません。

方法2(image()関数と画像IDを使う方法)

こちらは更新前の記事で紹介していた方法です。方法1より多少面倒ですが、後述するように、方法1にはない表示オプションも指定できます。

  • セル内表示したい画像をGoogleドライブにアップロードし、右クリックして [リンクを取得] をクリックします。

  • 「リンクを取得」の[制限付き]をクリックし、[リンクを知っている全員]を選択します。

  • [リンクを知っている全員] が選択されていることと、[閲覧者]が選択されていることを確認し、表示されたURLをコピーします。終わったら[完了]をクリックしてダイアログを閉じます。

  • コピーしたURLは以下のいずれかの形式になっているので、そこから固有IDの部分を取り出します。固有IDは33文字の英数字と記号でできています。

https://drive.google.com/open?id=固有ID
https://drive.google.com/file/d/固有ID/view?usp=sharing

なお、これらのURLは画像のプレビュー用であり、このままではセル内表示に使えません。

  • 上で取り出した固有IDを以下のimage()関数にはめ込みます。

=image("https://drive.google.com/uc?export=download&id=固有ID")

  • これをGoogleスプレッドシートのセルに入力すれば完了です。

表示されない場合は、ページを再読み込みするか、画像が「リンクを知っていれば共有可能」になっていることを確認してください。

方法2の画像表示オプション

オプション 説明
=image("URL")
=image("URL", 1)
セルのサイズに合わせて画像のサイズが調整されます(デフォルト)
=image("URL", 2) セルのサイズに合わせ、余白を作らないように画像のサイズが調整されます(縦横比は崩れます)
=image("URL", 3) 画像を元のサイズで表示します
=image("URL", 4, 高さ, 幅) 画像のサイズをピクセル数で指定できます

詳しくはGoogleのサポートページをご覧ください。

方法2の注意

方法2についてはいくつか注意点があります。

1. 画像はインターネット上のパブリックなサイトに置く必要がある

Googleスプレッドシートはインターネット上のサービスであることを思い出しましょう。社内の画像サーバーなどに置いた画像やPC内の画像を参照してセル内表示したくても、仕組み上許されていません。

インターネット上の誰でもアクセスできる場所に置かれていない画像は、Googleスプレッドシートでセル内表示できませんのでご注意ください。

なお、本記事の方法2ではGoogleドライブの特定のフォルダに画像を置くことを前提にしています。

Googleドライブに画像を置く場合、上述のようにリンクを取得するときに「リンクを知っている全員」を指定してください。設定方法はいくつかありますので、以下の画面以外でも設定できます。権限は必要がない限り[閲覧者]にしておきましょう。

追記(2020/10/30): 以前のGoogleドライブには「ウェブ上で一般公開」という指定項目もありましたが、現在はなくなったようです。

2. URLを知っていれば誰でも画像にアクセスできることを意識しておく

1.で説明したように、画像へのURLを入手したユーザーは、誰でもブラウザで画像にアクセスできます。画像へのURLを不用意に外部にさらさないよう注意しましょう。

本記事の説明ではUTF-8の絵文字画像を使っています(絵文字そのものではありません)。

関連記事

Excelで改ページを挿入できない場合の対応方法(更新版)


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。