Googleスプレッドシート Google関数」記事で少し触れた「IMAGE」関数ですが、とても便利な関数ですので、改めて使い方などをご紹介します。

IMAGE関数は、URLで指定する画像をスプレッドシートのセル内に表示することができます。

まず、関数を使わずにセル内に画像を表示してみます。
サンプルとして富士山の写真を Googleドライブ上にアップロードしておきました。
あるセルを選択し、スプレッドシートのメニュー [挿入]-[画像]-[セル内に画像を挿入]をクリックします。(下図)

 

「画像の挿入」ダイアログが現れます。(下図)

 

ここでは Googleドライブにアップした写真を使いますので「GOOGLEドライブ」タブを開き「マイドライブ」の中から当該写真を選択し「挿入」をクリックします。
(写真がローカルPC上にあるなら「アップロード」タブを開いて当該写真をダイアログ上にドラッグしてもよいです。)
セル内に写真が挿入され表示されます。(下図)

 

セルのサイズ(幅・高さ)でリサイズされますので、セルの幅・高さを調整して画像サイズを変えてください。

手作業でシート上に画像を表示するならこのようにすればよろしいのですが、何らかの処理によって適宜画像を表示するには IMAGE関数を使います。

IMAGE関数の書式は、以下のようになります:
 IMAGE(URL, [モード], [高さ], [幅])

  URL:画像の URLを二重引用符で囲むか、セル参照して指定します
  モード:画像のサイズモード
    1:(省略可) アスペクト比を維持しながらセル内に収まるように画像をリサイズします
    2:アスペクト比を無視してセル内に収まるように画像をリサイズします
    3:画像を元のサイズのまま表示します(セルサイズによりトリミングされます)
    4:カスタムサイズに変更できます

例えば、A1セルに「=IMAGE("https://www.google.com/images/srpr/logo3w.png")」と入力するとセル内にロゴ画像が表示されます。(下図)

 

この例では、第2引数「モード」が省略されていますので、画像のアスペクト比を維持しながらセル内に収まるように画像をリサイズして表示されます。
「モード」を「2」としてみると、下図のようにセル内に収まるように画像をリサイズして表示します。

 

図示しませんが「モード」を「3」とすれば画像の元のサイズのまま表示します。
「モード」を「4」とするときは、第3引数「高さ」第4引数「幅」も指定しないと「#N/A」エラーになります。
また、画像をカスタムサイズに変更しても、セルのサイズは自動的に変更されません。

ところで、Googleドライブにアップした写真には共有のためのリンクURLがあります。
写真ファイルを選択し、メニュー「リンクを取得」をクリックすると、下図のような「共有」ダイアログが現れます。

 

この左下にある「リンクをコピー」をクリックすると「https://drive.google.com/file/d/1qixxxxxxxxxx8k/view?usp=share_link」のような URLが取得できます。
このリンクURLを使っても IMAGE関数で表示することはできません。
(このリンクURLを Webブラウザでアクセスして表示することはできます。)
Googleのヘルプページ「IMAGE」でも、「使用できる URLは、drive.google.com でホストされていないもののみです」と記載されています。

ならばどうしましょう?
この URLを以下の形式に変更します:
 「https://drive.google.com/uc?export=download&id=1qixxxxxxxxxx8k
この URLを使って IMAGE関数でセル内に表示させることができます。(下図)

 

ただし、この書き換え作業をその都度行うのは大変でしょうから、元のリンクURLを貼り付けたセルを参照して IMAGE関数で使えるようにしておくと便利です。
例えば C2セルにリンクURLを入力しておき、C1セルに「=IMAGE("https://drive.google.com/uc?export=download&id="&mid(C2,find("d/",C2)+2,find("/view?usp=share_link",C2)-find("d/",C2)-2))」とすればよろしいです。

 

これで、Googleドライブに保存した画像をスプレッドシートのセル内に表示することができます。

なお、Googleドライブ以外の一般の Webページにある画像ならもっと簡単です。
ページ内の画像を右クリックし「画像アドレスをコピー」を選択、コピーされたアドレスを IMAGE関数の第1引数として与えるだけです。

商品カタログや名刺管理、社員名簿などなど画像をスプレッドシートのセルに表示できるとより便利に使える応用は多いので、是非お試しください。