カワハラの、雑多な記録。

【Excelの画像圧縮】スクショした写真の貼り付けはファイルサイズが大きくなるので要注意

   

画像をスクリーンショット(キャプチャ)してExcelに貼り付けてたら、やたらファイルサイズが大きくなってしまいました。
デジカメで撮影した画像(写真)を、メニューの「挿入」を使わず、スクショして貼り付けたのが原因のようです。

Excelに画像を挿入してファイルサイズがやたら大きくなった!って人はこれを読めば画像を圧縮してファイルを軽く出来ます。
画像を圧縮したはずなのにファイルサイズが小さくならない!ってときの対処方法も書いていきたいと思います。

メニューから画像を挿入するとExcelファイルサイズはそんなに大きくならない

まずPCでの保存された画像をExcelに挿入するときの正しい手順ですが、メニュー「挿入」→「図」→「画像」→「このデバイス」とたどり、ファイル選択ダイアログで目的の画像を探して挿入します。

キーボードショートカットで画像挿入したい場合は「Alt, N, P, D」と順番に押してみてください。

この方法で画像を挿入したExcelファイルは、そんなバカみたいに大きいサイズにはなりません。
挿入した画像をExcel上で小さくすると、Excelは自動的に画像を圧縮します。
つまり、挿入した画像は元の画像ファイルの解像度を保持し続けるわけではなく、Excelが勝手に解像度を下げてファイルサイズを小さくしてくれるんです。

これを余計なお世話と取るか、自動的にファイルサイズを抑えてくれてありがたいと受け取るかは状況によります。
例えば、Excel上で一旦小さくした画像を再度大きくした場合に画像が荒くなる場合があります。
もちろんオプションによりこの振る舞いをOFFにすることは可能。(方法はこちら)

出来ることなら、メニューから画像を挿入するこの方法をおすすめします。

画像閲覧ソフトでコピー、キャプチャして貼り付けた画像は、Excel上で自動圧縮されない

Excelは難解な挙動をすることが結構あり、バージョンによって動作が変わるかもしれません。
今回の事例はこの前、わたしに起こった現象で、他の環境だと違う動きをするかもしれないという前提でお読みください。

メニューの「挿入」から画像を取り込むべきですが、この時わたしは横着して、PCの画面上に表示させた画像をキャプチャして、Excelにペーストして貼り付けました。

Windowsなら、Win + Shift + Sのショートカットキーで範囲指定してキャプチャ出来ます。
画像の必要な範囲だけキャプチャしてExcelに貼り付けられるので便利ですよね。

ですが、どうもこの方法で貼り付けた画像に対して、Excelは自動で圧縮をしてくれないようです。

キャプチャだけじゃなく、画像閲覧ソフトで画像を開いてコピーしたのをExcelに貼り付けた場合も同様っぽいです。

画像が圧縮されているかの確認方法

画像を右クリック→「サイズとプロパティ」

Excelの右に「図の書式設定」が現れる。

Excel上で画像の見た目を小さくした場合、上の画像では倍率が70%になっています。
自動で圧縮が効いた場合、Excelファイルを保存したタイミングでこの数値が100%となり、そのサイズにリサイズされて圧縮されるのを確認できます。
画像の見た目を小さくして保存すると、画像が圧縮されるため、結果的にExcelのファイルサイズも小さくなります。

しかし、キャプチャして貼り付けた画像は、なぜかこれが効かず保存しても70%のまま。
画像は元の解像度を保っているため、Excelのファイルサイズも大きいままとなります。

手動で図を圧縮する方法

無駄に高解像度な画像はExcelのファイルサイズが大きくなるだけでもったいないですよね。
自動で圧縮されないなら、手動で圧縮する方法も用意されています。

メニュー「図の形式」→「図の圧縮」
(「図の形式」の項目は、画像を選択しないと表示されません)

「画像の圧縮」ダイアログが出現するので、適当な解像度を選択してOKします。

わからなければ「既定の解像度」を選んどけば良いでしょう。
デフォルト設定では220ppiかと思います。

この操作をすることで、Excel上の画像サイズに応じて選択した解像度に圧縮され、Excelファイルサイズも抑えられます。
「まだ大きいな・・・」ってときは96ppiなど、数値の小さいのを選びましょう。

画像がExcel内でPNG形式のためファイルサイズが大きい可能性も!

先程の「図を圧縮」してもExcelファイルサイズが思ったほど小さくならない場合があります。
と言うかわたしがその状況に陥りました。

画像6枚挿入されて6,399KBのExcelファイルがあり、「図の圧縮」をしてもファイルサイズがほとんど変わりません。
内容に対してちょっとファイルサイズが大きい気がします。

いろいろ確認して分かったのは、キャプチャして貼り付けた画像はExcel内部ではJPG形式ではなくPNG形式となり、ファイルサイズが大きくなる要因となるようです。

一般的に、デジカメで撮影した写真はJPG形式で保存されますが、写真をPNG形式で保存するとファイルサイズがかなり大きくなます。
PNG形式はベタ塗りの多い図形等には向いてますが、写真にはあまり向いてません。
つまり、PNG形式の写真を挿入したExcelファイルのサイズも大きなものになります。

JPG形式の画像をJPGのままExcelに挿入するには、メニューの「挿入」を使って取り込む必要があります。

Excel上の画像がJPG形式かPNG形式か確認する方法

すでに挿入されているExcel上の画像がJPGなのか、PNGなのかは見た目では判別できません。
見分ける方法として「図として保存」を使います。
Excelに挿入された画像を右クリック→「図として保存」を選択すると、下記の保存ダイアログが出現。

ここで「ファイルの種類」に注目です。

「ファイルの種類」がPNGまたはJPGになるんですが、それがExcel内に挿入されている画像の形式となります。
わたしが試した限りでは、メニュー「挿入」で挿入したJPG画像はファイルの種類が「JPG」、キャプチャを貼り付けた画像は「PNG」形式になっているようです。

※Excelのバージョンが古いと、右クリック→「図として保存」の項目がない場合があります。

Excel内の写真がPNGになっている場合の対処方法

うっかりキャプチャ貼り付けでExcelファイルを作っちゃって、サイズが大きくなった場合、小さくするにはどうすればよいでしょうか?

その対処方法はこうです。
1. 画像を選択して「切り取り」(またはコピー)
2. 画像以外のところを右クリックして「形式を選択して貼り付け」→「図(JPEG)」を選択してOK

  1. 元の位置に貼り付けた画像を配置

ちなみに、最初に画像をキャプチャして貼り付けるときに「形式を選択して貼り付け」でJPEGを選べばいいんじゃ?と思いますよね。
それが何故か最初の貼り付け時はPNGかBMPしか選択できないんですよ。
Excelに貼り付け済みの画像のみ、この方法でJPEG化できます。

Excel上での見た目はほとんど同じですが、Excel内の画像がPNG形式からJPG形式になっています。
実際に試したところ画像6枚挿入して6,399KBとなったExcelファイルがこの手順を踏むと、736KBになり効果てきめんでした。

誤解のないように言っておくと、Excel内の全てのPNG画像がだめなわけじゃなく、写真みたいにピクセル毎に色が変化する画像ではなく、ベタ塗りの図形的なものはPNG形式が向いています。
例えばこんなの。

こういった図形的な画像はPNG形式でも十分ファイルサイズが小さいので問題ありません。
JPEGにすると圧縮によりノイズが乗るので見た目が悪くなる場合があります。(写真だとノイズはほとんどわかりません)

挿入する画像の解像度をあらかじめ設定も可能

メニュー「図の形式」→「図の圧縮」を使うと、すでにExcelに挿入した画像の圧縮が出来ますが、これから挿入する画像に対しても先に解像度を決めておくことも出来ます。

メニュー「ファイル」→「オプション」

「詳細設定」→「イメージのサイズと画質」→「既定の解像度」

画質を犠牲にしてファイルサイズを小さくしたい場合は96ppi等、数値の小さいものを選びましょう。
Excelに勝手に解像度を変更されたくない!自分で適切にリサイズしてから画像を挿入する!と言う強者は「ファイル内のイメージを圧縮しない」にチェックを入れてください。

ただし、これはファイルごとの設定となります。
Excelで新規ファイルを作成するたびに毎回設定しないといけないので注意が必要です。

まとめ

・画像をExcelに挿入するときはメニュー「挿入」→「図」→「画像」→「このデバイス」を使うべき
・メニュー「図の形式」→「図の圧縮」で挿入済みの画像を圧縮可能
・Excel内部で画像がPNGの場合「切り取り」→「形式を選択して貼り付け」→「図(JPEG)」

Excelに限らずMicrosoft製品は、挙動が独特で直感的に理解しがたいものが多いです。

やり方さえ知っていれば自分でコントロール出来るので忘れたらこの記事をまたご確認ください。

 - PC, ガジェット