- ベストアンサー
他のシートからデータをとってくる時に何故か空欄に0が入ってしまいます
質問させていただきます。 他のシートからデータをとってくる時に何故か空欄に0が入ってしまいます。例えばsheet1のA列を全部sheet2に反映させるために =sheet1!A:A とした時に空欄があると0が入ってしまいます。 空欄のまま(まったくそのまま)反映させるにはどのようにはどのようにしたら良いのでしょうか。どなたかご教授下さい。 宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
同一ブック他シートのセル 他ブックのシートのセル を =Sheet1!A2 ='C:\Documents and Settings\xxx\My Documents\[Book5.xls]Sheet3'!E3 のように参照するとき、元のセルが空白のとき、式を入れたセルは 0になります。エクセルの仕様だと思います。 同一シートの=A1でさえ、A1が空白だとそうなります。 エクセルは関数の結果は、値を返すものという原則があり、値は数で扱おうという傾向があって、0にするのだと思います。文字列で123と入れても123に変えてしまうように。 ーー 対策は =if(A1="","",A1) や =IF(Sheet1!A2="","",Sheet1!A2) でできます。 他ブックを参照の場合も式が長くなるが、=IF(○="","",○) (○には上記長い式)のようになります。 書式で対応して見えなくすることも可能です。 ##,###など。
その他の回答 (2)
- zap35
- ベストアンサー率44% (1383/3079)
他のシートでなくても =A1 のように他のセルの値を参照するとき、参照先のセルが空白なら「0」が表示されます。 =IF(A1="","",A1) とIF文で空白を判定するのが一般的な回避方法です 他にもエクセルの「ツール」→「オプション」→「表示タブ」設定で「ゼロ値」のチェックを外して表示されなくする方法もありますが、この場合手入力した「0」も表示されなくなります
エクセルの質問かと思いますが、 =IF(Sheet1!A:A="","",Sheet1!A:A) で、いかがでしょう。