今回は、ついに Excel にサポートされた「図として保存」を使い倒します。
エクセルさん、ありがとう!
なんと、Excel でも画像や図形で「図として保存」機能が使えるようになりました!
Microsoft 365(旧称Office 365)の Excel で確認できます(2020年10月時点)。 図形や画像を右クリックしてみると、「図として保存」が追加されています。
いつからなのかアナウンスが見当たらないのですが、 どうも2020年9月ごろのアップデート(バージョン 2008?)から使用可能になっていたようです。 (Office Insider の最新チャネル(プレビュー)のリリースノートに記載があります。筆者は Insider には参加していませんが)
以前、本ブログで Excel シートにある図形や画像をファイルに保存する方法について紹介しましたが、そんなムチャなことをしなくてもよくなったのです。 (とはいえ、Microsoft 365 以外の Excel では相変わらずムチャが有効ですが)
サブスクリプションの契約によっては、最新機能の反映に時間がかかることがありますので、気長に待ってみてください。
では、早速使ってみたいと思います。
図として保存してみる
使い方は特に難しいことはありません。
シート上にある画像や図形を右クリックしてメニューから「図として保存」を実行すると、ダイアログが開くので、適当なファイル名をつけて「保存」ボタンを押すだけです。
「図として保存」が可能なのは次のようなオブジェクトです。
- 画像(写真)
- 図形(オートシェイプ)
- グラフ
- アイコン
- ワードアート
- SmartArt
- スクリーンショット
- 3Dモデル
「図として保存」ダイアログでは、「ファイルの種類」も選択できます。 デフォルトは PNG ですが、選択肢にある画像ファイル形式は以下のようなものです。
これらにはどう違いがあって、どのファイル形式を選べばいいのでしょうか。
画像のファイル形式について
画像のファイル形式には色々ありますが、大きく分けて「ラスタ形式」と「ベクタ形式」の2つがあり、ラスタ形式にはさらに圧縮方式によって区別できます。
ラスタデータは、画像に細かいマス目(ピクセル)をきって、その一つ一つの色データを写し取ったものです。 普通に見たころでは、写真のようですが、極端に拡大してみると、マス目の粗が見えてきます。 一般的用途には PNG か JPEG で事足ります。
ベクタデータは、図形の座標系で曲線や色の変化を数式とパラメータで表現したものです。 計算された曲線は、どんなに拡大しても線が崩れません。 一方、方程式で表せない自然界の映像を表現するのは苦手です。 「図として保存」でサポートされるベクタは SVG のみです。
Excel シート上にある様々なオブジェクトに対して、「図として保存」をしてみたいと思います。
写真画像や画面キャプチャを保存してみる
写真画像、スナップショット、画面キャプチャ、3Dモデルなどはラスタ形式が適しています。
ネコ画像など写真系の画像はJPEGでが適しています。 見た目を損なわずにJPEGならファイルサイズを小さくすることができます。
Excel の「スナップショット」機能を使ったり、Windows の画面キャプチャ機能(Win
+Shift
+S
など)で切り出したイメージは PNG 形式の方がいいでしょう。
ウィンドウの描画やテキストのフォントは、JPEGにするとぼやけてしまうからです。
3Dモデルはただの絵として保存されるので、JPEGでいいでしょう。
図形やグラフを保存してみる
図形(オートシェイプ)やグラフ、アイコン、ワードアート、SmartArt などのオブジェクトはすべてベクタ形式の画像です。
ブログなどの Web ページに貼り付けたいのなら、それをラスタ化した PNG ファイルで十分と言えます。 特に込み入った画像は SVG にするよりファイルサイズが小さくなる利点があります。
一方、印刷したり、デザイナーさんに加工を依頼する時にはベクタ形式の SVG ファイルが適しています。 SVG なら解像度による劣化がなく、色や線種、フォントの変更や、文言の差し替えなども楽になるからです。
注意点として、SVG は Webブラウザなどで表示したときに、Excel上での見えと微妙に異なることがあります。
たとえば、ファンキーでイカしたフォントを使っても、他の人のパソコンでは再現できずにダサくなってしまうかもしれません。 フォントはSVG ファイルには埋め込まれておらず、フォント名で指定されているので、そのフォントがなかったら、それに近いデザインの適当なフォントで代用されるからです。
また、Excel 図形の高度な表現力(複雑なグラデーションや透明度、影や陰影の表現、変形など)が SVG でどこまで再現できるかも疑問です。
試しに、下の例は左が Windows の Excel の図形で作成したイメージ、右がそれをSVGファイルにして macOS の Chrome で表示したイメージです。 フォントや絵文字の変わって印象が違います。色のグラデーションはかなり再現されるようです。
ちなみに複数の図形を一括で保存したらどうなるでしょうか。
複数の図形を選択状態にして「図として保存」してみると、それらが合わさった1枚の画像として保存されます。
また、グループ化された図形で、グループ内の一部の図形を選択して「図として保存」した場合、選択された図形のみを取り出した画像を保存できます。
表やピボットテーブルを図として保存する
シートに作成した一覧表やピボットテーブルといった「セル範囲」も画像として保存したいです。
もちろん、セル範囲は直に「図として保存」できませんが、セル範囲を画像として切り出せば可能となります。
セル範囲画像の切り出しには、セル範囲を選択してコピーした後、右クリックからの「形式を選択して貼り付け」の右の「>」で出てくるボタンメニューで「図」または「リンクされた図」を選択します。
「図」はセル範囲の静的なスナップショット画像です。 「リンクされた図」は元のセル範囲のライブ画像で、元のセル範囲の内容が変更されると、リンク画像に動的に反映されます。
「図として保存」する分にはどちらでも違いはありません。
セル範囲内に入り込んだ画像や図形はすべてセル範囲画像に含まれます。 オートシェイプを使って説明や強調などの書き込みをいれたり、ダッシュボードを丸ごと画像にすることなども可能です。
注意点として、セルの色が「塗りつぶしなし」のままだと透明になって背景が透けてしまいます。 白でもあらかじめ塗りつぶしておきましょう。
また、表に罫線を引いている場合、上辺と左辺の罫線が細くなったり失くなったりすることがあるようです。 セル範囲を表の範囲きっちりではなく、周りに余白となる領域も確保してコピーしてみてください。
さて、セル範囲の画像ファイル形式はラスタとベクタのどちらが適しているのでしょうか。
基本的に、通常の画像と同様にラスタである PNG として保存すれば OK です。 PNG ならブログなどに貼り付けても Excel シートのイメージを劣化なしで表示することができます。
もしセル範囲をベクタである SVG で保存したとしても、中身は PNG 画像として埋め込まれているだけなので、あまり意味がありません。
セル範囲画像をベクタ化したい
セル範囲から切り出した画像は一見ラスタ形式のように見えますが、どんなに拡大してみても線が荒れないところをみると、どうもベクタ形式で表現されているようです。
それなら埋め込み PNG ではなく、生のベクタデータからなる SVG ファイルとしても保存できたいところです。
色々試してみて、以下の手順でベクタ化した SVG として保存することができました。
- セル範囲をコピーし、「形式を選択して貼り付け」の「図」で貼り付けます
- 貼り付けた画像を再度コピーして、再度「形式を選択して貼り付け」を実行します
- 今度は「形式を選択して貼り付け」ダイアログが表示されます
- 「貼り付ける形式」リストから「図(拡張メタファイル)」を選択して「OK」ボタンを押しします
- 新たに貼り付けられた画像を右クリックし、「グループ化」から「グループ解除」を実行します
- 警告ダイアログが表示されますが、気にせず「はい」ボタンを押します
- そのまま画像を右クリックし「図として保存」でファイルの種類に「SVG」を選択して保存します
SVG は XML ベースなので、普通のテキストエディタで編集することもできます。
たとえば、上記方法でセル範囲を SVG に変換すると、セル内のテキストがまれに文字化けする不具合があるのですが、テキストエディタで文字化け箇所を直接修正すれば OK です。
まとめ
Excel でも「図として保存」が追加されました。
Excel 系ブログとしては、説明イメージを作成する手間が軽減して嬉しいところです。
しかし本当に一番大きなインパクトは、「グラフを SVG で保存できること」だと思います。
これまで、Excel のグラフをベクタデータとして取り出すことが難しく、論文などの資料素材として採用にくい状況にありました。 標準仕様である SVG をサポートしたことにより、Office 以外のツールでの活用範囲が広がると思います。
また、RPA などで Excel によるデータ分析レポートのグラフイメージ出力を自動化する場合など、PowerPointやクリップボードなどを介さずに済むので、だいぶ扱いやすくなるはずです。
こんなに便利なのに、今まで頑なにサポートされてこなかった理由はわかりませんが、今のタイミングでしれっとサポートされたのは、きっとデータ時代を見据えたExcel 戦略に何らかの変化があったからでしょう。