プロが教えるわが家の防犯対策術!

たとえば

D1+B2-C2=D2
とした時 B2と C2のどちらかに空白か入るとエラーになります
0を入れなくても 
B2が空白の時 D1-C2=D2 C2が空白の時 D1+B2=D2
と計算できる方法を ご教授ください

初心者です よろしくお願いします

A 回答 (6件)

D2セルに =SUM(D1,B2,IF(ISNUMBER(C2),-C2,0)) としてみましょう

    • good
    • 3

=SUM(D1,B2)-SUM(C2)


これで出来ます。
SUM関数はエラー値以外で文字や空白がある場合は0とみなします。
    • good
    • 2
この回答へのお礼

ありがとうございました
解決いたしました

お礼日時:2008/10/05 18:22

#2です。


>A2*B2=C2 E1+C2-D2=E2という数式で
はじめから式の書き方が変だ。excelでは、A2*B2=C2という数式の書き方はない。C2=A2*B2のほうがまだましだが、
C2に、
=A2*B2
という式を入れているということか。
これだとC2は「0」か「#VALUE」などのエラーになって、もともと数式が入っているのだから、空白になることはない。
はじめの質問の式とも変わってきてしまっているから、何をどうしたいのか不明。
したがって、適切な回答はできない。



>B2と C2のどちらかに空白
空白ではなく数式が入っていということですか。
    • good
    • 1

家計簿のタイプの質問のようですが、意外に難しい。


色々式が考えられるが
=IF(AND(B2="",C2=""),"",SUM(D1,B2,-C2))
入りと出の列が両方空白の場合は残を出さ無いために
=IF(AND(B2="",C2=""),"",を加えています。
またSUMを使ったのは、一方法です。式でもかまいません。
>空白か入るとエラーになります
普通はそうなりません。空白、数字以外の、スペース(文字の一種)か文字・記号が入っているのでは。
    • good
    • 1

D2に


=D1+B2-C2
と入力してください。
どれかが空白でもエラーにはならないと思いますが。
空白は0として計算します。
もしかして、空白ではなく、スペースを入力していませんか。一度、空白に見えるセルを選択くして、deleteキーを押して空白にしてみてください。
    • good
    • 0

空白になりうるのはB2だけですか?


それならIF関数を使うといいでしょう。

=IF(B2=””、D1+C2、D1+B2-C2)
だと出ると思います。

(もし、B2が空白なら、D1とC2を足す、そうでないなら
D1とB2を足してC2を引く)という計算式になります。

複数空白になる場合もこの方法は流用できますが、
組み合わせが必要になるので少し複雑になります

この回答への補足

ありがとうございました
C2も空白になる時があります
ご教授お願いします

A2*B2=C2 E1+C2-D2=E2という数式で
A2.B2.C2.D2が空白になりえます
C2が空白の時はE1-D2=E2
D2が空白の時はE1+C2=E2
C2.D2両方空白のときはE1=E2となる
また A2.B2のどちらかが空白の時はC2は空白
このような数式が作りたいのです
ご教授頂ければ幸いです
よろしくお願いいたします。

補足日時:2008/10/05 11:06
    • good
    • 0

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

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

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

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

Qエクセルでの空白を無視した引算の方法

ABCの列があり、それぞれA原価・B売値・C利益とします。
Cのセルには(B-A)で利益を表示し、=SUM(C1:C100)で利益の合計を出すのが目的です。

まだ売れていない商品はB列が空白になっているため、この状態でB-AをするとCはマイナスになってしまいます。
ですので空白の場合は計算しないでB-Aを計算するにはどうすればいいでしょうか?
売値<原価の場合もありますので、マイナスは除外という方法は使えません。

Aベストアンサー

たとえば「B列に記入した」ら計算したいなら
C2には
=IF(B2=0,"",B2-A2)
あるいは
=IF(B2="","",B2-A2)
などのように記入しておきます。
合計のSUMの式は今のままで構いません。


それともたとえば「A列とB列とどっちも記入した」ら初めて計算したいなら,
=IF(COUNT(A2:B2)=2,B2-A2,"")
といった風にすることもあります。



#補足
B列に「具体的に何を記入」しているのかによって,実際の数式は変わります。
・生数字を記入している場合
・実は他のどこかから数式で参照している場合
実際にあなたが作成しているエクセルの事実に照らして,適切に数式を組み立てる必要があります。

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

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

Aベストアンサー

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

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

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

Aベストアンサー

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

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

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

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

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

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

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

Aベストアンサー

こんばんは。

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

QエクセルでSUM。空白の時エラーが出ないように・・・

 こんにちは。
同じような質問があるかと探してはみたのですが、なかなか見つけられなかったので、重複しているかもしれませんが教えてください。
 エクセルで、A1とA2を足したい時、A3に=SUMでA1とA2を指定しますよね。そこまではいいのですが、もし、A1かA2、もしくは両方のセルが空白の場合に、A3にエラーが出ないようにするには、どんな設定をすればいいのでしょうか?=IF(A1:A2="","", で「空白ならば空白」という設定ということまではわかるのですが、その後どうすればいいのか教えてください。それとも、この時点で間違えてるでしょうか?空白じゃない時は、A1とA2を足した答えが出るようにしたいのです。
 よろしくお願いいたします。m(__)m

Aベストアンサー

>A1=2、B1=空白でA1+B1=2
=IF(AND(A1="",B1=""),"",A1+B1)
ですね。

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

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

Aベストアンサー

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

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

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

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

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

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

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

宜しくお願いします。

Aベストアンサー

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

でどうでしょうか?

QExcelでの空白セルを除いた引き算【part2】

Excel2007を使用しています。

先日下記のような質問をさせて頂いて、B2=IF(A2="","",A2-MAX(A$1:A1))という式を使わせてもらいました。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
A列にどんどん増えていく数値(増加量はランダム)が入力され、
B列に1つ上の数値を引いた値を計算式で出したいのですが、A列にはたまに空白が入ります。

A列   B列
50   
100     50 (←100-50)
160    60

170    10 (←170-160)
200    30
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


今度はこのような場合を作りたいのですが、Excelの計算式の理解が乏しくて、先日頂いた式から作り直すことができません…。

A列   B列
50     50 (←100-50)
100    60
160    10 (←170-160)

170    30
200   

今回の場合はどのように直したらいいのか(orまったく別の式なのか?)分かる方よろしくお願いします。

Excel2007を使用しています。

先日下記のような質問をさせて頂いて、B2=IF(A2="","",A2-MAX(A$1:A1))という式を使わせてもらいました。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
A列にどんどん増えていく数値(増加量はランダム)が入力され、
B列に1つ上の数値を引いた値を計算式で出したいのですが、A列にはたまに空白が入ります。

A列   B列
50   
100     50 (←100-50)
160    60

170    10 (←170-160)
200    30
- - - - - ...続きを読む

Aベストアンサー

>今回の場合はどのように直したらいいのか(orまったく別の式なのか?)分かる方よろしくお願いします。
論理を考え直してください。
提示のデータは行が増す毎に値が必ず大きくなると言う条件であれば次の式で良いでしょう。

B2=IF(A2="","",IF(COUNT(A3:A$1000)=0,"",MIN(A3:A$1000)-A2))

A列が空欄のときはB列を空欄にします。
A列の次の行(A3)から最大行(A$1000)までの最小値からA列の現在行(A2)を引いた値がB列の現在行(B2)になれば良いことになります。

=MIN(A3:A$1000)-A2

但し、A列の次の行(A101)から最大行(A$1000)まで空欄のときはB列の現在行(B100)は空欄とする。

=IF(COUNT(A101,A$1000)=0,"",減算式)

Qエクセルで空白セル”” と未入力セルの違い

関数で セルA1 に=if(B1=0,"","入力済")
としました。
セルの選択を素早くするためにショートカットキー「Ctrl+↓」を
利用しています。
通常の未入力空白セルは上記のショートカットで飛ばされて選択
されません。
これに対して上記関数で ""  として入力されたものを
コピーして値だけを貼り付けたとしても
上記ショートカットキーで飛ばされず選択されてしまいます。
見た目は 全く同じ 空白セルです。(関数も値貼り付けをしているので消えています。)
未入力の空白セルと 関数で""と入力されて値貼り付けを受けたセルではどこが違うのでしょうか。
また、未入力の空白セルに 戻すには関数でどのように入力させればいいのでしょうか。もちろんDeleteKeyを使って未入力の空白セルに
戻るのですがそれではショートカットキーでとばせるメリットがなくなります。関数で大量に処理したいのです。
おわかりの方お教えください。

Aベストアンサー

>未入力の空白セルと 関数で""と入力されて値貼り付けを受けたセルではどこが違うのでしょうか。

未入力の空白セルは「ISBLANK関数」で「真」を返します。

一方、値としての""が貼り付けられたセルは「ISBLANK関数」で「偽」を返します。

>また、未入力の空白セルに 戻すには関数でどのように入力させればいいのでしょうか。
不可能です。「式」は「値」を返すので「空白セル」と言う「状態」を返す事は出来ません。

>もちろんDeleteKeyを使って未入力の空白セルに
>戻るのですがそれではショートカットキーでとばせるメリットがなくなります。関数で大量に処理したいのです。

つまり「セルを1つづつ選択してDeleteキーで1つづつ空白セルに戻すのが面倒」なので「全部を一気に空白セルに戻す良い方法は無いか?」と言う事ですね?

だったら簡単です。

すべての式を
=if(B1=0,"","入力済")
ではなく
=if(B1=0,1/0,"入力済")
にしておきましょう。

すると、未入力の所は、空白("")にならず「#DIV/0!」になります。

そう表示されたら、シート全体を選択し「CTRL+G」を押して「ジャンプ」を出します。

「ジャンプ」のダイアログが出たら「セル選択」を押し、セル選択のダイアログを出します。

セル選択のダイアログが出たら「数式」を選び、その下のチェックは「エラー値」だけにします。

「OK」を押してダイアログを閉じると「#DIV/0!」の表示になったセルのみが選択状態になります。

「#DIV/0!」の表示になったセルのみが選択状態になったら、Deleteキーを押して、それらのセルを一気に「空白セル」にして下さい。

もちろん、大量にあっても、手順は変わりません。

>未入力の空白セルと 関数で""と入力されて値貼り付けを受けたセルではどこが違うのでしょうか。

未入力の空白セルは「ISBLANK関数」で「真」を返します。

一方、値としての""が貼り付けられたセルは「ISBLANK関数」で「偽」を返します。

>また、未入力の空白セルに 戻すには関数でどのように入力させればいいのでしょうか。
不可能です。「式」は「値」を返すので「空白セル」と言う「状態」を返す事は出来ません。

>もちろんDeleteKeyを使って未入力の空白セルに
>戻るのですがそれではショ...続きを読む

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列全てコピーしたい場合。
  コ...続きを読む


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

人気Q&Aランキング