• ベストアンサー

関数の式が思ったとおりに働かない

IF(MOD(A1,1)=0.5,EVEN(INT(A1)),ROUND(A1,0)) 上記の式に1<=A1<100この範囲の条件を追加したいのですが下記のようにするとうまく働きません どこが悪いのでしょうか? IF(AND(1<=A1<100,MOD(A1,1)=0.5),EVEN(INT(A1)),ROUND(A1,0)) 例えば16.5や2.5をA1にすると矛盾が生じます

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

  • ベストアンサー
  • deadline
  • ベストアンサー率63% (1239/1943)
回答No.4

ANo.#2です。 "OR"じゃなくて"AND"でした。 "AND(1<=A1,A1<100)"です。 =IF(AND(1<=A1,A1<100,MOD(A1,1)=0.5),EVEN(INT(A1)),ROUND(A1,0)) または =IF(AND(AND(1<=A1,A1<100),MOD(A1,1)=0.5),EVEN(INT(A1)),ROUND(A1,0)) です。

その他の回答 (3)

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.3

IF(AND(1<=A1<100,MOD(A1,1)=0.5),EVEN(INT(A1)),ROUND(A1,0)) ですが、 IF(AND(1<=A1,A1<100,MOD(A1,1)=0.5),EVEN(INT(A1)),ROUND(A1,0)) の様に1<=A1<100を1<=A1,A1<100と分けてみてはいかがでしょうか。

  • deadline
  • ベストアンサー率63% (1239/1943)
回答No.2

"1<=A1<100"はExcelの関数としての正しい記述ではありません。 "OR(1<=A1,A1<100)"と記述します。 =IF(AND(OR(1<=A1,A1<100),MOD(A1,1)=0.5),EVEN(INT(A1)),ROUND(A1,0)) です。

  • mrumesuke
  • ベストアンサー率45% (254/557)
回答No.1

1<=A1<100 を、1<=A1 と A1<100 に分けて考えてみてはいかが?

関連するQ&A