ecoslymeです。
エクセルでリンク貼り付けをした時、元データでは空白セルなのに、貼り付け先のシートでは“0”と表示されてしまいます。
“0”と表示されることにより、ピボットテーブルを作成するときに邪魔だったり、表が見づらくなるから何とか空白セルにしたい場面に出会した人もいるのではないでしょうか。
空白セルとして扱いたいデータが、リンク貼り付け後に勝手に”0″と表示されると、データの扱いが少し難しくなってしまいます。
見た目は”0″だけど、実際は0というデータが入っており「結局解決していないじゃないか!」、と悩んだ人は是非この記事を最後まで見てください。
複数ブック(複数エクセル)の散らばったデータを1つのエクセルにまとめたい場合に重宝できます。
元データと結果
(元データ)
⇓
リンク貼り付けの意味と方法、用途について
この記事は、以下のような方に役立つと思います。
- この記事が役立つ人
・リンク貼り付けで生じた”0″が邪魔と感じる人
・エクセルシート印刷時に”0″と表示させたくない人
・複数ブックのエクセルのデータを集約させた後、集計がしたい人
・ピボットテーブル作成時に、”0″を表示させて欲しくない人
・TableauなどのBIツールで、空白セルを”0″としてデータ抽出させたくない人
以下のデータを元データとします。
上の表(元データ)の例えば、B5セルやC9セルはブランクとなっており、数字の0も入っていません。
リンク貼り付けとは?
ここで、リンク貼り付けというものがどのようなものか、分からない方に対して説明します。
またどのようにしてリンク貼り付けを行うかについてご紹介します。
- リンク貼り付けの方法
①:元データを選択してコピー
②:リンク貼り付け先のシートで「形式を選択して貼り付け」⇨「ペースト リンク」
①:元データを選択してコピー(Ctrl + C)
②:リンク貼り付け先のシートで「形式を選択して貼り付け」⇨「ペースト リンク」(Ctrl + Alt + Vからも可能)
リンク貼り付けで表示される”0″について
リンク貼り付けを行うと以下の表の肌色セルのように、勝手に”0″という数字が表示されてしまいます。
目的は、この”0″を空白セルにさせることです。
リンク貼り付けの用途
そもそもリンク貼り付けをする意味はなんでしょうか?
リンク貼り付けによって、複数のブック(複数のエクセル)に散らばってしまったデータを一つのエクセルブックに集約することができます。
BIツールのTableauの場合、複数データをユニオン(同じ列項目を持つ複数シートを統合)する場合、制約として同じ1つのエクセルブック内にデータがないといけません。
つまり、Tableauでは一つのエクセルの中に複数シートを持つ形でないと、データを統合することができません。
このような制約を持つツール(エクセルのパワークエリも同じだと思います)は多いと思います。
そこで、このリンク貼り付けが便利になります。
リンク貼り付けで表示される”0″を空白セルにする方法
それでは、リンク貼り付けで表示される”0″を空白セルにする方法についてご紹介します。
方法は以下の4つあります。
①〜③は、見た目上は空白セルになっていますが、データとしては”0″が残ってしまっています。
④のみ、データが”0″ではなく空白セルになっています。
- リンク貼り付けで表示される”0″を空白セルにする方法
①:オプションから設定を変更する
②:条件付き書式を利用する
③:表示形式を変更する
④:If関数を利用する
①:オプションから設定を変更する
まずは、オプションから”0″を非表示にする方法についてご紹介します。
・「ファイル」⇨「オプション」⇨「詳細設定」を選択しましょう。
・「ゼロ値のセルにゼロを表示する」のチェックを外しましょう。
<Macの場合>
Macの場合、「オプション」がないため以下の要領で行いましょう。
・「Excel」⇨「環境設定」
・作成の「表示」をクリック
・「ゼロ表示」のチェックを外してください
チェックを外すと、以下のように”0″の数字が消えてくれました。
②:条件付き書式を利用する
2つ目の方法として条件付き書式を利用する方法があります。
0という数字であれば白色にするという条件付き書式を作成しますが、ちょっと気持ち悪さが残るかもしれません。
・”0″と表示されているをセルを空白にしたい列(もしくは行)を選択しましょう。
・ホームタブから「条件付き書式」⇨「セルの強調表示ルール」⇨「指定の値に等しい」を選択
・セルの値が次の値に等しい:0 として、「ユーザー設定の書式」を選択しましょう。
・フォントで文字の色を「白色」にしましょう
じっくり見るとわかりますが”0″の場合、0の数字が白色になっています。
下の表では分かりやすいように肌色セルにしています。
③:表示形式を変更する
3つ目の方法ですが、表示形式を表示します。
エクセルを印刷することが目的で、”0″の数字を見た目上、もしくは一時的に消すことが目的であればこの方法が適していると思います。
・”0″と表示されているをセルを空白にしたい列(もしくは行)を選択しましょう。
・Ctrl + 1(Macの場合はCommand + 1)を押してください
以下の表示形式の画面が表示されるはずです。
・表示形式タブの「ユーザー定義」で、既に入っている文字(G/標準)を削除後、以下のどれかの文字を入力しましょう。
入力する文字は以下の①〜④のどれでもOKです。
- ユーザー定義の「種類:」に入力する文字
① #
② 0;-0;;@
③ #;-#;;@
④ ;;;@
上の例では「② 0;-0;;@」で入力しています。
ちゃんと”0″の数字が消えてくれましたね。
④:If関数を利用する
最後の4つ目の方法が、データを2次利用する際に一番良い方法かと思っています。
If関数を利用して、元データの「空白セル」は貼り付け後のシートでも「空白セル」という情報にします。
リンクをシートに貼り付けると以下のような数式が自動的に入力されると思います。
元データのエクセルの名前は「リンク 0 非表示 元データ.xlsx」としています。
「=‘/Users/○○○(PCのユーザー名)/Desktop[リンク 0 非表示 元データ.xlsx]Sheet1’!A1」
一番左上のセル(A1セル)で、この数式の「=」より右の数式を全てコピーしましょう。
このコピーした数式(上の赤太字)を、使いまわします。
以下のような数式に変更しましょう。
「 =if(コピーした数式=””,””,コピーした数式) 」
数式は「Ctrl + C」でコピーして、一番最後に「Ctrl + V」で貼り付けしてから「 “)” 」を付けるようにすると楽です。
If文の意味としては、
「仮に元データのセルが空白(””)であれば、空白(””)にし、空白でなければ元データの数字や文字が入力される」
というものになります。
このA1セルの数式を対象となるセル範囲全てにコピペしましょう。
元あった書式を消したくない場合は、コピペ後に「書式なしコピー」を選択すれば良いです。
データとして、”0″ではなく「空白セル」として扱ってくれるので、データの2次利用(Tableauやエクセルのパワークエリ、ピボットテーブルなど)をする場合には必須と言えるスキルなのかと思います。
最後に
いかがでしたでしょうか。
知らないとドツボにハマってしまうエクセルの「リンク貼り付け」の扱いですが、知っていれば便利に利用することができます。
散らばったデータを一つのエクセルブックに集約することの価値は意外と高いです。
データはエクセルを開かないと更新されないですが、この部分は別の方法で解決できるように思うので、技術的に可能なことがわかれば別の記事で紹介したいと思います。
ちょっとマニアックな要望への対策でしたが、解決方法が存在するということだけでも覚えていれば、変な泥沼にハマらなくなると思いますよ。