- 締切済み
エクセルで勤務表の8:00の人をYES、それ以外の人をNOと表示をするためのIF文を教えてください
タイトルのとおりです 8時間働いた人を計算して、8:00と表示させています。8:00の人をYES、それ以外の人をNOと表示を変えたいのです。 よろしくお願いいたします
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- mshr1962
- ベストアンサー率39% (7417/18945)
#4,5のmshr1962です。 >0:00のときにNO、それ以外のときはYESに これならもっと楽ですね。 =IF(結果のセル=0,"NO","YES")
- mshr1962
- ベストアンサー率39% (7417/18945)
#4のmshr1962です。 >8:00でも8:00ではなく、0:00でもYESとなってしまうのです。訂正します。 >C1とIF文の入力セルの書式は文字としています。 C1の書式を時刻形式にしてください。 それなら#2の方の参照でOKのはずです。 それ以外だと =IF(結果のセル=TIMEVALUE("8:00"),"YES","NO") 又は =IF(結果のセル=8/24,"YES","NO") 又は =IF(結果のセル=TIME(8,0,0),"YES","NO") ではどうですか? 8:00=8/24=TIME(8,0,0)=TIMEVALUE("8:00")になります。
- mshr1962
- ベストアンサー率39% (7417/18945)
8:00は数式の結果ですよね。シリアル値が小数なのでうまくいかないのかもしれません。 整数化して比較なら =IF(ROUND(結果のセル*24,0)=8,"YES","NO") で出来ませんか?
- fafa321
- ベストアンサー率33% (5/15)
=IF(A1="","",if(A1=$C$1,"YES","NO")) いう風にしたほうがよりスマートかもしれません。 (A1が空欄のときエラー表示がでません)
お礼
ご回答ありがとうございます。 そうですね。 実際には、そのようにしています。 問題は、YESになるはずのものを含めて、 すべてNOになってしまうことなのです。 ただし、A1にはVLOOKUPなどを使って 計算されてできた時間です。
補足
みなさま、申し訳ありません。 間違えました。 8:00でも8:00ではなく、0:00でもYESとなってしまうのです。訂正します。
- ooc
- ベストアンサー率16% (10/61)
空いているセルに8:00と入力。ここではC1とします。 =IF(A1=$C$1,"YES","NO")
お礼
ご回答ありがとうございます。 試しましたが、A1が8:00の場合でも、 そうでない場合(当然ですが) すべてNOになってしまうのです。 C1とIF文の入力セルの書式は文字としています。
- hiropon36suke
- ベストアンサー率24% (85/351)
=IF(a1="8:00","YES","NO")ですか
お礼
ご回答ありがとうございます。 試しましたが、A1が8:00の場合でも、 そうでない場合(当然ですが) すべてNOになってしまうのです。
お礼
ご回答ありがとうございました そうかもしませんね。 では、0:00に条件を変更したらどうでしょうか? 0:00のときにNO、それ以外のときはYESに 条件を変更します。 よろしくお願いいたします