スプレで画像をやりとりする際の最適解は?
突然ですが、スプレッドシートでWeb上、ないしGoogleドライブ内で「リンクを知っている人全員に共有」を設定した画像が、IMAGE関数というものを式にいれれば、セル内で画像を読み込めます!
以下のシートがその表示例です。(2021/9/12 Dropboxの画像リンク貼り付け方法も追記しました!)
スマホで閲覧している方でスプレッドシートのアプリをインストールしていない方は表示されないかもですので、念のため以下がキャプチャです。
IMAGE関数の構文
IMAGE関数の使い方です。
=IMAGE(“画像URL”, [モード], [高さ], [幅])
※画像urlのみ必須で他は任意のオプション項目です。
2つ目のモードはどのように画像表示するか、1~4の数字を選び、以下の4つのモードから選択します。
- アスペクト比を変えずにセル内に収まるように画像サイズを変更します。
- アスペクト比を無視してセル内に収まるように画像を引き伸ばすか縮めます。
- 画像を元のサイズのままにします。その場合、画像がトリミングされることがあります。
- カスタム サイズに変更できます。
3,4の引数ではモードが4のときの場合のみ、表示画像の幅と高さを指定します。
Googleドライブの画像をimage関数で表示するには?
image関数ではGoogleドライブの画像を表示することにも対応しており、スプレッドシートのセル内に表示することが可能です。
Googleドライブに保存されている画像をスプレッドシートのセルで表示するには、まず、その画像を外部に公開していなければいけません。
通常のGoogleドライブの画像は自分にしか見えていない制限モードのため、URLを生成してもスプレッドシートからはアクセスができません。
画像を公開状態にするには、
- Googleドライブの管理画面上で、スプレッドシートにimage関数で掲載したい画像を右クリックし、「共有可能なリンクを取得」を選択します。
- 制限付きという状態になっているので、そこをクリックし、「リンクを知っている人全員」に変更します。
- これで外部からもGoogleドライブの画像にアクセスできるようになったので、「リンクをコピー」をクリックして、画像リンクを取得します。
image関数でGoogleドライブ画像の表示方法
Googleドライブの画像の共有リンクはスプレッドシートのセルに表示できるURLではないため、Googleドライブの単純な共有URLではだめで、
スプレッドシート上でも表示できるようにURLを以下のように変更してあげる必要があります。
https://drive.google.com/file/d/1M38tplZyFsnb1xvPg64dWy_JPBBVrEB_/view?usp=sharing
↓
https://drive.google.com/uc?export=download&id=1M38tplZyFsnb1xvPg64dWy_JPBBVrEB_
赤字の、idにあたる部分のみが元の共有URLから拝借する部分です。
これを一回一回手動で書き換えるのは大変な手間なので、
IMAGE関数用に作成した以下のような式を通過させて出力されたパスをIMAGE関数で読み込むと効率的です。
以下の式は汎用的に使用できますので、どうそコピペしてお使いください。
※A7のセルにGoogleドライブ上の画像の共有URLがあるとして、
="https://drive.google.com/uc?export=download&id="&mid(A7,find("d/",A7)+2,find("/view?usp=sharing",A7)-find("d/",A7)-2)
これでOKです。(ご自身のシートに合わせて赤字部分を変更してください)
Dropboxの画像をimage関数で表示するには?(2021/9/12追記)
Dropbox上に保存したの画像もIMAGE関数で表示できることが判明しましたので、追記します!
僕的にはGoogleドライブよりもDropboxの方が使いやすいので、これはありがたかったです。しかも、Googleドライブのやり方ではではなぜかスマホやタブレットのスプレッドシートでは画像が表示できませんでしたが、Dropboxでは表示できました。
まず、Dropboxのオプションで画像の共有URLを作成します。
こうして取得できる共有URLですが、
Dropboxの画像の共有リンクスプレッドシートのセルに表示できるURLではないため、
スプレッドシート上でも表示できるようにURLを以下のように変更してあげる必要があります。
https://www.dropbox.com/s/4fgaijfg938lvev/IMG_3393.JPG?dl=0
↓
https://dl.dropboxusercontent.com/s/4fgaijfg938lvev/IMG_3393.JPG?dl=0
赤字の、idにあたる部分のみが元の共有URLから拝借する部分です。
これを一回一回手動で書き換えるのは大変な手間なので、
IMAGE関数用に作成した以下のような式を通過させて出力されたパスをIMAGE関数で読み込むと効率的です。
以下の式は汎用的に使用できますので、どうそコピペしてお使いください。
※A11のセルにGoogleドライブ上の画像の共有URLがあるとして、
="https://dl.dropboxusercontent."&MID(A11, FIND("com",A11),100)
これでOKです。(ご自身のシートに合わせて赤字部分を変更してください)
クライアントや社内での画像のやりとりでのトラブルを解消できるか?
スプレでの画像のやりとりは制作の仕事で多くなっています。
しかし、画像の扱いに関するリテラシーの違いのため、スプレに貼った画像はそのまま再利用できると思われ、元画像をいただけていないということもあり得ます。
もしくは、もっと多いのは、ドライブやDropboxで画像を大量に頂けても、画像名がすべてifa6464gagaga.jpgとか、何らかの機器で生成された生の状態であるために、
どの画像をどれに使用したいのか不明!というケースがあります。
ECサイトの商品画像の場合、これは致命的です。
以前、サイト移行の際に膨大な量の画像がこの状態で渡され、結局旧ECサイトの全商品ページを見ながら、画像名をリネームしたり、商品名で名付けたフォルダに仕分けするという事務作業が1日がかりで発生してしまいました。
上記のような方法を知っていれば、
- 元画像は必ずドライブに上げている必要がある
- セル上にもその画像が表示されるので、対応する商品名を隣のセルに記載でき、命名ルールの管理でき、紐づけの間違いも避けられる
ので、精度の高いプロジェクト進行ができるのではないでしょうか!