![見出し画像](https://assets.st-note.com/production/uploads/images/113162583/rectangle_large_type_2_d4933a52786a55eaabc1ddd4ec597074.png?width=1200)
Googleスプレッドシート 画像にまつわるエトセトラ 2 (あくまでも Image)
イメージ、イメージ、あくまでも イメージ♪
前回に続き Googleスプレッドシートにおける 画像にまつわるエトセトラを書きたいと思います。
前回は 挿入した画像をメインで書きましたが、今回は image関数に関連するエトセトラを中心に書いていきたいと思います。
シリーズ前回のnote
画像をスプレッドシートに挿入した際のデメリット
前回紹介したスプレッドシートにパソコン内や Googleドライブ、Googleフォトの画像を挿入する方法は、スプレッドシート上で画像を扱う上で一番簡単なんですが、少しデメリット(困った点)もあります。
画像の一括挿入が出来ない
![](https://assets.st-note.com/img/1692408220447-wZziPoD52g.png?width=1200)
1つは画像の一括挿入が出来ないというデメリット。
前回、画像をExcelに挿入してから Googleドライブにアップロードして、スプレッドシートにシートコピーする方法や iOSアプリ版から 画像一括挿入する方法を紹介しましたが、どちらもExcelソフトやiPhone 、iPadが必要である為、誰でも使える方法ではありません。
さらに言えば、Googleドライブ内の画像や Webページの画像を挿入する場合は、 これらの方法だと 一度画像をダウンロードしてからの処理になり、さらなる手間がかかります。
スプレッドシートのサイズが膨らみ続ける
![](https://assets.st-note.com/img/1692409472148-q72d8MUNMP.png?width=1200)
もう1つのデメリット(困った点)は、スプレッドシートの容量問題です。
スプレッドシートに画像を挿入した場合、その画像ファイルのデータサイズが、そのままスプレッドシートのデータサイズとして蓄積されます。
これは良いのですが、実は画像を削除してもスプレッドシートのサイズは小さくなりません。
Googleスプレッドシートは 過去の版にいつでも戻れる(復元できる)というのがウリの一つなので仕方ないのですが、削除した画像もいつでも戻せるように 真の保管場所(前回紹介した https://lh3.googleusercontent.com/u/1/docs/…)には画像が残ったままの状態となります。
![](https://assets.st-note.com/img/1692409896113-Y1eEMEMsCG.png?width=1200)
残念ながら 編集履歴の削除という機能は無いため、画像を貼っては削除して差し替えを繰り返すようなスプレッドシートだと、どんどんサイズが肥大していきます。
過去の編集履歴を消したい場合は、スプレッドシートのコピーを作成して、そちらを差し替えて使うしかありません。ただし、URLが変わってしまうので注意が必要です。
また、https://lh3.googleusercontent.com/u/1/docs/…から始まる 画像の真のアドレスも、スプレッドシート自体を ゴミ箱からも削除しない限りはずっと見れる状態となるので注意です。
![](https://assets.st-note.com/img/1691890403713-8LMH0Fz5Mz.png?width=1200)
セル内画像に限定されますが、これらの困った点を解決する スプレッドシートで画像を扱うもう一つの方法が、今回紹介する IMAGE関数 です。
IMAGE関数の基本 出来ること・出来ないこと
![](https://assets.st-note.com/img/1692411765850-6bj1i0HHYs.png)
IMAGE(URL, [モード], [高さ], [幅])
モード - [省略可 - デフォルトは 1] - 画像のサイズモード。
1 アスペクト比を維持でセルにフィット
2 アスペクト比を無視してセルにフィット
3 画像を元のサイズのまま。(セルサイズによっては見切れる)
4 は、カスタムサイズに変更。(高さ、幅をピクセル値で指定)
IMAGE関数は Googleスプレッドシートを代表する関数の一つです。
第1引数に URLを指定することで、 Web上で公開されている画像を取得してセル内に表示することが出来ます。
必須なのは第1引数のURLのみで、これはセル参照も可能。
関数内に直接URLを入れる場合は "https://…〇〇.jpg" といった形で ”(ダブルクォート)でURLを括る必要があります。
現在は 365版や 無料のWeb版の Excelでも IMAGE関数が使えます。
※引数が微妙に違ったり、挙動が違う部分があります。
IMAGE関数の特徴、出来ること、出来ないことを見ていきましょう。
セル内での位置操作、サイズ調整が出来る
![](https://assets.st-note.com/production/uploads/images/113743505/picture_pc_7c15afe1c75550c79dbb128e5d856a70.gif?width=1200)
あまり使う機会はないので、細かい説明は割愛しますが、上のGIF画像のようにIMAGE関数の画像は位置やサイズ調整ができます。
セル内の位置に関しては、直接画像を挿入した時と同様に 文字位置の左右、上下の位置調整ボタンで動かせます。
直接画像挿入では出来なかったセル内画像のサイズ調整も、IMAGE関数であればモードを変更することで対応できます。
たとえば モード3の元サイズで、セル以上のサイズにして位置を調整することで トリミングっぽく表示することが出来ますし、モード4のサイズ指定でセルよりぐっと小さいサイズにすることでセル内を自由に動かすことも可能。
![](https://assets.st-note.com/production/uploads/images/113743947/picture_pc_ca76994f647e9a6ec8b7ccb328afc04a.gif?width=1200)
1つのセルには1つの画像
![](https://assets.st-note.com/img/1692413497319-k3BGYsyiS7.png?width=1200)
IMAGE関数は、もちろん他の関数と組み合わせて使えます。
ただし 1つのセルに出力できるものは1つの画像という決まりがあります。画像に文字列を組み合わせたり、1つのセルに2つの画像を表示させようとするとエラーとなります。
これは、セル内への画像の挿入と一緒ですね。
ARRAYFORMULAとIMAGE関数は組み合わせて使える
![](https://assets.st-note.com/img/1692415331412-be2bnnTuCL.png?width=1200)
他の関数との組み合わせで、一番気になるのは ARRAYFORMULAと組み合わせて画像もスピるのか?という点ですよね。
IMAGE関数は ARRAYFORMULAでスピります!
=ARRAYFORMULA(image(B2:B7))
上のように B2:B7といった URLを入れたセル範囲を用意すれば、一つの式で一気に複数画像を入れることができます。
![](https://assets.st-note.com/img/1692416142166-FOoa1LBeph.png?width=1200)
=ARRAYFORMULA(HYPERLINK(B2:B7,image(B2:B7)))
さらに HYPERLINK関数と組み合わせることで、元の画像を開けるリンクを 画像(のセル)に仕込むことも出来ます。
値を貼り付けでセル内画像をコピーできる
![](https://assets.st-note.com/production/uploads/images/113745639/picture_pc_1a80fb5de9b8f3faf050668a82916961.gif?width=1200)
image関数で画像が表示されているセルをコピーして、他のセルに値を貼り付け(ショートカット Ctrl + Shift + v) をすると、セル内画像が貼り付けできます。
見た目は 画像を挿入したものと同じですが、実はまったく別モノです。この値を貼り付けで生成された セル内画像は一体なんなのか?
画像挿入のコピペや image関数からの値貼り付けは、同じスプレッドシート内(別シートは可能)に限定されますが、実は この値貼付けのセル内画像であれば、他のスプレッドシートにもコピペすることができます。
複数セルの画像でも 一気に 他のスプレッドシートに コピペOK。
これは凄いです!!
![](https://assets.st-note.com/production/uploads/images/113746721/picture_pc_0fa53ad74dd4b636ecdd5a45a47b7337.gif?width=1200)
凄く便利に思えますが、実はこれは非常に独特な仕様で癖があるんで注意が必要です。
この IMAGE関数の画像を値貼りつけで生成したもの(IMAGE値コピペ画像)を 第3のセル内画像として後ほど詳しく解説します。
IMAGE関数とGoogleドライブの画像
このIMAGE関数と相性が良いのが、Googleドライブ内の画像ファイルです。
人によっては、
えっ?Googleドライブの画像ってURLを一つ一つ取得して、さらにURLを直リンクに変換しないといけないし・・・面倒じゃない?
って思うかもしれませんが、事前の準備(型)さえ出来上がれば、超簡単にGoogleドライブからの画像一括挿入が可能です。
Googleドライブ + IMAGE関数が、 画像の一括挿入を 解決する一つの答えとなります。
![](https://assets.st-note.com/production/uploads/images/113756448/picture_pc_870c44a35cd44a80b6b6bfba69e04fb5.gif?width=1200)
このように GASなしで、 こんな感じに Googleドライブの特定のフォルダ内の複数の画像をスプレッドシートに リンク・プレビュー(拡大画像)付きで 一撃挿入できます。
ポイントと手順を見ていきましょう。
1.IMAGE関数で使える 画像URLは 一般公開されている必要がある
![](https://assets.st-note.com/img/1692425688683-yFIxo9UKCl.png?width=1200)
まず前提ですが、IMAGE関数では 閲覧が制限されている画像は扱えません。IMAGE関数で表示できる画像は、一般公開されているものだけです。
つまりGoogleドライブ内の画像であれば、リンク共有で「リンクを知っている全員」を閲覧者 に設定しておく必要があります。
リンクとして生成されるURLの ファイルID部分は ランダムな30文字以上の文字列であり、基本的には知っている人以外は開けない(見つけられない)ので、そこまで心配する必要はありません。
ただし、社員名簿 などをスプレッドシートで作成し顔写真をGoogleドライブからIMAGE関数で読み込むといった、個人情報や機密情報を扱うような使い方は、プライバシーリスクの観点からあまりおススメできません。
この点にまず注意が必要です。
2. Googleドライブ内の画像URLは特殊である
![](https://assets.st-note.com/img/1692426335781-80PuU3KSXz.png?width=1200)
たまに、Googleドライブ上で画像ファイルを開いた時のURL(赤線部分)をコピーして 画像のURLですって送ってくる人いますが、これは完全に間違いです!
この状態はGoogleドライブ上で画像をプレビューしている状態であり、URLは画像が格納されている Googleドライブ内のフォルダのアドレスです。
![](https://assets.st-note.com/img/1692426599754-Wl71W15kc6.png?width=1200)
Googleドライブ内の画像URLを取得する基本の方法は
右クリック > 共有 > リンクをコピー
です。
ただ、この方法で取得したURLも特殊な状態です。
https://drive.google.com/file/d/***ファイルID***/view?usp=drive_link
リンクをコピーで取得したこのアドレスでは、画像の直接のURLではない為 IMAGE関数で画像が取得できません。
【リンクをコピーで取得したURL】
https://drive.google.com/file/d/***ファイルID***/view?usp=drive_link
↓
直リンク変換
↓
【IMAGE関数で使えるURL】
https://drive.google.com/uc?id=***ファイルID***
このようにIMAGE関数で使えるアドレスに変換する必要があります。
直リンクアドレスは いくつか書き方があるんですが、一番短いシンプルなものを今回は採用しました。
![](https://assets.st-note.com/img/1692427269432-1LEH8Hv8v1.png?width=1200)
左の変換前のURLを開くとGoogleドライブでの画像表示になるのに対して、右の変換後のURLで開いた場合は 画像だけが表示されているのがわかりますね。
3. Googleドライブ内のファイルのURLは一括で取得できる
えっ!複数ファイルのURLの一括取得って出来たの??
という人もいるんじゃないでしょうか。
以前は、先ほど書いた基本の右クリックから リンクをコピーを1ファイルずつやるしかなかったので、一括取得は GASを使うしかありませんでした。
しかし2022年5月のアップデートで、Googleドライブ内で キーボードショートカットを使った ファイルのコピペが可能になったのです。
コピーした後、ドライブ内に貼り付ければファイルコピーされるんですが、ドキュメントやスプレッドシート、スライドに貼り付けた場合は
Googleドライブ内で ファイルを選択
(Ctrl+A でフォルダ内のファイルを全選択も可)
↓
Ctrl + C (コピー)
↓
スプレッドシート(またはドキュメント、スライド)で、
Ctrl + V (貼り付け) リンク付きファイル名
Ctrl + Shift + V (値貼り付け) ファイルのURL
![](https://assets.st-note.com/img/1692428498037-4hImPFWHbE.png?width=1200)
このようにハイパーリンク付きのファイル名、値貼付けなら リンクURLを 一括で 貼り付けることが出来ます。
Ctrl + C のコピー前に ドライブ内を名前順にして、貼った時に希望の順番になるようにファイルの並びを調整しておくこともポイントです。
また、同じフォルダ内のファイルに限らず、Googleドライブで検索した結果として表示された ファイルから、必要なものを幾つか選択して同じようにコピペすることも可能です。
このGoogleドライブのアップデートで、mir的にはかなり便利になりました。
今回はこれを使うことで、スプレッドシートに挿入したい画像ファイルのURLを一括取得しています。
4.Googleドライブ内のファイルのURLは チップ化、プレビューが可能
![](https://assets.st-note.com/img/1692429295405-81mUJjLQdA.png?width=1200)
これも比較的最近のアップデートによるものですが、一般的なサイトの画像のURLと違って Gooogleドライブ内の画像ファイルを使うメリットが、このプレビュー機能です。
チップ化は右のような 形状になるだけなんで、現時点では画像ファイルにおいてはあまり使う機会はありませんが、マウスをあてるとこのようにプレビューで少し大きい画像が表示される機能は便利ですね。
画像入りの表だと構成上、セルをあまり大きくできず 画像が小さくてよく見えないといった不満がありました。
![](https://assets.st-note.com/img/1692429613998-enzwLaawju.png?width=1200)
このプレビュー機能によって、画像にGoogleドライブ内の画像のURLをハイパーリンクとして仕込めば、マウスをあてればプレビューで画像が大きく見えるようになったわけです。超便利ですね!!
余談ですが、YoutubeのURLもチップ化&プレビューができます。さらにYoutubeだと動画の音なしチラッと再生まで出来ちゃいます。凄い!
![](https://assets.st-note.com/production/uploads/images/113762353/picture_pc_be744e7e63a812b26faff5a373f63b89.gif)
このプレビュー機能は スプレッドシートの共有相手も使えますが、Googleアカウントにログインした状態で閲覧しないとプレビューが機能しないようです。そこだけ注意。
5. URL変換、HYPERLINK挿入を処理する数式を用意する
最後に 直リンクURLの変換と ハイパーリンク化を 一気に実現する(Arrayformula処理する)数式を組み立てていきましょう。
ちなみに一括コピペ取得したURLは、先ほどの リンクをコピーで取得するURLとはちょっと違っています。
【Ctrl+C → Ctrl+Shift+V で取得したURL】
https://drive.google.com/open?id=***ファイルID***=drive_copy
【リンクをコピーで取得したURL】
https://drive.google.com/file/d/***ファイルID***/view?usp=drive_link
▼ どっちもこの形式にしたい
【IMAGE関数で使えるURL】
https://drive.google.com/uc?id=***ファイルID***
どちらのパターンでも IMAGE関数で使えるURL にしたいわけですが、どうすればよいか?
ここで使うべきは 正規表現が扱えて置換処理ができる REGEXREPALCE関数です。
![](https://assets.st-note.com/img/1692431518088-Dw1gZOH0vM.png?width=1200)
REGEXREPLACE(A1,"^(.+com/).+?([^/&\.=]{30,}).?$","$1uc?id=$2")
ファイルIDを / & . = 以外の文字が30以上連続する塊と 定義しました。
それが ([^/&\.=]{30,}) この部分です。
正規表現の回じゃないんで、ざっくり解説すると
列挙した単体文字以外を表すのが [^(ここに対象文字) ]
.(ドット) はメタ文字なので \ を付けてエスケープする必要がある
{30, } が30文字以上の繰り返し
全体を ( ) で括ることで、 キャプチャグループとして取得 置換後に利用可能
こんな感じ。
![](https://assets.st-note.com/img/1692432238589-wpsbmKQWI6.png?width=1200)
どちらのパターンでも同じ形に変換できているのがわかりますね。
ちょと複雑で理解が追い付きません!って場合は、REGEXREPLACE使わずに、単純にファイルID部分だけ REGEXEXTRACT関数で抜き出してURLの固定されてる 前半部分と連結させちゃっても良いです。
="https://drive.google.com/uc?id="®EXEXTRACT(A1,"[^/&\.=]{30,}")
この成形したURLをIMAGE関数とHYPERLINK関数とで、2回使うのでこれを LETで変数化しておきましょう。
LET(array, REGEXREPLACE(A1,"^(.+com/).+?([^/&\.=]{30,}).?$","$1uc?id=$2"),
この array を使うと image関数部分、HYPERLINK部分は
HYPERLINK(array,IMAGE(array))
このようにシンプルに記述できます。
最後に一番外側から ARRAYFORMULAして、範囲をURLを入れる予定の A1:A9 としてあげれば完成!
=ARRAYFORMULA(LET(array,
REGEXREPLACE(A1:A9,"^(.+com/).+?([^/&\.=]{30,}).?$","$1uc?id=$2"),
HYPERLINK(array,IMAGE(array))))
正規表現の部分は解説端折りすぎですかね。。正規表現の話は長くなるので、また別の機会に詳しく触れられればと思います。
余談1. Googleドライブのファイルはリンクそのまま中身差し替えが出来る
![](https://assets.st-note.com/img/1692434161064-QBu4ilpqtF.png?width=1200)
Googleドライブのアップロード先のフォルダに、同じ名前のファイルがあった場合、画像のようなアップロードオプションが表示されます。
Googleドライブは 裏側ではユニークなファイルIDで個々のファイルを識別している為、フォルダ内に同じ名前のファイルが存在しても問題ありません。
ただ、念のため上のように置き換えですか?と聞いてくれるわけです。
面白いのは、ここで「置き換え」を選択すると、共有の設定や ファイルのID(URL)はそのままに中身を差し替えできるんです。
これは画像だけでなくPDF等の アップロードできるファイルなら、同じように使えます。
メールや グループチャット等で ドライブ内PDFを 回覧した際に、発信直後に間違いに気づいたら、他の人が開く前に こっそり中身を修正版にさしかえることも出来ちゃいます。
![](https://assets.st-note.com/img/1692434613073-r9sn86ARt0.png?width=1200)
もちろん、一定期間であれば 過去の版に戻すことも可能です。
じゃあ、本題ですが
Googleドライブ内の画像を置き換えた時に IMAGE関数で表示している画像はどうなるか?
![](https://assets.st-note.com/production/uploads/images/113768286/picture_pc_0b52cad9b5049e0cd5f81060cfc3f5d7.gif?width=1200)
F5 リロードでスプレッドシートを開きなおし関数が再計算されると、画像が置き換え後のものに変わりました。
つまり、スプレッドシート側をいじらなくても画像を差し替えることが出来るわけです。
これもなかなか便利ですね!
余談2. Googleフォトの画像をIMAGE関数で扱いたい場合は?
少し脱線しますが Googleドライブではなく、Googleフォトの画像を IMAGE関数で取得したい場合はどうすればよいでしょうか?
![](https://assets.st-note.com/img/1692435141450-ucVZNB80ay.png?width=1200)
Googleドライブの時と同じく Googleフォトも 画像を開いた状態のURLをコピーしたり、共有リンクの作成から 取得したURLでは、IMAGE関数で画像を表示することはできません。
![](https://assets.st-note.com/img/1692435298156-HYfLTP17c4.png?width=1200)
IMAGE関数で利用できるアドレスは Googleフォトで画像を開いた状態で、画像を右クリックして 「画像アドレスをコピー」で取得できる、とんでもなく長いアドレスを使います。
つまり画像 1枚につき1回ずつ アドレスの取得が必要になります。
![](https://assets.st-note.com/img/1692435566034-exnlCAnUWp.png?width=1200)
さらに、このように 本来のPNGの透過が反映されません。
通常のJPGE画像であれば問題ないですが、透過イラストだと困りますね。IMAGE関数で利用する場合は Googleドライブ内の画像の方が良さそうです。
ただし、このGoogleフォトの 真のURLは 共有設定なしで 開ける特殊なURLです。
別に他の写真も見られちゃうってことはありませんが、その点を理解した上で使いましょう。
余談3. ExcelのIMAGE関数から Googleドライブの画像は開けない
![](https://assets.st-note.com/img/1692436432521-xXwyqT4LMP.png?width=1200)
マイクロソフトの嫌がらせなのか、セキュリティの仕様の問題なのかわかりませんが、残念ながら Excelオンライン のIMAGE関数では Googleドライブ内の画像を表示することが出来ません。
export=download を入れた直リンクも試してみましたが、#ブロック!というエラーが出てしまいました。Edge,Chromeどちらもダメですね。
もしかしたら、URLをさらに変更する等の技があるのかもしれませんが、とりあえずはGoogleドライブと Excelの相性はここでも最悪みたいですw
Googleドライブ内の画像 と IMAGE関数 まとめ
まとめです。
Googleドライブ内の画像ファイルのURLは一括で取得できる
Googleドライブ内の画像をHYPERLINKするとプレビュー出来る
REGEXREPLACE関数でIMAGE関数で使えるURLに成形できる
ARRAYFRORMULAで一つの式で展開できる
=ARRAYFORMULA(LET(array,
REGEXREPLACE(A1:A9,"^(.+com/).+?([^/&\.=]{30,}).+$","$1uc?id=$2"),
HYPERLINK(array,IMAGE(array))))
とりあえず Googleスプレッドシート内の 画像と IMAGE関数の組み合わせは便利だってことをお伝えしておきます。
なによりも元画像が自分のGoogleドライブ内にあれば、外部参照で急に画像が読み込めなくなる心配がないので、安心感がありますね!
ただし、IMAGE関数は1つのシートで大量に使うと 動きが重くなり、一部のセルで画像が表示されないことがあるので注意。
同じくPDF化や印刷時に一部画像が表示されないケースもあります。これは様々な要因で発生するので、何枚なら大丈夫といった目安がありません。
状況によっては 画像を直接挿入の方が良い場合もあるので、ケースバイケースで使い分けが良さそうです。
ちなみに、この Googleドライブ内の画像を取得する IMAGE関数式を応用すれば、画像をアップロードする Googleフォームをスプレッドシートに出力設定した際に、自動でスプレッドシートに画像を表示させることが可能です。
結構便利なんですが、設定の説明をすると長くなるので、今回はGoogleフォームと IMAGE関数の連携については割愛します。
第3のセル内画像 IMAGE関数の値貼り付け
IMAGE関数の出来ることで少し触れた、IMAGE関数をコピーして値として貼り付けたセル内画像。これを最後に検証したいと思います。
一見、非常に使い勝手が良さそうに思えますが、実際はどうなんでしょうか?
![](https://assets.st-note.com/img/1692500479068-VTsL0NS9Q5.png?width=1200)
セル内画像を
画像を挿入
IMAGE関数
IMAGE関数の値貼付け
の3つの形態に分類して、出来ること(特徴)を比較してみました。
ちなみに 画像を挿入したセルを =A1 として 参照したものや、この参照した式を他のセルに値貼付けしたものは「画像を挿入」と特徴が同じなので 1の画像を挿入に含めています。
出来ること・出来ないことの表を見ると、思ったより 第3の画像は✖が多いって印象ですね。
最初に結論を言ってしまうと
IMAGE関数を値コピペしたセル内画像は、ブラックボックス化した制御できない隠れIMAGE関数である
こうなります。
項目ごとに詳しく見ていきましょう。第3のセル内画像 IMAGE関数の値貼付けは、ちと文字が長いんで以降は IMAGE値コピペ画像 と記述します。
1. IMAGE値コピペ画像は 別のスプレッドシートにコピペできる
![](https://assets.st-note.com/production/uploads/images/113746721/picture_pc_0fa53ad74dd4b636ecdd5a45a47b7337.gif?width=1200)
序盤でも紹介しましたが、3つのセル内画像の中で IMAGE値コピペ画像 だけができる超便利な特徴がコレ。
これだけでも IMAGE値コピペ画像を使う価値はあります!
2.IMAGE値コピペ画像は スプレッドシート容量を消費しない
![](https://assets.st-note.com/img/1692491311647-KqizuUOopX.png?width=1200)
今回の最初に記載した通り、画像挿入した場合は その画像の容量がそのままスプレッドシートの容量として蓄積されます。
一方、当然ですが IMAGE関数でWeb上の画像を参照したものは、画像そのものを スプレッドシートに保管しているわけではないので、容量は消費しません。
0キロカロリー ならぬ 0 キロバイトです。
(実際は微量ながらスプレッドシート容量は増えます)
IMAGE値コピペ画像も 「値を貼り付け」といいつつ、実態はIMAGE関数と同じく参照なので、これも画像の容量消費はありません。
3. IMAGE値コピペ画像は セル上画像に変更できない
![](https://assets.st-note.com/img/1692448936580-xlaEPydYni.png?width=1200)
画像挿入で取り込んだセル内画像は、右クリックメニューに 画像という項目が表示され、そこから セル上画像に変換できます。
一方右の IMAGE関数や IMAGE値コピペ画像 では、右クリックメニューに画像 という項目が表示されません。
つまり、セル上画像に変換できない(セルの外に出せない)ってことです。
4. IMAGE値コピペ画像は元の画像の保存が出来ない
![](https://assets.st-note.com/img/1692449378181-0VrTPhppDe.png)
前回のnoteでも書きましたが、画像を挿入で作成したセル内画像は、セルの編集履歴の「画像」というリンクから 元画像を開いたり保存することができます。
IMAGE関数の場合も、関数内で使用している画像のURLはたどれるので、そのURLをブラウザで直接開くことで 元画像を取得できます。
では、第3の画像 IMAGE値コピペ画像はどうか?
残念ながら、これはどうやっても元画像を取得することは出来ません。
![](https://assets.st-note.com/img/1692451035426-hvSh7ACbvM.png?width=1200)
このように 画像挿入と同じように 編集履歴から 「画像」のリンクが取得できそうなんですが、この「画像」の文字はリンクになっていません。クリックしても別タブで画像が開けないのです。
さらに コピペ元の IMAGE関数の 第1引数の元のURLを取得することも出来ずです。
一応、HTMLダウンロード方法は使えるんですが、これで取得できる画像はセル内でIMAGE関数でサイズ加工された画像です。(たいていかなり小さいサイズの劣化画像となっています。)
これでは、元画像が取得できるとは言えません。
![](https://assets.st-note.com/img/1692451526426-apAvTDjAef.png?width=1200)
唯一、IMAGE関数の引数で 元画像サイズを設定していたものを IMAGE値コピペした画像の時だけは、HTMLダウンロードから元画像を取得することが出来ます。
でも、こんな見切れてる状態で セル内画像を使うことないですよね・・・。
IMAGE値コピペ画像からは、どうやっても元画像を取得することは出来ない と思った方がよいです。
※やり方がある場合は是非ご連絡を
5. IMAGE値コピペ画像はセル内でサイズを変更できない
![](https://assets.st-note.com/img/1692492313118-uaiP7sPH18.png?width=1200)
IMAGE値コピペ画像は、IMAGE関数に近い特性があることがわかりました。
しかし、IMAGE関数では第2引数以降で制御できる 画像サイズの調整が、IMAGE値コピペ画像では出来ません。
上のように モード3(元のサイズ)の IMAGE関数で表示された画像を IMAGE値コピペした場合、右のように同じ見た目のセル内画像が生成されます。
ただ、左のIMAGE関数は第2引数でモードを変えることで、セルにぴったり収まる表示に変更できるのに対して、右のIMAGE値コピペ画像は どうやってもサイズ変更は出来ません。(左右、上下の配置位置で 画像を動かすことはできます)
元画像のURLもわからない、引数によるサイズの変更も出来ない ってことで、ブラックボックス化して制御できない IMAGE関数と 表現したわけです。
6. IMAGEコピペ画像は、参照元の影響を受ける
第3のセル内画像である IMAGEコピペ画像は、これまでの検証で固定化された(シートに保存された)画像でなく 実態は隠れIMAGE関数であるってことがわかってきました。
それを決定づける検証結果がこちらになります。
![](https://assets.st-note.com/img/1692493341911-h7NdPJTnLh.png?width=1200)
IMAGE関数で読み込んでいた Googleドライブ内の画像の共有設定を、リンク共有をオフにしたらどうなるか?
スプレッドシートをリロードして、変更した設定を反映させると・・・。
上の画像の 右側をご覧ください。
一般に公開されていない画像URLとなる為、IMAGE関数では当然セル内の画像は表示されなくなります。(ハイパーリンクだけは オーナーである自分は見れるのでプレビューが有効となっています。)
肝心の IMAGE値コピペ画像ですが、同じく 画像が表示されなくなりました!
値を貼り付けているので 参照元の元画像が消えても残せるものと考えていると、あとでショックを受けることになりますね。。
IMAGE値コピペ画像が、隠れIMAGE関数である 検証をもう一つ。
![](https://assets.st-note.com/production/uploads/images/113819354/picture_pc_25f3657feccccc86e50987f2bce7f768.gif?width=1200)
Googleドライブのファイル差し替えで 参照する画像が変わった場合どうなるか?
上のGIF画像の通り、IMAGE関数と同じく右のIMAGEコピペ画像も 差し変わりましたね。
IMAGEコピペ画像は 隠れIMAGE関数である、つまり 固定化されていない外部参照している画像であることが証明されました。
IMAGEコピペ画像は実態のない、あくまでもイメージ♪ ってことですw
7. IMAGEコピペ画像は、代替テキストを付与できない
![](https://assets.st-note.com/img/1692500732906-1gdjj50bAh.png)
Googleスプレッドシートの セル内画像で、代替テキスト(ALT)の設定ができるのは 画像挿入したものに限られます。
IMAGE関数やIMAGE値コピペ画像には、代替テキストを付与できません。
ただ、代替テキストに関しては Excelに比べると Googleスプレッドシートはイマイチ と言えます。最後に触れます。
※ 2024年9月追記
![](https://assets.st-note.com/img/1726985314-5MVGDkXfcdSA1mLhsIOn0xPo.png?width=1200)
通常のセル内画像はIMPORTRANGEで取得は出来ませんが、例外的に IMAGE関数で表示させている画像、および IMAGE関数の画像をコピー値貼付けした画像だけは、IMPORTRANGEで取得が可能です。
Googleスプレッドシートの IMAGE値コピペ画像(IMAGE関数で出力した画像入りセルをコピーして値を貼り付けした セル内画像)は、便利な面もありますが、
実態はブラックボックス化した制御不能の 隠れIMAGE関数である
参照元の影響を受け表示されなくなる恐れがある
後で元画像を取り出すことが出来ない
というリスクがあることを覚えておきましょう。
少しだけ ExcelのIMAGE関数と IMAGE値コピペ画像の話をしようじゃないか
最後にちょっとだけ Excel側のIMAGE関数、そしてIMAGE値コピペ画像について触れておきましょう。
![](https://assets.st-note.com/production/uploads/images/113827457/picture_pc_277b138100c3bfd18515579848d078c3.gif?width=1200)
ExcelのIMAGE関数は 第2引数で 代替テキストを付与できるのと、セル内のデータは単なる 画像データではなく、代替テキスト + 画像 という複合データになる仕様みたいです。
ExcelのIMAGE関数もGoogleスプレッドシートと同じように コピペで値を貼り付けすることでセル内画像を生成できるんですが、その際に 代替テキストも合わせて引き継ぐようです。
IMAGEコピペ画像の方は、選択時に上部の数式バーに 代替テキスト「ルフィ」が表示されているのがわかりますね。
Excelでは、この代替テキストを 使って検索で画像セルをヒットさせたり、プルダウンの選択肢に使ったり、並び替えなどにも利用できます。(検索でヒットした際に、画像が大きくプレビュー表示されるのもいいですね。)
また、画像をキーに画像列を XLOOKUP関数で参照したり、FILTER関数で絞り込んだり、UNIQUE関数で画像の重複を排除したりと 関数で扱えるようです。
残念ながら、これらは全て 現状では Googleスプレッドシートでは出来ません!
![](https://assets.st-note.com/img/1692502701308-LYGYBc03Qq.png?width=1200)
ちなみに 画像のセル 右クリックから プレビューを表示するを選択することでセル内画像を大きく表示させることが可能です。
ショートカットは無さそうですが、割と簡単にセル内画像を大きく表示できるのは便利ですね。
その他 Excelのセル内画像については、以下の動画が参考になります。
現状では 挿入する形式の セル内画像は Excelオンラインでは利用できません。Excelオンラインで使えるのは IMAGE関数と IMAGE値コピペ画像になります。
また、Googleスプレッドシート以上に ExcelのIMAGE関数、セル内画像は自由度が高そうなんですが、Web版で使った限りでは Googleスプレッドシートに比べかなり不安定です。
Excelのセル内画像はかなり面白そうで色々検証したいんですが、もうちょっと安定してからやりたいなと思います。
あくまでも イメージ♪
今回はGoogleスプレッドシートの 画像について、主に IMAGE関数と IMAGE値コピペ画像について 紹介しました。
最後にちょろっと Excelの方も紹介しましたが、最近の Excelの機能拡充・追い上げは本当に凄いですね。。どんどん 無料のWeb版も充実しています。
今後の スプレッドシートにおけるセル内画像に関しては
Googleスプレッドシートは 機能拡充
Excel は安定感
がアップデートのキーになりそうです!
で、まとめとしては Googleスプレッドシートの IMAGE関数や IMAGE値コピペ画像は、画像の挿入に比べよい面もあるんですが、他の人のサイトから画像を拝借(取得)していた場合、
「そのまま放って置くと、大変なことになりますよ」(家庭の医学 たけしの決め台詞)
ってことがありえます。
つまり IMAGE関数やIMAGE値コピペ画像は、「あくまでもイメージ」ってことで、このネタやってたシマッ〇ュレコードのように 急に消えてしまう恐れがあるってことです。(シマッ〇ュレコードさんは別に消えてはいませんが。。)
利用の際はその点を理解して使いましょう!
お盆中の更新だったのもあるけど、先週の 画像ネタの note1回目の反応が悪いんで、画像関連はあんま需要ないのかな? もしくはパフィーとかネタが古い??
とりあえず、画像に関する記事は 今回で終わりにして、来週はまた違うネタで書きたいと思います。
いいなと思ったら応援しよう!
![mir](https://assets.st-note.com/production/uploads/images/85302011/profile_6bb7e63e3aff027fa87115b6d37e1556.jpg?width=600&crop=1:1,smart)