• ベストアンサー

EXCEL2007 IF関数についてです。

別シート(sheet1)のセルA1には - もしくは数値が入ります。 sheet2のセルB1にIF文で - の時は空白、数値で60以上ならば"有"、それ以下なら 空白としたいのすが、 =IF(ISNUMBER(sheet1!A1)+AND(sheet1!A1>=60),"有","") とB1に記述しても - の時も"有"が出てしまいます。 どう記述したらよろしいでしょうか??

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

  • ベストアンサー
  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.2

#1です。 因みに、「+」じゃなくて「*」なら、正解でしたね。 =IF(ISNUMBER(Sheet1!A1)*(Sheet1!A1>=60),"有","") これなら、両方の条件が「True」の時だけ「True」になり、「AND」と同じ働きになります。

chiwa123456
質問者

お礼

望んでいた通りの判定になりました。 お早い回答ありがとうございました。

その他の回答 (2)

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.3

またまた、#1です。 ちょっと、きになったものですから…。 > 数値で60以上ならば"有"、それ以下なら空白としたい こういう関数や数式を作るときは言葉をしっかり使いましょう。 60以上の時「有」 それ以下の時「""」 これは、どちらにも「60」が含まれます。 正確に問題を読んだら、60の時の処理に困ります。 60以上の時と60「未満」の時 60より大きいときと60「以下」の時 では、60の時の判定が変わってしまいますから。 細かいようですが、一応…。

chiwa123456
質問者

お礼

確かに、あの書き方では60がどっちの条件にも含まれてしまいますね・・・ 基本的なことを見落としていました、ご指摘ありがとうございます。

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.1

=IF(Sheet1!A1="-","",IF(Sheet1!A1>=60,"有","")) 因みに、質問者さんの書き方をするなら =IF(AND(ISNUMBER(Sheet1!A1),Sheet1!A1>=60),"有","") になります。

関連するQ&A

専門家に質問してみよう