• 締切済み

EXCEL2003 どちらかのセルに数値がある方との計算

お世話になります。 おそらくCOUNTA を使うのかと思うのですが、他の条件も組み合わせるので混乱しています。 A    B    C    D 100       95      100   110       * 上記のDに、BかCのどちらかに数値の入っているものとAの差額が、 Aより小さいなら空白、大きいなら * をつける という式を作りたいのです。 やってみましたがどうしてもエラーになります。 よろしくお願いします。       

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.5

#1でおっしゃっているように、私も質問文から、質問の意味が=IF(ABS(B1-C1)>=A1,"*","")と取れないのですが。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんにちは! 色々方法はあるかと思いますが・・・ 一例です。 ↓の画像で D1セルに =IF(ABS(B1-C1)>=A1,"*","") という数式をいれてオートフィルで下へコピーしています。 B1とC1の差がA1と同じ場合も「*」が表示されるような数式にしています。 尚、エラー処理はしていません。 以上、参考になれば幸いです。m(__)m

rocuchan
質問者

お礼

画像付でわかりやすい説明ありがとうございました。 絶対値での計算をすれば、この目的の場合都合がよい というのがよくわかりました。 大変参考になりました。

noname#204879
noname#204879
回答No.3

》 Aより小さいなら空白、大きいなら * をつける 例えば「A以下なら空白、Aより大きいなら」にしておかないと、Aに等しかった場合が抜け落ちます。 それから、Aが空白の場合、BおよびCが空白の場合、BおよびCに数値が入っている場合、も空白にしています。 D1: =IF(OR(A1="",OR(B1=C1,B1*C1)),"",IF(A1<=MAX(B1:C1),"*",""))

rocuchan
質問者

お礼

MAX がありましたね!うっかりしてました・・・ この場合、セルで抜けてる場合の対策もしてくださって いますね。とても参考になりました。 ありがとうございました!

回答No.2

  複雑に考える事は無い =if(abs(A1-B1-C1)>A1,"*","") 100-90も100-0-90も答えは同じ なお等しい場合はどうするか考えてください。  

rocuchan
質問者

お礼

=if(abs(A1-B1-C1)>=A1,"*","") 等しい場合も、* をつけます。 絶対値を使えばいいのですね。 すみません、勉強不足で abs関数を知りませんでした・・・ とても参考になりました ありがとうございました。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

ご提示の例では、差額は1行目が100-95で5、2行目が100-110でマイナス10で、どちらもAより小さいようです。 それをどのように区別しているのかわかりません。 ひょっとしてAより小さいではなく0より小さいものに*をつけるのでしょうか? そうなら D1に、=IF(A1-SUM(B1:C1)<0,"*","") と入れて下へ式をコピーしてみてください。 なお、これはご提示のように、BかCのどちらかは常に空白であるという前提です。