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

こんにちは、hachi8833です。

Googleスプレッドシートのセル内に画像をぴったり合わせて埋め込み表示する方法をご紹介します。

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

Excelでは未だにこの機能を実現できておらず、世界中の人がマクロでサイズを合わせようとして涙ぐましい努力を重ねていますが、セルをリサイズした途端にすべて崩れてしまいますし、画像を含む行のソートすら満足にできません。

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

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

ご注意

以下の方法は現時点(2016年11月)に確認できた方法であり、今後Googleによって方法が変更されたり、利用できなくなったりする可能性があります。なお、2019年1月の時点では問題なく利用できています。

以下の手順では、Googleドライブに置いた画像で説明しています。

Googleドライブに置いた画像をGoogleスプレッドシートでセル内表示する手順

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

  • [リンクの共有がオンです] になっていることを確認し、表示されたURLをコピーします。

  • コピーしたURLから固有IDの部分を取り出します。コピーしたURLは以下のいずれかの形式になっていることがあります。このURLは画像のプレビュー用であり、このままではセル内表示に使えません。

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

  • 上で取り出した固有IDを以下のURLにはめ込みます。URLを以下の形式にするとダイレクトリンクになり、Googleドライブ上の画像に直接アクセスできます。

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

  • 上で組み立てたURLを以下のように数式の二重引用符""の中にはめ込み、Googleスプレッドシートのセルに入力します。

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

  • 以上で完了です。

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

画像表示のオプション

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

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

注意

Googleスプレッドシートで画像をセル内表示する場合、いくつか注意点があります。

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

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

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

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

画像の共有設定について

Googleドライブに画像を置く場合、共有設定には「リンクを知っている全員が閲覧可」をお使いください。設定方法はいくつかありますので、以下の画面以外でも設定できます。

「ウェブ上で一般公開」(下図)にすると、検索で画像を発見される可能性があるのでおすすめしません。理由がない限り「リンクを知っている全員が閲覧可」をおすすめします。

2. 外部から参照されては困る画像はGoogleスプレッドシートにセル内表示しないこと

1.で説明したように、画像へのURLを入手したユーザーは、誰でもブラウザで画像にアクセスできます。顧客情報や社内情報を含む画像や、著作権に触れる可能性のある画像は、Googleスプレッドシートでセル内表示しないようご注意ください。

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

関連記事

Excel で改ページを挿入できない場合の対応方法

デザインも頼めるシステム開発会社をお探しならBPS株式会社までどうぞ 開発エンジニア積極採用中です! Ruby on Rails の開発なら実績豊富なBPS

この記事の著者

hachi8833

Twitter: @hachi8833、GitHub: @hachi8833 コボラー、ITコンサル、ローカライズ業界、Rails開発を経てTechRachoの編集・記事作成を担当。 これまでにRuby on Rails チュートリアル第2版の監修および半分程度を翻訳、Railsガイドの初期翻訳ではほぼすべてを翻訳。その後も折に触れて更新翻訳中。 かと思うと、正規表現の粋を尽くした日本語エラーチェックサービス enno.jpを運営。 実は最近Go言語が好きで、Goで書かれたRubyライクなGoby言語のメンテナーでもある。 仕事に関係ないすっとこブログ「あけてくれ」は2000年頃から多少の中断をはさんで継続、現在はnote.muに移転。

hachi8833の書いた記事

夏のTechRachoフェア2019

週刊Railsウォッチ

インフラ

ActiveSupport探訪シリーズ