• ベストアンサー

他のシートからデータをとってくる時に何故か空欄に0が入ってしまいます

質問させていただきます。 他のシートからデータをとってくる時に何故か空欄に0が入ってしまいます。例えばsheet1のA列を全部sheet2に反映させるために =sheet1!A:A とした時に空欄があると0が入ってしまいます。 空欄のまま(まったくそのまま)反映させるにはどのようにはどのようにしたら良いのでしょうか。どなたかご教授下さい。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.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)
回答No.2

他のシートでなくても  =A1 のように他のセルの値を参照するとき、参照先のセルが空白なら「0」が表示されます。  =IF(A1="","",A1) とIF文で空白を判定するのが一般的な回避方法です 他にもエクセルの「ツール」→「オプション」→「表示タブ」設定で「ゼロ値」のチェックを外して表示されなくする方法もありますが、この場合手入力した「0」も表示されなくなります

noname#40742
noname#40742
回答No.1

エクセルの質問かと思いますが、 =IF(Sheet1!A:A="","",Sheet1!A:A) で、いかがでしょう。

関連するQ&A