• ベストアンサー

このような条件と目的の関数式を教えてください。

A1、A2は双方とも正数または0が入る。 A3は正数のみ。 A3に入力した数値をA2またはA1それぞれから減算し、その結果をA4に示す ・A1~A3はいずれも固定された値ではない。 ・結果が負数ならば絶対数を正数で表示する。 このような条件と目的の関数式を教えてください。 以下入力例です。 (1) A1が10,000または0 (2) A2に10,000または0, (3) A3に5,000 (4) A4にA3からA1またはA2を減算した答えを示す。

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

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.7

>二通りの式がでましたが、ひとつのセルでは無理に式を入れるのは無理でしょうか? 意味不明です。 A4へ設定する数式は1つしか回答していません。 A1とA2セルの値を2通りの組み合わせで実際の計算過程を示しただけなのであなたの見間違いではないでしょうか? >たとえばA1とA2は「返済先」、A3は「返済」、A4は「未返済」と考えてください。 そのような理屈は反って分かり難くなります。 >やはり無理でしょうか? A4の数式は次のようになります。 =ABS(SUM(A1:A2)-A3) 質問の(4)の説明が違っています。 (4) A4にA3からA1またはA2を減算した答えを示す。     ↓ (4) A4にA1またはA2からA3を減算した答えを示す。 A4が負数になると返済過多になりますので返済者へ戻さなければなりません。 あなたは貸主ですか?、それとも借主ですか?

naturalnatural
質問者

お礼

解決しました。「手動」設定になってました。 またこの式で成功しました。ありがとうございました。

naturalnatural
質問者

補足

私が貸主です。 > そのような理屈は反って分かり難くなります。 理屈というよりも例です。これをわかってもらわなければ何をやろうとしているのかがわかりにくいです。 =ABS(SUM(A1:A2)-A3) の式ですとA1~A2の合計部分は「貸金の合計」ですので、ここからA3つまり「返済」を減算するとA4の「未返済」にその額をだしてほしいのです。 仮に「債務者」であるA1に10,000と入れ(対するA2は0)、A3に5000と入力したところA4「未返済」は5,000でした。 しかし今度はA3に10,000と入れ(A2は0)たところA4は5,000でした。貸金10,000円を全額返してもらったのだから0になるはずです。 ABSをとって =(SUM(A1:A2)-A3) や =(A1+A2)-A3 にしても同じでした。なぜこうなるのでしょう?

その他の回答 (8)

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.9

>A1が0、A2が正数、A3が0の時⇒A4には「=ABS(A3-A2)」の結果を表示 >A1が0、A2が正数、A3が正数の時⇒A4には「=ABS(A3-A1)」の結果を表示 >A1が正数、A2が0、A3が0の時⇒A4には「=ABS(A3-A2)」の結果を表示 >A1が正数、A2が0、A3が正数の時⇒A4には「=ABS(A3-A1)」の結果を表示 >A3が負数の場合にはA3を絶対値とする。 ということなら、 >A1が0、A2が正数、A3が0の時⇒A4には「=ABS(A3-A2)」の結果を表示 >A1が0、A2が正数、A3が正数の時⇒A4には「=ABS(A3-A1)」の結果を表示 >A1が0、A2が正数、A3が負数の時⇒A4には「=ABS(ABS(A3)-A1)」の結果を表示 >A1が正数、A2が0、A3が0の時⇒A4には「=ABS(A3-A2)」の結果を表示 >A1が正数、A2が0、A3が正数の時⇒A4には「=ABS(A3-A1)」の結果を表示 >A1が正数、A2が0、A3が負数の時⇒A4には「=ABS(ABS(A3)-A1)」の結果を表示 ということになりますね? ならば、 >A1が0、A2が正数、A3が0の時⇒A4には「=ABS(A3-A2)」の結果を表示 >A1が0、A2が正数、A3が0以外の時⇒A4には「=ABS(ABS(A3)-A1)」の結果を表示 >A1が正数、A2が0、A3が0の時⇒A4には「=ABS(A3-A2)」の結果を表示 >A1が正数、A2が0、A3が0以外の時⇒A4には「=ABS(ABS(A3)-A1)」の結果を表示 ということになりますね? 更に変形すると >A1が0、A2が正数、A3が0の時⇒A4には「=ABS(0-A2)」の結果を表示 >A1が0、A2が正数、A3が0以外の時⇒A4には「=ABS(ABS(A3)-0)」の結果を表示 >A1が正数、A2が0、A3が0の時⇒A4には「=ABS(0-0)」の結果を表示 >A1が正数、A2が0、A3が0以外の時⇒A4には「=ABS(ABS(A3)-A1)」の結果を表示 更に更に変形すると >A1が0、A2が正数、A3が0の時⇒A4には「=A2」の結果を表示 >A1が0、A2が正数、A3が0以外の時⇒A4には「=ABS(A3)」の結果を表示 >A1が正数、A2が0、A3が0の時⇒A4には「=0」の結果を表示 >A1が正数、A2が0、A3が0以外の時⇒A4には「=ABS(ABS(A3)-A1)」の結果を表示 ここまでの私の理解は、正しいですか?

naturalnatural
質問者

お礼

解決しました。「手動」設定になってました。

naturalnatural
質問者

補足

私のほうこそなぜそうなるのかの理解がほしいところです。 =ABS(SUM(A1:A2)-A3) の式でよいと思いますが、回答7への補足どおりのことです。 =ABS(SUM(A1:A2)-A3) の式ですとA1~A2の合計部分は「貸金の合計」ですので、ここからA3つまり「返済」を減算するとA4の「未返済」にその額をだしてほしいのです。 仮に「債務者」であるA1に10,000と入れ(対するA2は0)、A3に5000と入力したところA4「未返済」は5,000でした。 しかし今度はA3に10,000と入れ(A2は0)たところA4は5,000でした。貸金10,000円を全額返してもらったのだから0になるはずです。

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.8

>・入力の値の条件は以下となります。 >ケース1 >A1が0、A2が正数、A3が0の時⇒A4には「=ABS(A3-A2)」の結果を表示 > >ケース2 >A1が0、A2が正数、A3が正数の時⇒A4には「=ABS(A3-A1)」の結果を表示 > >ケース3 >A1が正数、A2が0、A3が0の時⇒A4には「=ABS(A3-A2)」の結果を表示 > >ケース4 >A1が正数、A2が0、A3が正数の時⇒A4には「=ABS(A3-A1)」の結果を表示 ↑の説明は正しいですか? なぜなら、... ケース2は、A1がゼロですから、A4にはA3の値が表示されます。 つまり、A2が計算に絡みません。 ケース3は、A2,A3がゼロですから、A4にはゼロが表示されます。 つまり、A1が計算に絡みません。 続いて、 >・A3が負数の場合には絶対値とする。 この行、 絶対値に読み替えるの対象は、A3の値ですか? それとも、計算結果ですか?

naturalnatural
質問者

お礼

>ケース2は、A1がゼロですから、A4にはA3の値が表示されます。 について補足質問です。 A3からA1またはA2を減算したときの結果をA4に示すのが目的なのです。 この場合A3からA2またはA1を減算するのですからたとえばA1が0、A2が5000、A3が5000とすると、5000-0=5000となりA4に5000が表示されます。 なので「A4にはA3の値が表示される」という意味がわかりません。 パターンのいずれもA2が絡まないとおっしゃいますが、

naturalnatural
質問者

補足

>ケース2は、A1がゼロですから、A4にはA3の値が表示されます。 そのとおりです。 >A2が計算に絡みません。 それでいいのです。 >A3が負数の場合には絶対値とする。 については絶対値に読み替えるの対象はA3です。

回答No.6

追記。 >正しくはA3-A2またはA3-A1です。 繰り返しますが、コンピューターは「または」という曖昧な処理はできません。 コンピューターで出来るのは「○○が××ならばA3-A2、さもなければA3-A1」と言う処理です。 貴方の質問は「○○が××ならば」の部分がスッポリ抜けてるので、複数の回答者さん達から「どうすんの?」とツッコミが入るのです。 「▲▲または■■になる」との条件を提示する場合は「▲▲になるか■■になるかは、人間が入力して決める」とか、○○が××ならば▲▲、さもなければ■■」とか「そうなる条件」を明示して下さい。 また「A1、A2は双方とも▲▲」と言う、複数の項目について列挙する場合は「A1とA2の関係性」も明記して下さい(あとからツッコミが入って「A1に正数が入力されたときA2には必ず0、A1に0が入力されればA2には必ず正数が入力される」と明記されたようですが、最初からそう明記してあれば、ツッコミされる事もありません)

回答No.5

>A1、A2は双方とも正数または0が入る。 コンピューターのプログラミング(関数式の記述もプログラミングの一種です)では「または」という、曖昧な記述は出来ません。 プログラミングでは「○○が××ならば正数、さもなくば0になる」のように「そういう状態になる時の条件」が必要です。 「0にする時の条件は、人間が決める」でも構いませんが、そういう場合は「すべての場合分けをプログラミングする必要」があります。 例えば「A1、A2は双方とも正数または0が入る」「A3は正数のみ」なのであれば、すべてのケースを場合分けして A1が負数、A2が負数、A3が負数の時⇒A4には「条件不一致」と表示 A1が負数、A2が負数、A3が0の時⇒A4には「条件不一致」と表示 A1が負数、A2が負数、A3が正数の時⇒A4には「条件不一致」と表示 A1が負数、A2が0、A3が負数の時⇒A4には「条件不一致」と表示 A1が負数、A2が0、A3が0の時⇒A4には「条件不一致」と表示 A1が負数、A2が0、A3が正数の時⇒A4には「条件不一致」と表示 A1が負数、A2が正数、A3が負数の時⇒A4には「条件不一致」と表示 A1が負数、A2が正数、A3が0の時⇒A4には「条件不一致」と表示 A1が負数、A2が正数、A3が正数の時⇒A4には「条件不一致」と表示 A1が0、A2が負数、A3が負数の時⇒A4には「条件不一致」と表示 A1が0、A2が負数、A3が0の時⇒A4には「条件不一致」と表示 A1が0、A2が負数、A3が正数の時⇒A4には「条件不一致」と表示 A1が0、A2が0、A3が負数の時⇒A4には「条件不一致」と表示 A1が0、A2が0、A3が0の時⇒A4には「条件不一致」と表示 A1が0、A2が0、A3が正数の時⇒A4には「条件不一致」と表示 A1が0、A2が正数、A3が負数の時⇒A4には「条件不一致」と表示 A1が0、A2が正数、A3が0の時⇒A4には「条件不一致」と表示 A1が0、A2が正数、A3が正数の時⇒A4には「=ABS(A3-A2)」の結果を表示 A1が正数、A2が負数、A3が負数の時⇒A4には「条件不一致」と表示 A1が正数、A2が負数、A3が0の時⇒A4には「条件不一致」と表示 A1が正数、A2が負数、A3が正数の時⇒A4には「条件不一致」と表示 A1が正数、A2が0、A3が負数の時⇒A4には「条件不一致」と表示 A1が正数、A2が0、A3が0の時⇒A4には「条件不一致」と表示 A1が正数、A2が0、A3が正数の時⇒A4には「=ABS(A3-A1)」の結果を表示 A1が正数、A2が正数、A3が負数の時⇒A4には「条件不一致」と表示 A1が正数、A2が正数、A3が0の時⇒A4には「条件不一致」と表示 A1が正数、A2が正数、A3が正数の時⇒A4には「条件不一致」と表示 という、27通り、すべてを考えないといけません。 因みに「A1とA2は、片方が0の場合は、もう片方が非0になる」と、勝手に解釈させて頂きました(両方が同時に非0になったりしない、両方が同時に0になったりしない、と言う解釈) なお、もし「条件に一致しない値は入力しない」と言うのであれば A1が0、A2が正数、A3が正数の時⇒A4には「=ABS(A3-A2)」の結果を表示 A1が正数、A2が0、A3が正数の時⇒A4には「=ABS(A3-A1)」の結果を表示 の2パターンだけを考えれば良い事になります。 ・条件に一致しない値の組み合わせを入力した時を考慮する場合 =IF(OR(A1<0,A2<0,A3<=0,A1+A2=0,A1*A2<>0),"条件不一致",ABS(A3-(A1+A2))) ・条件に一致しない値の組み合わせを入力した時を考慮しない場合 =ABS(A3-(A1+A2)) なお、貴方の質問では、A1とA2に同時に0を入力した場合、A1とA2に同時に0じゃない正数を入力した場合に、どうすべきか明確になってないので、質問として不完全です。 こういう質問をする時は「すべての可能性をきちんと明示する」ようにして下さい。 例えば「○○には負数は入力しない。もし仮に入力したらこうなる」とか「○○と××に同時に正数を入力しない。もし仮に入力したらこうなる」とか、全パターンについて、漏れなく明示して下さい。 じゃないと、当方の回答のように「勝手な解釈で回答」する事になります。 「勝手な解釈で回答」して「貴方の希望と違う回答」になってしまったら、貴方も私も「無駄な時間を過ごす」事になってしまいます。

naturalnatural
質問者

補足

関数は全くの素人ですので、質問の形をどうするかも苦慮していますが、勉強になりました。 では質問を変えます。 ・入力の値の条件は以下となります。 A1が0、A2が正数、A3が0の時⇒A4には「=ABS(A3-A2)」の結果を表示 A1が0、A2が正数、A3が正数の時⇒A4には「=ABS(A3-A1)」の結果を表示 A1が正数、A2が0、A3が0の時⇒A4には「=ABS(A3-A2)」の結果を表示 A1が正数、A2が0、A3が正数の時⇒A4には「=ABS(A3-A1)」の結果を表示 ・A3が負数の場合には絶対値とする。 これでいかがでしょうか?

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.4

>A1、A2は双方とも正数または0が入る。 A1に正数が入力されたときA2には必ず0、A1に0が入力されればA2には必ず正数が入力されるのでしょうか?、それともA1とA2の双方に正数が入力されることも有るのでしょうか? >A3は正数のみ。 >A3に入力した数値をA2またはA1それぞれから減算し、その結果をA4に示す A1またはA2の何れかは正数で他方は必ず0であるときはA4の値を次のように算出すれば良いと思います。 =ABS(A3-SUM(A1:A2)) A1が10,000でA2が0、A3は5,000としたとき =ABS(A3-SUM(A1:A2)) → ABS(5000-SUM({10000;0})) → ABS(5000-10000) → ABS(-5000) → 5000 A1が0でA2が10000、A3は5,000としたとき =ABS(A3-SUM(A1:A2)) → ABS(5000-SUM({0;10000})) → ABS(5000-10000) → ABS(-5000) → 5000

naturalnatural
質問者

お礼

説明不足でした。 正しくはA3-A2またはA3-A1です。 A1またはA2のいずれかが正数の場合 たとえばA1とA2は「返済先」、A3は「返済」、A4は「未返済」と考えてください。 返済先が2通りあるのですが、いずれかが正数のとき(返済あり)にはもう一方は0、一方が0のときもう一方は正数となります。 「返済」があったとき入力すると、未返済に自動的に計算結果が入るということが目的です。 やはり無理でしょうか?

naturalnatural
質問者

補足

「A1に正数が入力されたときA2には必ず0、A1に0が入力されればA2には必ず正数が入力される」場合の式です。 二通りの式がでましたが、ひとつのセルでは無理に式を入れるのは無理でしょうか?

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.3

=ABS(A3-A1-A2) 質問文と入力例で減算する先が違うのが気になりますが、絶対値にするならどちらで同じ結果になるはずなのであえて突っ込みません。

  • 9don
  • ベストアンサー率21% (14/65)
回答No.2

>A3に入力した数値をA2またはA1それぞれから減算し A3-A1=A4ということかな? A3-A2=A4ということかな? 減算する条件がわからない A3-A2-A1=A4ということかな?

naturalnatural
質問者

補足

説明不足でした。 正しくはA3-A2またはA3-A1です。 A1またはA2のいずれかが正数の場合 たとえばA1とA2は「返済先」、A3は「返済」、A4は「未返済」と考えてください。 返済先が2通りあるのですが、いずれかが正数のとき(返済あり)にはもう一方は0、一方が0のときもう一方は正数となります。 「返済」があったとき入力すると、未返済に自動的に計算結果が入るということが目的です。 やはり無理でしょうか?

  • f272
  • ベストアンサー率46% (8477/18147)
回答No.1

> A3に入力した数値をA2またはA1それぞれから減算し、その結果をA4に示す これを素直に読めば,結果はA1-A3とA2-A3の2つあります。それをA4に示すことはできません。結果を示すセルも2つ必要です。

naturalnatural
質問者

補足

説明不足でした。 正しくはA3-A2またはA3-A1です。 A1またはA2のいずれかが正数の場合 たとえばA1とA2は「返済先」、A3は「返済」、A4は「未返済」と考えてください。 返済先が2通りあるのですが、いずれかが正数のとき(返済あり)にはもう一方は0、一方が0のときもう一方は正数となります。 「返済」があったとき入力すると、未返済に自動的に計算結果が入るということが目的です。 やはり無理でしょうか?

関連するQ&A