プロが教える店舗&オフィスのセキュリティ対策術

エクセルの関数式で
A<Bの時B-Aの値、A>Bの時A-Bの値を返す式はどのようにしたら
良いのでしょうか?
IF(AND(A<B),B-A,A-B) と入れたのですが、どうもうまくいきません。
よろしくお願いします。

A 回答 (6件)

IF(A<B,B-A,A-B)で、如何でしょう。



「A<B」以外は、すべて「B>=A」、従って「A-B」だと考えました。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
その式でできました。
複雑に考えすぎていました。助かりました。

お礼日時:2008/03/27 20:15

abs(a-b)

    • good
    • 0

#2です。


間違えました。忘れてください。
    • good
    • 0

式を入れないで再投稿してしてしまいました。


abs(a1-b1)
です。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
どうもその式ですと値がでません。
わざわざありがとうございます。

お礼日時:2008/03/27 20:16

IFを使う場合、ABSを使う場合は、それぞれ回答が得られているので、


なぜうまくいかないかの説明を...。

AND式は、2つの条件を満足するかどうかの判定式になるので、
AND(A<B) では、パラメーター不足でエラーになります。
例えば、A<B かつ C<D を判定したい場合に AND(A<B, C<D) と
なり、両方の条件を満たす場合に 1、どちらか満たさない場合に 0と
なります。もちろん、IF式の中にも使えますが、この場合は必要ないと
いうことになります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
全くもってそのとおりですね。
ANDが頭から離れず、もっとシンプルに考えればよかったと思います。
大変参考になりました。

お礼日時:2008/03/27 20:17

何で複雑にANDなんか使うのかな。


=AND(x、Y)はx、yと条件が2つ以上必要だよ。
質問の式は1つしかない。
もともと条件は1つで良い。
2より大で10より小などがANDの使い途。
=AND(A>",A<10)
これでTRUEかFALSEかが出る。
それをTRUEかFALSEかを聞く関数がIF関数。
結果は最簡単な場合で2つ(この質問ではBーAとA-Bの2つ)。それと条件と勘違いしていると思う。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
全くもってそのとおりです。
勘違いでした。
一つの事にとらわれてしまうと、どうしても発想の切り替えがうまくいかず、
泥沼にはまってしまいます。
アドバイスありがとうございました。基本的なことを思い出させて頂いて
助かりました。

お礼日時:2008/03/27 20:19

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