- 締切済み
EXCEL2003 どちらかのセルに数値がある方との計算
お世話になります。 おそらくCOUNTA を使うのかと思うのですが、他の条件も組み合わせるので混乱しています。 A B C D 100 95 100 110 * 上記のDに、BかCのどちらかに数値の入っているものとAの差額が、 Aより小さいなら空白、大きいなら * をつける という式を作りたいのです。 やってみましたがどうしてもエラーになります。 よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17070)
#1でおっしゃっているように、私も質問文から、質問の意味が=IF(ABS(B1-C1)>=A1,"*","")と取れないのですが。
- tom04
- ベストアンサー率49% (2537/5117)
》 Aより小さいなら空白、大きいなら * をつける 例えば「A以下なら空白、Aより大きいなら」にしておかないと、Aに等しかった場合が抜け落ちます。 それから、Aが空白の場合、BおよびCが空白の場合、BおよびCに数値が入っている場合、も空白にしています。 D1: =IF(OR(A1="",OR(B1=C1,B1*C1)),"",IF(A1<=MAX(B1:C1),"*",""))
お礼
MAX がありましたね!うっかりしてました・・・ この場合、セルで抜けてる場合の対策もしてくださって いますね。とても参考になりました。 ありがとうございました!
- 中京区 桑原町(@l4330)
- ベストアンサー率22% (4373/19606)
複雑に考える事は無い =if(abs(A1-B1-C1)>A1,"*","") 100-90も100-0-90も答えは同じ なお等しい場合はどうするか考えてください。
お礼
=if(abs(A1-B1-C1)>=A1,"*","") 等しい場合も、* をつけます。 絶対値を使えばいいのですね。 すみません、勉強不足で abs関数を知りませんでした・・・ とても参考になりました ありがとうございました。
- merlionXX
- ベストアンサー率48% (1930/4007)
ご提示の例では、差額は1行目が100-95で5、2行目が100-110でマイナス10で、どちらもAより小さいようです。 それをどのように区別しているのかわかりません。 ひょっとしてAより小さいではなく0より小さいものに*をつけるのでしょうか? そうなら D1に、=IF(A1-SUM(B1:C1)<0,"*","") と入れて下へ式をコピーしてみてください。 なお、これはご提示のように、BかCのどちらかは常に空白であるという前提です。
お礼
画像付でわかりやすい説明ありがとうございました。 絶対値での計算をすれば、この目的の場合都合がよい というのがよくわかりました。 大変参考になりました。