• ベストアンサー

IF関数について

IF関数で時間を「切り上げ」とか「切り捨て」したいのですが、 できるのでしょか? 例えば 12:10と入力した場合、12:15と表示したり(切り上げ) 10:37と入力した場合、10:30と表示したり(切り捨て) と言う感じにしたいです。(15分単位で)

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

  • ベストアンサー
  • comv
  • ベストアンサー率52% (322/612)
回答No.5

# INの時は15分単位で切り上げ #(1~15=15分、16~30=30分、31~45=45分、46~00=00分) # OUTの時は15分単位で切り捨て #(00~14=00分、15~29=15分、30~44=30分、45~59=45分) # 休憩時間は15分単位で取った時間を切り上げです。 たぶん処理後に勤務時間の計算をするのだと思いますが 前回と同様の式ですが、ご質問の整形部分の配置例だけを記載します。   A   B   C     D  E  F 1 IN  休憩  OUT   IN 休  OUT 2 **:** **:**  **:**   式1 →   式2 セルD2 式1 =CEILING(A2,"0:15")  書式設定 表示形式 ユーザー定義 h:mm;; E2に複写 セルF2 式2 =FLOOR(C2,"0:15")  表示形式 時刻  書式設定 表示形式 ユーザー定義 h:mm;;

その他の回答 (5)

  • gould09
  • ベストアンサー率33% (196/589)
回答No.6

補足を読みました。 実は、自分の仕事が忙しくて余り時間をかける事が出来ません。 日にちがかかってしまっていいのでしたら、最後までサポート出来ます。 >出勤時間の管理用と言う事なので、もう少し質問を追加させて下さい。 1.休憩時間は何回も入りますか?(回数が不特定だと書式が面倒ですね) 2.24:00を超える勤務はありますか? 3.例えば、お昼休みが12:00~12:59までとした場合、12:00に出勤した場合には、12:15から働いた事にしていいのでしょうか? 4.残業時間を通常の時間と区別しますか? 5.休憩間も開始時刻(OUT?)と終了時刻の入力(IN?)を行いますか? 出勤時間の管理用と言う事ですので、整理のついでに補足をお願いします。

  • blackleon
  • ベストアンサー率57% (269/468)
回答No.4

どうしてもIF関数を使用したい場合、下のようにしたらどうでしょうか。 例えば、午後12時10分から12時15分の間の入力を全て12:15と表示したければ、A1に下記の(1)の式を入力し、B1にTIME関数を使って(2)などと入力(この場合は12時12分)すれば、A1には条件を満たされた場合だけ 12:15と表示されます。 (1)=IF(AND(B1>=TIME(12,10,0),B1<=TIME(12,15,0)),"12:15","") (2)=TIME(12,12,00)

  • Qtaro35
  • ベストアンサー率40% (53/131)
回答No.3

IF関数ではありませんが、時間・・時刻、どちらであっても 与えられた時間を60進数から10進数に変換して4倍する。 4倍した10進数を四捨五入ROUND処理する。 ROUND処理した10進数を60進数に戻す。 で15分単位の結果が得られると思います。お試し下さい。

  • comv
  • ベストアンサー率52% (322/612)
回答No.2

こんにちは EXCELでのご質問として --------------------------------------------- 15分単位での「切上げ」と「切捨て」それぞれの方法 をご質問しているのであれば A1に時間入力として 切上げ =CEILING(A1,"0:15") 表示形式 時刻 切捨て =FLOOR(A1,"0:15")  表示形式 時刻 ---------------------------------------------- ですが # 12:10と入力した場合、12:15(切り上げ) # 10:37と入力した場合、10:30(切り捨て) の両方を同時に満足する式となると gould09さんも 書かれている通り、情報不足です。 もう少し詳しい規則性を記載して頂くことになります。 ・時間帯によって処理が違うのか  (例えば12時台なら切上げ 10時台なら切捨て) ・分に処理の境界あるのか  (例えば **:07なら切捨て **:08なら切上げ)

tatsu_max
質問者

補足

下の段の内容の補足間違えました!! 出勤時間の管理用に使いたいです。 例えば、 INの時は15分単位で切り上げ (1~15=15分、16~30=30分、31~45=45分、46~00=00分) OUTの時は15分単位で切り捨て (00~14=00分、15~29=15分、30~44=30分、45~59=45分) 休憩時間は15分単位で取った時間を切り上げです。 関数は何でも良いのです。どのようにしたら良いですか?

  • gould09
  • ベストアンサー率33% (196/589)
回答No.1

こんにちは もう少し詳しい情報が必要だと思います。 対象のアプリケーションはEXCELと考えてよろしいですか? 質問では12:10だったら12:15と有りますが、12:09が入力された場合はどうしたいですか? 13:10の時はどうなりますか? 同じように13:15になりますか? ここの考え方が、決まらないと正しい関数が書けません。 出来るか、出来ないかと言う事で有れば出来ると言う回答になります。 質問から想像すると、出勤時間の管理用に使うような気がするのですがどうでしょうか? もし、そうだとすると休み時間は特別な扱いにする必要が有ると思います。 休み時間まで考えるのなら、関数ではなくVBAを使った方が楽かもしれません。 ただ、現状の情報ではどうゆうものを望んでいるかわからないので具体的な話は出来ません。

tatsu_max
質問者

補足

出勤時間の管理用に使いたいです。 例えば、 INの時は15分単位で切り上げ (1~15=15分、16~30=30分、31~45=45分、46~00=00分) OUTの時は15分単位で切り捨て (00~15=15分、16~30=30分、31~45=45分、46~59=00分) 休憩時間は15分単位で取った時間を切り上げです。 関数は何でも良いのです。どのようにしたら良いですか?

関連するQ&A

専門家に質問してみよう