電子書籍の厳選無料作品が豊富!

エクセルの関数で
セル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のセル値が、表示形式の分類が時刻だと
うまく行きません・・・どうしたら良いのか
どなたか御教授お願い致します。

A 回答 (3件)

>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について解説しているサイトを参照して理解するようにしてください
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/03/13 00:36

あるセルに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"))
に変えてみたらいかがですか。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/03/13 00:38

別解



 =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 と解釈されますので見た目はこっちのほうが分かりやすいかもしれません
しかし日付や時間はシリアル値として扱っていることを理解している必要があります
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!