• ベストアンサー

現在の時間を5分単位で切り捨てで表示したい

tsubuyukiの回答

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.3

> A2にIF(A1<17:30、17:30,FLOOR(A1,"0:05"))ではエラーがでます。 > 表示形式の問題でしょうか。 いえ、表示形式の問題ではなく、書き方の問題です。 一般的にエクセルで式中に「17:30」と入れてしまうと、 これは「17行目から30行目」の意味にとられがちです。 確認のため、適当なセルに「=17:30」と入力するときっと「#VALUE」が返ります。 同様に適当なセルに「="17:30"*1」として、表示形式を「時刻」にすると エラーは発生せず、正しく「17:30:00」が返ってきます。 このように、式中で「時刻」を扱うときには、引用符""で括って「時刻文字列」とし、 何らかの手段でシリアル値にしてやる必要があります。 ※上記では「1をかけて」シリアル値に直してやっています。 今回の式の例でも同様に、エラーを回避するには   =IF(A1<"17:30"*1,"17:30"*1,FLOOR(A1,"0:05")) として、「時刻を表す文字列に1をかけて」シリアル値にしてやる必要があります。 とは言え、上記だと返り値が文字列になってしまいます。 更に加えて言うのであれば、 > A1にNOW()を入れて、 ですから、A2は常に「当日の17:30」との比較にしてやらないと正しい結果は返りません。 なのでもう一工夫して   =IF(A1<TODAY()+"17:30",TODAY()+"17:30",FLOOR(A1,"0:05")) としてやると、当日の17:30と比較して、当日の時刻を返してくれます。 「日付を表す整数をTODAY関数で取り出し、時刻を表す文字列「"17:30"」を強引に足して」 「日付+時刻を表すシリアル値」に直して比較してやっています。 A1セルがNOW関数じゃなく、時刻のみを入力する方式なのであれば、 上の単純な式(「*1」を使った式)でも対応可能です。 参考までにどうぞ。 追記) 「時刻」と「時間」は厳密には違う意味を持つ言葉です。 まぁ、字をよく読めばきっとわかるとは思いますが、念のため。

関連するQ&A

  • <Excel>時間の差異を30分単位で丸めたいのですが…

    シフトの勤務開始および終了時間と、実際の出退勤時間の差異を30分単位で 丸めたいのですが、どうしてもうまくいきません。 シフト時間をA1・出勤(退勤)時間をA2とし、A3に差異を丸めるとする… =FLOOR(A1-A2,"0:30") とすると、差異が0:30ちょうどの時に0:00となってしまいます。 これを、0:30と表示させたいのですが、どうしてもできません。 色々と試しましたが、:30と:59のどちらかが必ずおかしくなります。 <補足> 出勤を8時とすると、7:31~8:00は8:00、8:01~8:30は8:30と 30分単位での切り上げになります。 退勤を17時とすると、17:00~17:29は17:00、17:30~17:59は17:30と 30分単位での切り捨てになります。 以上、よろしくお願いします。

  • 30分単位、30分未満切捨て

    こんにちは。 契約でお聞きしたいのですが、契約書に「30分単位で30分未満切捨て」と書いてありました。 実際勤務時間が148.45時間でした。 この勤務時間を契約書の「30分単位で30分未満切捨て」で計算するにはどうすれば良いでしょうか。 よろしくお願いします。

  • エクセルで時間の単位ごとの切捨てと切上げ

    すごく困ってます! エクセルで船の到着についての表を作成しています。内容は、A1に「速力」(←例:10)、B1に「距離」(←例:12.8)、C1に「出発時間」(←例:20:00)と表示した場合、D1に出発時間から何分で到着するか、という結果(時間)を表示したいのです。 そこまでの内容であれば、計算式や関数で求めることができたのですが、そのD1の答えが仮に「20:53」「20:54」とすれば、切り上げして「20:55」に、その答えが「20:51」「20:52」とすれば、切捨てして「20:50」に出したいのです。 同様に、「20:56」「20:57」とすれば、切り捨てして「20:55」に、「20:58」「20:59」とすれば、切り上げして「21:00」としたいのです。 あまりの難しさに困ってます。 皆さんからの知恵を貸してください!お願いします!!

  • エクセルで時間の切り上げと切り捨て

    A1のセルに時間の数値を入れた時15分より前だったら切り捨て15分より後だったら切り上げとする方法があるでしょうか?ceilingと floorを使ってみたのですが上手くいきません。 よろしくお願いいたします。

  • 時間の切り上げ切捨て

    教えていただきたいのですが。40分単位で切り捨て切り上げをしたいときはどうすればいいのでしょうか? たとえば5:39だったら5:00と表示して5:40だったら6:00と表示する場合 もっと深く説明すると 勤務が20:30で始まり24:11で終わった場合 3:41の勤務時間になります。そういった場合は4:00とエクセルで表示させたいのです・・・ ちなみに勤務時間が3:39だったら3:00と表示させたいです。 教えてください!

  • エクセルで時間を計算する場合、20分を基準に30分単位で切上げ・切捨てを行う場合どのようにすればいいでしょうか?

    前回質問の仕方が悪く正確な回答が得られなかったため再度ご質問します。 エクセルでタイムカード等の時間を計算したいのですが、 20分を基準に30分単位で切上げ・切捨てを行う場合どのようにすればいいでしょうか? ご教授願います。 例えば20分毎を基準に 17:19分の場合17:00に切下げ 17:20分の場合17:30に切上げ 17:49分の場合17:30に切下げ 17:50の場合18:00に切上げ という具合に20分を基準に30分単位で切上げ切捨てをする場合です。

  • Excelで、15分単位での時給計算が正しく表示できない

    お世話になります。 15分単位での時給計算を行いたいのですが、15分きっかりの時だけ 下記計算式で出てくる数値が0.25にならず、0.00になってしまいます。 例) 時給千円で、17:00から18:15まで業務したとして、 A1に開始時間、B1に終了時間、C1に勤務時間、 D1に15分単位の値を表示させます。 C1はB1-A1(セルの書式は時刻に設定)、 D1の計算式は =FLOOR(C1,"00:15:00")/"1:00" にしています。 上記勤務時間の場合、D1に1.25と出てほしいのですが 1.00になってしまいます。 15分きっかりの場合でも、0.25と表示させる計算式あるいは 設定をお教えいただけたらと思います。

  • エクセルで分表示を時間表示に変更後30分単位切上

    エクセルで分表示を時間表示に変更後30分単位切上げたいのですが、エラーになってしまいます。 分表示を時間+分表示にするには 例)380分⇒6時間20分  ・・・更に30分単位で切り上げて ・・・ 6時間30分 =TEXT(L2/(60*24),"[h]時間mm分") または =INT(L2/60)&"時間 "&MOD(L2,60)&"分" と入力しています。 30分単位の切り上げには =CEILING(M2,"0:30") と入力しています。 ※L2に分単位データ、M2に時間+分データが入っています 上述の通りに関数を設定すると切り上げのところがエラー #VALUE! と表示されてしまいます。 ちなみに単に切り上げのみの場合は問題なく表示されます。 つまり間に分⇒時間変換をかませるとどうも切り上げの際にエラーになってしまう ようなのですが、何か方法はございますでしょうか? 何卒よろしくお願い申し上げます。

  • Excelで時間合計した後の10進法へ変換(15分単位切捨て)

    Excelで時間計算を行った結果を[h]:mmという表示形式にしてます。 例えば各セルに次のような計算結果が出ているとします。 セル[A1] 340:50 セル[A2] 330:40 セル[A3] 320:20 セル[A4] 310:10 これを10進法に変換し、更に15分(0.25)毎に切捨てを行いたいんです。 その結果、上記各セルは次のような表示になります。 セル[A1] 340.75 セル[A2] 330.50 セル[A3] 320.25 セル[A4] 310.00 この方法を知っている方がいましたらぜひ教えてください。 よろしくお願いします。

  • エクセルでの時間計算について教えてください。

    エクセルでの時間計算について教えてください。 バイト代をエクセルで計算しようと思っています。 A1 出勤時間 B1 退社時間 C1 労働時間 30分単位でバイト代を支払うため、30分を超えた端数は切り捨てで、労働した時間を出すのに =FLOOR(C6-B6,"0:30:0") と入れると、端数のない時間の場合、30分短くなってしまいます。 例)10:00出勤、14:00退社→3:30(4:00にしたいです) 端数がある場合にはちゃんと計算できるのですが、どのようにしたら良いか教えてください。 よろしくお願いします。