- 締切済み
計算元が同じ式の結果表示を正数か0に表示させたい
C1➡1,000 C2➡1,000 C3➡1,000 C4➡3,000(C1~C3の合計または0表示) C5➡3,000(C1~C3の合計または0表示) このような入力パターンと結果の場合、結果について、C4かC5のいずれか一方が正数のみの結果を示すとき、一方は0表示となるような式や方法を教えてください。 たとえば C1➡1,000 C2➡1,000 C3➡1,000 C4➡0 C5➡3,000 または C1➡1,000 C2➡1,000 C3➡1,000 C4➡3,000 C5➡0 なお、これらC1~C3はA1からB1(2行目以下同様)の合計であり、C4のみ答えがマイナスとなる場合には絶対数となります。
- みんなの回答 (8)
- 専門家の回答
みんなの回答
- bunjii
- ベストアンサー率43% (3589/8249)
>>例えばA1~A3の合計が負数になるときはC5が0となるような… >という方法でも大丈夫だと思います。もしかしたらこれでよいかもしれません。試してみますのでよろしくお願いいたします。 C4の数式(次の数式ではA1~A3の合計が負数のとき0になります。) =MAX(SUM(A1:A3),0) C5の数式(次の数式ではA1~A3の合計が正数のとき0になります。) =MIN(SUM(A1:A3),0)
- chie65536(@chie65535)
- ベストアンサー率44% (8740/19838)
>これら二つのセルC4、C5に回答がでるのは当然のこととして、いずれかを手動で計算したいのです。 そういう事ですか。 であれば「特定のセルを、手動入力専用のセルにする」と言う方法で解決する必要があります。 例えば「E4セルを、手動入力専用セルにする」とか。 で、式を書く時に「E4セルがブランクセルであれば計算式で自動で求めた合計を使い、E4セルがブランクセルでなければ0にする」とか「E4セルがブランクセルであれば0にして、E4セルがブランクセルでなければE4の値を使う」とかって式にすれば良いのです。
- mt2015
- ベストアンサー率49% (258/524)
前の質問(https://okwave.jp/qa/q9498114.html)でもそうですが、変な用語を作らずに、もっと具体的に説明できませんか? セルA1に=SUM(M23:P23) セルA2に=SUM(M24:P24) セルA3に=SUM(M25:P25) と入っていて、セルM23:P23に何も入力されて居ない時はA2とA3の値を0にしたい。 こういう事でしょうか?
補足
前の質問のセルの例は改めてここでの質問であるC列を例に取りたいと思います。 C1➡1,000の答えはA1~B1の合計とします。 C2➡1,000の答えはA2~B2の合計とします。 C3➡1,000の答えはA3~B3の合計とします。 >セルM23:P23 はA1~B1となるわけですが、何も入力されていない状態ではありません。 また >A2とA3の値を0にしたい。 というものでもありません。あくまでもC1~C3の結果です。
- bunjii
- ベストアンサー率43% (3589/8249)
>C4➡3,000(C1~C3の合計または0表示) >C5➡3,000(C1~C3の合計または0表示) C4とC5の何れか一方が質問に提示されていない条件で0にしなければ循環参照になり正しい計算ができません。 例えばA1~A3の合計が負数になるときはC5が0となるような数式を設定し、C4にはC5が0のときA1~A3の合計の絶対値としC5が正数のときはC4が0となるような数式なら循環参照にならない方法にできます。 落とし穴付きクイズのような質問なので回答が困難です。
補足
>C4とC5の何れか一方が質問に提示されていない条件 については、質問で述べた以下の例ですがこれではないですか? C1➡1,000 C2➡1,000 C3➡1,000 C4➡0 C5➡3,000 または C1➡1,000 C2➡1,000 C3➡1,000 C4➡3,000 C5➡0 >例えばA1~A3の合計が負数になるときはC5が0となるような… という方法でも大丈夫だと思います。もしかしたらこれでよいかもしれません。試してみますのでよろしくお願いいたします。
- chie65536(@chie65535)
- ベストアンサー率44% (8740/19838)
>式や方法を教えてください。 「C4は、0、または、C1~C3の合計」とありますが、どういう時に0になり、どういう時にC1~C3の合計になるのでしょうか? コンピューターのプログラミングでは「0、または、C1~C3の合計になる」と言う「曖昧な記述」は不可能です(「セルに式を書く」も「プログラミング」の一種です) なので、この質問に回答することは不可能です。 この質問に回答するには「C4は、ここがこうなっている時には0になり、そうじゃない時はC1~C3の合計になる」のように「0になる場合の条件」が必要です。 この「0になる場合の条件」が「人間が判断する」とか「条件が不明」とかの場合、プログラミング不可能になります。 ですので「0になる時の決まりや法則が無い」のであれば、C4に付いては「初期状態では、C1~C3の合計の絶対値が、計算式で記述されている。人間の判断によって、手入力で式を消して、0を直接に入力する。なお、入力規則で、0以外は入力できないようになっている」という事になるでしょう。 そして、C5に付いては「C4が0であれば、C1~C3の合計の絶対値を求め、C4が0でなければ0と計算する式」を記述する事になるでしょう。 なお「C4に、手入力で、0でも、C1~C3の合計の絶対値でもない値が入力された場合」も考えられますが、質問文に「そういう場合にどうするかが書かれてない」ので無視します。
補足
確かにこの質問、理屈がおかしかった… 二つのセルに計算元が同じで数式も同じである以上、回答もその二つのセルにでるのは当然ですよね。 では質問を変えます。 これら二つのセルC4、C5に回答がでるのは当然のこととして、いずれかを手動で計算したいのです。 例の「必要なときだけ結果が表示される方法」での質問の補足に戻りますが、連続コピーができないのです。 以下その補足です。 「手動」設定は「関数式の指定するセル」も手動でやることになるということです。 この「関数式の指定するセル」は以下の式が入っています。 =SUM(M23:P23) つまりM23からP23までの合計を出すのですが、さらにその下のセルに対しても =SUM(M24:P24) =SUM(M25:P25) を計算元として数式をコピーします。 しかし「結果のセル」が手動入力になっているときには連動して「関数式の指定するセル」も手動計算となってしまいます。 目的はこの式を使わないとき(手動入力設定)には0表示をさせておきたいのですが、そうするとなると上の=SUM(M23:P23)から=SUM(M25:P25)までは連続コピーができなくなるわけです。 やはり=SUM(M23:P23)から=SUM(M25:P25)までは手動計算しなくてはならないのは仕方ないでしょうか?それとも他に方法はありますか?
- mt2015
- ベストアンサー率49% (258/524)
もしかしてC4、C5どちらかランダムに合計値を表示したいのかな? C4:=IF(RAND()>0.5,0,ABS(SUM(C1:C3))) C5:=IF(C4=0,ABS(SUM(C1:C3)),0)
補足
確かにこの質問、理屈がおかしかった… 二つのセルに計算元が同じで数式も同じである以上、回答もその二つのセルにでるのは当然ですよね。 では質問を変えます。 これら二つのセルC4、C5に回答がでるのは当然のこととして、いずれかを手動で計算したいのです。 例の「必要なときだけ結果が表示される方法」での質問の補足に戻りますが、連続コピーができないのです。 以下その補足です。 「手動」設定は「関数式の指定するセル」も手動でやることになるということです。 この「関数式の指定するセル」は以下の式が入っています。 =SUM(M23:P23) つまりM23からP23までの合計を出すのですが、さらにその下のセルに対しても =SUM(M24:P24) =SUM(M25:P25) を計算元として数式をコピーします。 しかし「結果のセル」が手動入力になっているときには連動して「関数式の指定するセル」も手動計算となってしまいます。 目的はこの式を使わないとき(手動入力設定)には0表示をさせておきたいのですが、そうするとなると上の=SUM(M23:P23)から=SUM(M25:P25)までは連続コピーができなくなるわけです。 やはり=SUM(M23:P23)から=SUM(M25:P25)までは手動計算しなくてはならないのは仕方ないでしょうか?それとも他に方法はありますか?
- mt2015
- ベストアンサー率49% (258/524)
???????? C4にC1:C3の合計値ではなく0を表示するのはどの様な時? C5にC1:C3の合計値ではなく0を表示するのはどの様な時?
- msMike
- ベストアンサー率20% (364/1804)
》 C4かC5のいずれか一方が正数のみの結果を示すとき… えっ?!何を仰っているのですか?正気ですか? だってぇ、 C4 も C5 も同じ「C1~C3の合計または0表示」と明言したでしょ? つまり、「C4かC5のいずれか一方が」ドーノコーノは可笑しいでしょ?
補足
別に狂ってはいませんが、ちと説明が悪かったので直します。 >C4 も C5 も同じ「C1~C3の合計または0表示」と明言したでしょ? はいそのとおりです。 >「C4かC5のいずれか一方が」 というのは質問の例示どおりです。 C4が正数のときC5が0逆もまたしかり。 例示を変えて教えます。 C1➡1,000 C2➡1,000 C3➡1,000 C4➡(C1~C3の合計または0) C5➡(C1~C3の合計または0) つまりC4が3,000(正数)のときC5が0 C5が0のときC5が3,000 これでわかりましたか?
補足
ありましたか!その方法を教えてください!当方まったくの関数素人です。よろしくお願いいたします。