• ベストアンサー

エクセルの時間表示

15分単位の時間残業なのですが、どうしても上手くいきません。 教えてください!! 例えば、17:45から15分単位の残業でつくのですが、      18:00終わりなら0.15     18:45終わりなら1.00     19:20終わりなら19:15で1.30だけの残業に設定したい。  設定してみた式の一部FLOOR(A1,TIME(0,15,0))だと、0.30時間がが0.15時間に変わるんです。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

OFFICE2003で試してみました。いずれの式でも15分刻みの残業時間が計算できました。  =FLOOR(A1,TIME(0,15,0))-TIME(17,45,0)  =FLOOR(A1,"0:15"*1)-TIMEVALUE("17:45") >FLOOR(A1,TIME(0,15,0))だと、0.30時間がが0.15時間に変わるんです。 の具体例がないので確実なことは言えませんが、シート上で表示されていない「秒」に値が入力されていて、結果が期待するものにならない可能性はありませんか? そうではないなら「正しくならない」ケースを具体的に補足されるとよいと思います

kuronana
質問者

お礼

回答大変ありがとうございます。 関数は何をどうしていいのかよく分からない程の素人で、さっぱりわからないのですが、もう一つ式を増やしたらできた気がします(^^)

その他の回答 (1)

回答No.2

たとえばA1が「18:00」の場合、 =floor(A1,"0:15")-"17:45" は0:15:00ですが =floor(A1-"17:45", "0:15") は0:00:00になります。 15分は0.01041666666666670で18:00-17:45は0.01041666666666660に なり、0.01秒未満ですがちょっと足りないんですね。この、ほんの ちょっと足りない部分が、floor関数などの切り捨て処理では響いて きます。演算の順序に注意をしたり、思い切ってfloorの前に1秒足 してみたりします。

kuronana
質問者

お礼

回答大変ありがとうございます。 全部お見せするのが一番早いのでしょうが、そうもいかず。説明って難しいですね(**) 関数は試行錯誤で使っているような、まったく素人なのでどこにどう付けたらいいのかわからないのですが、セルを増やして何段階も小分けに式を作っていったら、なんかできた気がします。 とはいえまだいろんな時間を試してはいなにのでなんとも言えませんが・・・。