こちらのCGメソッドの記事ではセル内で画像表示!IMAGE関数の使い方を紹介します!IMAGE関数はエクセルにはないGoogleスプレッドシート独自の機能で非常に便利です!
どうも!エクセルよりスプレッドシートを主に使うようになった、すいみん(@cg_method)です!
GoogleスプレッドシートのIMAGE関数はセル内で画像を表示できる関数です!
セル内で画像表示できるIMAGE関数とは?ずれるなどの表示状態の特徴
IMAGE関数を用いて画像を参照すると下記のセル内で下記のような画像表示状態になります。
- まず上下左右ピッタリの状態
- そしてセルの幅を縮めると、上下に余白、左右ぴったりに変化
- 逆にセルの幅を広げると、左右に余白、上下ぴったりに変化
と言う感じでセル内に収まるように画像が表示されます。
次に使い方の紹介です。
画像を埋め込む!IMAGE関数の使い方
- 使い方は簡単!セルに
=IMAGE("画像のURL")
と入力するだけです。
URL先から画像読み込んで表示するので、表示に少し時間がかかります。
[応用] Google Driveにある画像をリンク参照してIMAGE関数で表示する方法
- まず画像から「共有可能なリンクを取得」から、リンクを取得します
https://drive.google.com/open?id=画像ID
- リンクは画像のURLではないので、下記のようにURLを変更することで画像URLを取得します。
http://drive.google.com/uc?export=view&id=画像ID
- あとは変更したURLをIMAGE関数を使ってセル挿入するだけです
=IMAGE("http://drive.google.com/uc?export=view&id=画像ID")
[セキュリティ問題]IMAGE関数の弱点について
[alert title=”注意”]
ここが重要です!IMAGE関数は*ネットに公開している画像URL*にしか表示することができません!
[/alert]
つまり「リンクを知っていれば誰でも閲覧できる状態の画像」しか表示されません。
たとえば「共有可能なリンク状態でない画像のURL」や「G Suite内の画像」だったり、限定したユーザーしか閲覧できない状態ではIMAGE関数は使えません!
以前どうしてもIMAGE関数が使いたくて、ログインの必要なWEBサービスへアップした画像URLを試してみましたが、表示できたのは「サービスにログインしなくても誰でも閲覧できる状態になってしまっている画像」でした。
ということで、パブリックに公開してはまずい画像には使わないことをおすすめします。
[上級者向け]スプレッドシートの表をHTML化して限定公開にする
手間がかかりますが、最終的にHTML化するという方法もあります。
セル内で画像表示!IMAGE関数の使い方のまとめ
Image関数があるからスプレッドシートを使うくらい便利な関数ですが、非公開状態の画像が扱えない点だけは残念です。