許せない心理テスト

よろしくお願いします。

Excel2002で作った表をExcel2003で開いて修正しています。
2つのセルを掛け合わせる計算のセルをオートフィルすると、掛けるデータのない行では#VALUE!のエラーになりました。
ここで空白データのセルでDeleteを叩いてみたところエラーが0に変わりました。
試しに関係のないセルで空白セル同士の掛け算をやってみると答えが0になりました。

エラーが出る場合と、0になる場合の違いは何でしょうか?
どうかよろしくお願いします。

A 回答 (2件)

こんにちは。

maruru01です。

No.1の方の指摘のようにスペースが入っている場合もありますが、何も文字(スペースも含めて)が入っていないのにエラーになる場合もあります。
例えば、セルA1に「=""」と入力します。
次に、A1をコピーして、A2を選択して、右クリックの[形式を選択して貼り付け]で[値]にチェックして[OK]します。
(念のためA3を選択して、[Delete]しておいて下さい。)
これで、B1に、「=A1*1」と入力してA3までコピーします。
A1とA2がエラーになると思います。
このA2には、言わば「長さ0の文字列」が入っていることになります。
この「長さ0の文字列」は、別のアプリやWEB上からのコピペでも入ることがあります。
で、文字列を計算に使うとエラーになります。
一方A3は、「未使用・未入力」という状態です。
ブックやシートを新規作成した直後と同じで、Excelでは計算する際は「0」に変換されます。
で、「長さ0の文字列」と「未使用・未入力」は見た目でもい、数式バー上でも見分けは付きません。
もちろん、エラーになったら[Delete]してやればいいですが、最初から数式で対応することも出来ます。
仮に、元の数式が、

=A1*B1

としたら、これを、

=N(A1)*N(B1)

とします。
N関数は、A1やB1に文字列(長さ0の場合も含む)があると、「0」に変換してくれるので、エラーになりません。
それか、

=IF(COUNT(A1:B1)=2,A1*B1,"")

のように、IF文で、両方に数値が入っていなければ「""」にするように分岐処理させる方法もあります。
    • good
    • 2
この回答へのお礼

「形式を選択して貼り付け」の「値」やりました!!!
空白セルは元々IF関数で「""」に分岐させていたセルでした。
確かに本当の空白セルと「""」のセルでは、計算結果に違いが現れることがありますね。
「""」は完全な空白ではなくて長さが0の文字列ということなのですね。
よく分かりました。すっきりしました。
ありがとうございました!!!

お礼日時:2005/04/21 18:24

セルに入れたデータを消す場合等にスペースキーを使ってませんか?


スペースキーで挿入した空白は「文字」ですので、「あ」「い」「う」なんかと同じです。

あ×3

でエラーになるのは当然ですね。
    • good
    • 1
この回答へのお礼

回答ありがとうございました。
セルにスペースなどが入っていないというのは確認したのですが、なぜかエラーになってしまうのです。
質問を書き込んだ後に今までの操作を色々考えたところ、問題の空白セルを含めた範囲を「形式を選択して貼り付け」の「値」で貼り付けをしていたのです。
これが関係ありそうな気がするのですが…。

お礼日時:2005/04/21 18:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報