こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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を減算した答えを示す。

投稿日時 - 2018-05-14 12:39:50

QNo.9498345

困ってます

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

>二通りの式がでましたが、ひとつのセルでは無理に式を入れるのは無理でしょうか?
意味不明です。
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が負数になると返済過多になりますので返済者へ戻さなければなりません。
あなたは貸主ですか?、それとも借主ですか?

投稿日時 - 2018-05-14 19:02:28

補足

私が貸主です。

> そのような理屈は反って分かり難くなります。

理屈というよりも例です。これをわかってもらわなければ何をやろうとしているのかがわかりにくいです。


=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
にしても同じでした。なぜこうなるのでしょう?

投稿日時 - 2018-05-15 12:44:12

お礼

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

投稿日時 - 2018-05-15 14:07:18

ANo.7

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(9)

ANo.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)」の結果を表示


ここまでの私の理解は、正しいですか?

投稿日時 - 2018-05-15 13:04:03

補足

私のほうこそなぜそうなるのかの理解がほしいところです。

=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になるはずです。

投稿日時 - 2018-05-15 13:53:35

お礼

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

投稿日時 - 2018-05-15 14:06:13

ANo.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の値ですか?
それとも、計算結果ですか?

投稿日時 - 2018-05-14 21:59:30

補足

>ケース2は、A1がゼロですから、A4にはA3の値が表示されます。

そのとおりです。

>A2が計算に絡みません。

それでいいのです。

>A3が負数の場合には絶対値とする。

については絶対値に読み替えるの対象はA3です。

投稿日時 - 2018-05-15 11:37:57

お礼

>ケース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が絡まないとおっしゃいますが、

投稿日時 - 2018-05-15 11:46:38

ANo.6

追記。

>正しくはA3-A2またはA3-A1です。

繰り返しますが、コンピューターは「または」という曖昧な処理はできません。

コンピューターで出来るのは「○○が××ならばA3-A2、さもなければA3-A1」と言う処理です。

貴方の質問は「○○が××ならば」の部分がスッポリ抜けてるので、複数の回答者さん達から「どうすんの?」とツッコミが入るのです。

「▲▲または■■になる」との条件を提示する場合は「▲▲になるか■■になるかは、人間が入力して決める」とか、○○が××ならば▲▲、さもなければ■■」とか「そうなる条件」を明示して下さい。

また「A1、A2は双方とも▲▲」と言う、複数の項目について列挙する場合は「A1とA2の関係性」も明記して下さい(あとからツッコミが入って「A1に正数が入力されたときA2には必ず0、A1に0が入力されればA2には必ず正数が入力される」と明記されたようですが、最初からそう明記してあれば、ツッコミされる事もありません)

投稿日時 - 2018-05-14 14:59:02

ANo.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じゃない正数を入力した場合に、どうすべきか明確になってないので、質問として不完全です。

こういう質問をする時は「すべての可能性をきちんと明示する」ようにして下さい。

例えば「○○には負数は入力しない。もし仮に入力したらこうなる」とか「○○と××に同時に正数を入力しない。もし仮に入力したらこうなる」とか、全パターンについて、漏れなく明示して下さい。

じゃないと、当方の回答のように「勝手な解釈で回答」する事になります。

「勝手な解釈で回答」して「貴方の希望と違う回答」になってしまったら、貴方も私も「無駄な時間を過ごす」事になってしまいます。

投稿日時 - 2018-05-14 14:42:09

補足

関数は全くの素人ですので、質問の形をどうするかも苦慮していますが、勉強になりました。
では質問を変えます。

・入力の値の条件は以下となります。
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が負数の場合には絶対値とする。

これでいかがでしょうか?

投稿日時 - 2018-05-14 15:21:11

ANo.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

投稿日時 - 2018-05-14 13:27:34

補足

「A1に正数が入力されたときA2には必ず0、A1に0が入力されればA2には必ず正数が入力される」場合の式です。

二通りの式がでましたが、ひとつのセルでは無理に式を入れるのは無理でしょうか?

投稿日時 - 2018-05-14 14:31:11

お礼

説明不足でした。

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

投稿日時 - 2018-05-14 14:31:42

ANo.3

=ABS(A3-A1-A2)

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

投稿日時 - 2018-05-14 13:08:23

ANo.2

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

投稿日時 - 2018-05-14 12:59:08

補足

説明不足でした。

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

投稿日時 - 2018-05-14 14:27:09

ANo.1

> A3に入力した数値をA2またはA1それぞれから減算し、その結果をA4に示す

これを素直に読めば,結果はA1-A3とA2-A3の2つあります。それをA4に示すことはできません。結果を示すセルも2つ必要です。

投稿日時 - 2018-05-14 12:58:17

補足

説明不足でした。

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

投稿日時 - 2018-05-14 14:26:58