• ベストアンサー

エクセルの関数で (時間の場合?)

エクセルの関数で セルG8が、  6時間までならば「0.25」  6~8時間までならば「0.75」  8時間以上は「1.25」 となるよう、下記の式をIFで作ったのですが =IF(G8>=8,"1.25",IF(G8>=6,"0.75","0.25")) G8のセル値が、表示形式の分類が時刻だと うまく行きません・・・どうしたら良いのか どなたか御教授お願い致します。

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

  • ベストアンサー
  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

>G8のセル値が、表示形式の分類が時刻だと >うまく行きません Excelを始めた頃は良くあることです Excelは時間をシリアル値という数値で扱っています 1900年1月1日から数えて 24時間(一日)を1とした数値です 8時間であれば 8÷24=0.3333333333333333 といった数値になります ですので  =IF(G8>=8,"1.25",IF(G8>=6,"0.75","0.25"))   ↓  =IF(G8>=8/24,"1.25",IF(G8>=6/24,"0.75","0.25")) などとしてみてください ポイントは、「時間や日付はシリアル値で扱っている」ということを理解することです シリアル値に付いては Excelのヘルプやその他 Excelについて解説しているサイトを参照して理解するようにしてください

noname#53281
質問者

お礼

なるほど!出来ました(^^)/ ありがとう御座います!!

その他の回答 (2)

  • kamejiro
  • ベストアンサー率28% (136/479)
回答No.3

あるセルに0.5と入力し、「書式設定→日付→13:00」に変えると、「12:00」と表示が変わります。つまり、 0→「0:00」 0.25→「6:00」 0.5→「12:00」 0.75→「18:00」 時刻セルとは、0以上1未満の値を0時間以上24時間未満の表示に変化させているものです。 ゆえに =IF(G8>=1/3,"1.25",IF(G8>=1/4,"0.75","0.25")) または =IF(G8>=0.33333333,"1.25",IF(G8>=0.25,"0.75","0.25")) に変えてみたらいかがですか。

noname#53281
質問者

お礼

すばやい回答ありがとう御座いました おかげで出来ました(^^)/ ありがとう御座いました。

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.2

別解  =IF(G8>=8,"1.25",IF(G8>=6,"0.75","0.25"))   ↓  =IF(G8>="8:00","1.25",IF(G8>="6:00","0.75","0.25")) または  G9=8:00  G10=6:00  として  =IF(G8>=G9,"1.25",IF(G8>=G10,"0.75","0.25")) などと比較する数値も時間形式にして行うことでも可能です この場合、"8:00" はそのまま 8:00 と解釈されますので見た目はこっちのほうが分かりやすいかもしれません しかし日付や時間はシリアル値として扱っていることを理解している必要があります

関連するQ&A