よろしくお願いします。

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

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

このQ&Aに関連する最新のQ&A

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
    • 1
この回答へのお礼

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

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

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


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

あ×3

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

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

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

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで空欄の場合は計算しない方法

A1をA2から引いて答えをA3に入るようにしました。
A1には必ず数字が入るのですがA2は確定したら数字を入れます。
A3の合計を出したいのですがA2に何も記入していない場合0と判断され計算されるので、合計が合いません。
A2に数字を入れて初めて計算されるようにするにはどうしたらいいでしょうか?

Aベストアンサー

セルの中身が空白かどうかチェックするISBLANKという関数があります。

=IF(ISBLANK(A2),"",A1+A2)

こうすれば、A2がブランクの時、この式は長さゼロの文字列を返します。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセルの掛け算

エクセルの計算で教えてください。
数値をA列B列C列と入力しD列に答えが出るように
したいです。数式はA*B*C=D
そこで質問なのですがこの式ですとAやBやCに数値が入っていないとDの答えが出ないのですがA、Bに
数値が入っていなくてもDに答えが出るように出来ないでしょうか?質問が解りにくいかもしれませんがよろしくお願いします。

Aベストアンサー

こんばんは。
そんなにややこしいことをしなくても、

=product(a:c)

で、空白セルは無視して乗算をするはずです。

Qエクセルの計算結果が0になってしまいます

エクセルのセルに計算式を入力しても、Σで和を求めようとしても、「0」と表示されてしまい、求めたい計算結果が出ません。
理由と対策について教えていただきたいです。

Aベストアンサー

先に計算式を入力して後から数値を入力したのでは?
画面の下のほうに再計算というのがでていませんか?
でていればF9ボタンを押してみてください。
計算されれば計算方法が手動になっているはずです。
メニューのツール→オプションを選択して計算方法を手動から自動にすればなおります。

QSUMIF関数で、「ブランク以外を合計」を指定したい

SUMIF(範囲,検索条件,[合計範囲])
の、検索条件部分に、
「セル内に数字、文字をとわず、とにかく何か入力されていたら合計する」
といった意味合いの条件を指定したいのですが、その方法がわかりません。

画像で説明させていただくと、
A2のセルにSUMIF関数を用いて、
文字が入力されているc,d,e列の数値を合計し、
90という結果が欲しい、ということです。

どなたかご教授をお願いいたしますm(__)m

Aベストアンサー

こんばんは。

なんか皆さん難しく考えすぎのような・・・
SUMIF関数でできますよ。検索条件を空白以外とすればいいだけです。
=SUMIF(B2:F2,"<>",B1:F1) でできます。

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Q(Excel)あるセルに文字を入力しただけで、同じブック内のほかのワークシートにも、同じ文字が自動的に入るようにするには?

こんにちは。
質問内容はタイトルのとおりです。

あるワークシートのあるセルに文字を入力すると、ほかのワークシートのセルにも同じ文字が自動的に書き込まれる方法を知りたいです(ブックは同じ)。複数のワークシートを制御するには、やはりマクロを使うのでしょうか?

よろしくお願いします。

Aベストアンサー

clam_chowderさん、こんにちは。

Sheet1のA1にたとえば「100」と入力しますね。
Sheet2のA1に、これと同じ数値を表示するには、
 =Sheet1!A1
でOKです。

数式をいれるのが苦手なら、
Sheet2のA1セルで「=」を入力すると、数式入力状態に入りますから、
ここでSheet1のシートタブをクリックし、
リンクしたいA1セルをクリックしてEnterすると、
自動的にさきほどと同じ式が入ります。

Qエクセルで打ち込んだ数字を自動で別シートに表示したい

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む

Qexcel 関数にて文字を0として認識させる方法

数式の中に数字以外の文字が入ると#VALUE!が出ます。
ヘルプを参照すると、
「文字列が正しいデータ型に変換されません。必要な演算数や引数について、数式または関数が正しいかどうか、また、数式で参照するセルの値が有効かどうかを確認します。たとえば、セル A5 に数値が入力され、セル A6 に "なし" という文字列が入力されている場合、数式 =A5+A6 は、エラー値 #VALUE! を返します。」
これを解決させるにはどうしたらいいでしょうか?
上の例ですと、"なし"と打ち込んだ場合0として認識させるようにしたいです。

Aベストアンサー

例えば次のような式にしても良いですね。
=SUBSTITUTE(A5,"なし",0)+SUBSTITUTE(A6,"なし",0)

Qエクセルで、合計をもとめたいが、空白セルがある

合計を求めたいのですが、ところどころに空白があります。
今は、一つずつ、金額の入ってるセルをクリックして、+をおしていっています。
簡単にできる計算式教えてください。

Aベストアンサー

SUM関数をお試しください。
連続したセルなら開始セル:終了セル、不連続なら「,」区切りとして下さい。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報