せるワザは、おもにMicrosoft Excelについての情報発信を続けています。
しかし、近年、競合他社製の表計算ソフトも、操作性がExcelに似てきたり、とても使いやすくなっていますよね。
案件や関係先によって、複数の表計算ソフトを使い分けている人もいるのではないでしょうか?
各ソフトで、ユーザーから評判が高い関数や新機能が追加されると、競合する表計算ソフトが追随するケースも見られます。
たとえば、ExcelでVLOOKUP関数の進化系として、XLOOKUP関数がリリースされると、GoogleスプレッドシートもXLOOKUP関数に対応するようになりました。
せるワザの過去記事「Microsoft 365で使えるIMAGE関数は、Excelワークシート上で画像管理するのに便利」でExcelに”2022年夏に追加された新機能”とご紹介しましたが、実はIMAGE関数は、Googleスプレッドシートでは2019年に公開され、約3年間「ExcelではなくGoogleスプレッドシート【だけ】で使える便利関数」だったのです。
そこで今回は、条件付きながら、Googleスプレッドシート + Googleクラウドの組み合わせだけで使えるIMAGE関数活用法についてご紹介します。
IMAGE関数で、Web以外からの画像も整理・管理したいと思いませんか?
まず、仕事がデキるビジネス・パーソンの皆さんは、カメラを何に活用していますか?
コンパクト・デジタルカメラやフィルムカメラの時代には、人物・風景など「記念撮影」のガジェットだったかもしれませんが、スマートフォンと一体化した今は、「メモがわり」「情報記憶」の重要なツールではないでしょうか?
そうなると、「メモ」「情報」としての画像を、パソコンでも効率よく管理しておきたい!!というニーズが生まれます。たとえば、
電帳法(電子帳簿保存法)スキャナ保存に対応するための、紙レシートからのデータ、
日々の健康記録や食事内容などのメモ、
手書きのメモや備忘録などの情報です。
(※ご参考まで、サンプル画像を「全員共有」モードでGoogleドライブに格納したURLを追記しました。)
これらの画像情報を表計算ソフトで管理できたら、わざわざOneNoteやEvernoteなどのノートアプリを使わなくても、必要な画像情報に楽々アクセスできますよね。
これらの画像をクラウドストレージに格納すると、ファイル1つずつにURLが生成されますから、そのURLを使って、IMAGE関数で簡単に画像を呼び出せるのでは…? と期待に胸がふくらみます。
しかし!
真っ先に思い浮かぶ
「Microsoft Excel + OneDrive + IMAGE関数」の組み合わせでは、このような画像管理はできません。
参照;Microsoft Community「OneDrive上の画像URLリンクをExcelのセルに表示」
→結論;OneDriveのURLは、認証トークンを送らないといけないアクセス仕様のため、そのままではIMAGE関数で表示させることはできません。VBAもしくはOfficeスクリプトなどを使って、認証トークンを送る仕組みを作らなければいけません。
この代替手段として、
「Googleスプレッドシート + Googleドライブ + IMAGE関数」の組み合わせならば、条件付きながら、表計算ソフト上で簡単に画像管理ができるようになります。 その条件とは、「リンクを知る全員へ共有」の設定にすることです。
OneDriveでも「リンクを知る全員へ共有」設定はできますが、共有設定をしてもExcelのIMAGE関数でOneDrive画像を呼び出すことはできません。
GoogleドライブのURL命名規則を理解すれば、Googleドライブ上の画像をIMAGE関数でGoogleスプレッドシートへ、自動的に呼び出せます
ここからは、Googleスプレッドシートを使って説明を続けます。
こちらのYouTube動画もご参照ください。
「Googleスプレッドシート Googleドライブの画像をIMAGE関数で表示させる方法」
Googleドライブに格納した画像ファイルに付されるURLは
(1) https://drive.google.com/file/d/XXXXXXXX/view?usp=drive_link という文字列です。
XXXXXXXXの部分が、当該画像ファイルの固有ID。末尾の /view?usp=drive_link は、使用するブラウザや表示方法により異なる文字列になります
一方、GoogleスプレッドシートのIMAGE関数で引数とすべきURLは
(2) https://drive.google.com/uc?export=download&id=XXXXXXXXXX
(「id=XXXXXXXXと言うファイルを、ダウンロードしてエクスポートせよ」というコマンド付きURL)なので、(1)からファイル固有のURLのみ抜き出して、(2)のURL表現へと自動置換すればよいわけです。
たとえば、
このレシートのURLは https://drive.google.com/file/d/1JdyEsV5uljvdGKki3xTOMrq_63RvFDeb/view?usp=drive_link
ですから、ファイルID(バイト数不定)にあたる1JdyEsV5uljvdGKki3xTOMrq_63RvFDebだけを抜き出して、IMAGE関数へ渡すURL形式に置換します。
ここでも、Googleスプレッドシート【にしかない】正規表現置換関数「REGEXREPLACE関数」(※REGEXREPLACE( [ 置換したいセル ] , [ 正規表現 ] , [ 置換文字列 ] ))を使用すれば、1つずつ目視確認しなくとも、自動的にURLの置き換えが進められます。
Googleスプレッドシート固有の関数について、詳細な解説は省きますが、今回の場合、 =REGEXREPLACE(url,”https://drive.google.com/file/d/(.*)/view(.*)”,”https://drive.google.com/uc?export=download&id=$1“)とすることで、(1)のURLを、途中のIDが何バイトであっても、間違えることなく自動で(2)のURLへ置き換えてくれる働きをします。
あとは、(2)の形式になったURLを、GoogleスプレッドシートのIMAGE関数へ、引数として指定すれば、表計算ソフト上でクラウド画像情報を、容易に管理できるようになるわけです。
まとめ
Googleクラウド+Googleスプレッドシートなら、IMAGE関数で楽々画像を管理できます。ただし、セキュリティには難あり! 機微な情報upは控えましょう
最近、写真といえば、記念撮影じゃなくて、情報メモばっかり…、なんていう忙しいあなた。
せっかく撮りためた画像は、表計算ソフト上で、有意義に情報活用しましょうよ。
Excelではうまくできなくても、GoogleスプレッドシートのIMAGE関数ならできます。
ただし、Googleスプレッドシートで画像を共有するためには、画像自体に「リンクを知る全員へ共有」設定することが必須です。
当然、企業情報や機微なデータなどは一切取り扱えませんので、画像の有用性と閲覧権限の範囲を慎重に見きわめた上で、仮に”リンクURLが流出しても実害ナシ”な情報ならば、表計算ソフトで効率的に整理・管理してみませんか?
スマホの写真フォルダに残したままにしておくよりも、はるかに写真の有効活用がススみますよ!