• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで、関数が思い通りの結果を返しません)

エクセルで関数が思い通りの結果を返しません

このQ&Aのポイント
  • エクセルで自動的に累計を計算するための関数を作成したいが、うまくいかない。要約文には詰まった箇所や問題点をまとめる。
  • 作成した式はエラー表示は出ないが、期待通りの結果が得られない。他の関数や手法を試す必要があるかもしれない。
  • ISBLANK関数を使用して該当のセルが空欄かどうかをチェックし、条件分岐がうまく機能するようにすると良いかもしれない。

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

  • ベストアンサー
noname#79209
noname#79209
回答No.5

#4です。ゴメンナサイ、支出と収入の順番が逆でしたね。 また、以下のように当日の差し引きも欲しいのであれば、    A     B     C     D     E 1 日 付  支 出  収 入  差 引  累 計 2 7/1 3 7/2          100    100    100 4 7/3 5 7/4      50    200    150    250 5 7/4      50          -50    200 D列には、 =IF(OR(B2<>0,C2<>0),C2-B2,0) E列には、 =IF(D2<>0,SUM(D$2:D2),0) とします、 当選、D列、E列共に表示書式に「#,###;-#,###」を設定しておきます。

その他の回答 (4)

noname#79209
noname#79209
回答No.4

いろいろ表示の条件をお書きになっていますが、要は「収支と累計を出したい」という事ですよね? A列には多分日付が入るとして。    A    B    C    D 1 日 付  収 入  支 出  累 計 2 7/1 3 7/2     100        100 4 7/3 5 7/4     200   50    250 と表示させたいのだろうと思われます。 だとすれば、セルD2に =IF(OR(B2<>0,C2<>0),SUM($B$2:$B2)-SUM($C$2:$C2),0) と入力し、D2の表示書式に「#,###;-#,###」と設定したうえで、 D2をD3以下にコピーすればOKです。 因みに、D3へコピーされた計算式は、 =IF(OR(B3<>0,C3<>0),SUM($B$2:$B3)-SUM($C$2:$C3),0) となり、頭に「$」をつけない行番号は自動的に繰り上がっていきます。 累計を出す計算式を作る際、一つ上のセルの累計データと現在の行のデータを加算しがちですが、 この例のように、データの一番上の行から現在の行までを加算するようにしておけば、 ご要望のように、累計の列を歯抜けで表示できます。 また、表示書式で「0」を表示しない設定にもできますから、計算式で「""」のように「長さ0の文字列」にしなくて済みます。 「長さ0の文字列」にしてしまうと、結果をさらに計算に使用としいたときに計算できなくなってしまいます。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

家計簿の過去質問に答えた例 例データ (略1-7行。8行目から) 80 ー 310 20 ー 330 10 ー 340 ー 30 310 5 10 305 30 ー 335 50 20 365 30 10 385 C列は=IF(OR(A8<>"",B8<>""),C7+A8-B8,"") を入れた。第8行目の例

回答No.2

こんにちわ。 いくつか方法がありますが、とりあえず下記でお試しください。 =IF(B="",IF(C="","",A+C),A-B) これで、条件のうち1~3は満たすはずです。 念のため、BとC両方に数値が入ることはないという前提で作成しています。 4番目を満たす場合は、 =IF(A="","",IF(B="",IF(C="","",A+C),A-B)) になります。 お試しください。

noname#176215
noname#176215
回答No.1

Excelにはセル番地があるのですから 記号に置き換えず 番地で書いて 欲しいのですが…… 見たまんまの配置だとして ■C2セル =IF(COUNT(A2:B2),LOOKUP(10^16,C$1:C1)-A2+B2,"") でどうですか? ただ個人的には上の方法はお勧めしません。こんな ややこしい方法を 使わなくても ■C2セル =C1-A2+B2 として [書式]→[条件付き書式]で [数式が] =COUNTIF(A2:B2)=0 と設定して[書式]の文字色を白に設定しておくだけでもいいのではない でしょうか。

関連するQ&A