• ベストアンサー

エクセル関数の四捨五入の方法教えてください。

いつもお世話になります。 エクセルで A列にある数値 45:30→45:30 45:45→46:00 5:15→5:00 36:15→36:00 要するに 29分以下は切捨て31分以上は切り上げにしたいのです。 過去の質問も捜したのですが、見つからなかったので、 ご存知の方教えてください。 よろしくお願いします。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんにちは。 ふたつの式を考えてみました。 時々、ここで出る質問だと思います。 =CEILING(A1-"0:29"*1,"0:30"*1) または、 =FLOOR(A1+"0:01"*1,"0:30"*1) 解が出たら、書式は直してくださいね。

jidai
質問者

お礼

早々のご回答ありがとうございます。 教えていただいた方法で入力しましたが、 45.45は 45.4375 になり 36.15は 36.14583 と出てしまいました。 どこが間違っているのでしょうか? 当方 超初心者なので、わかりません。 もしよろしければまた教えていただければ嬉しいですが、、 お願いしたします。

その他の回答 (7)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.8

こんばんは。 #1の回答者です。 >45.45は 45.4375 になり >36.15は 36.14583 と出てしまいました。 >どこが間違っているのでしょうか? 確認できました。 >当方 超初心者なので、わかりません。 私は、それはしょうがないと思います。その「お礼」につけられた、このレベルの内容を読みきれなかった私も、未だ勉強が足りませんからね。 ただ、ご質問者さんの掲示板デビューは、少し早いようです。身近に聞けないから聞いているのでしょうけれども、書籍(例:アスキー社のZ式や学研)などの、図入りで勉強されると良いと思います。このレベルでしたら、1週間もあれば十分です。 まず、 時間を入れるときは、 45.45は、45:45 (コロン「:」を使用してください) コンマ「.」を使うとややこしくなります。理由は、時間は10進法ではありませんから、そのままではできません。これが基本です。わざわざ、数字だけを拾って、時間値に変えるという質問を否定するわけではありませんが、質問の趣旨が変わってしまいます。 そして、書式のところは、回答の#3か#4 にしてください。そうしないと、45:45:00 などとなってしまいます。社員の労働時間の計算などは、#4さんの [h]:mm か、[hh]:mm のほうがよいです。それで、もう一度、#1 から、試してみてください。

jidai
質問者

お礼

何回も見放さずにご回答ありがとうございます。 このたび給与ソフト入れ替えにつき、勤怠データを給与ソフトに読み込ませたいと、あれこれとない知恵を絞っておりました。 質問の聞き方も間違っていたと思います。 ご迷惑おかけいたしました。 おかげさまで、答えがでました。(^0^) どうもありがとうございました。

回答No.7

ANo.5です。 すいません。 質問を読み落としていました。 ○○:30 の場合はそのまま表示って事ですよね。 =VALUE(IF(MINUTE(A1)=30,A1,IF(MINUTE(A1)<30,TEXT(A1,"[h]"),TEXT(A1,"[h]")+1))&":00") と、こんな感じで;

noname#204879
noname#204879
回答No.6

=MROUND(A1-"0:1","0:30") 「超初心者」の宣言は不要です。書かれた内容から判断できますから。

jidai
質問者

お礼

ご回答ありがとうございます。 >「超初心者」の宣言は不要です。書かれた内容から判断できますから。 そうですか~。やはりわかりますか。(笑い) 自分の勉強不足に、皆様に教えていただいたことができません。 もう一度最初からやり直してみます。 ありがとうございました。

回答No.5

私自身で他の方の回答を試してみたのですが 設定が悪いのか、勉強不足の為、うまく行かず、 自分なりに別例を考えてみました。 =VALUE(IF(MINUTE(N78)<30,TEXT(N78,"[h]"),TEXT(N78,"[h]")+1)&":00") 回答を出すだけなら頭の”=VALUE()”は必要ないのですが、 回答を使って時間計算を行う場合は頭に”=VALUE()”を付けて、 他の方と同様に、 セルの書式設定を、セルの書式設定→表示形式より ユーザ定義で[h]:mmを設定して下さい。

jidai
質問者

お礼

ご回答ありがとうございます。 朝からず~としているのですが、どうもうまくいきません。 もともとの数値も分から時間にしたりしているので、 そのせいかもしれません。 頭が痛くなってきました。(;-;) 自分の勉強不足に、皆様に教えていただいたことができません。 もう一度最初からやり直してみます。 ありがとうございました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

NO2です。 時刻入力は、hh:mmとして下さい。 又、セルの書式設定は、セルの書式設定→表示形式タブのユーザ定義で[h]:mmを設定して下さい。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

#1の回答者です。 #解が出たら、書式は直してくださいね。 と書いたとおりですが、書式-セル-表示形式-ユーザー定義 「h:mm」 としてください。または、該当する場所に、書式コピーします。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

次の数式をお試し下さい。 =IF(MINUTE(A1)>30,CEILING(A1,"01:00"),FLOOR(A1,"00:30"))

jidai
質問者

お礼

早々のご回答ありがとうございます。 なぜか、58.45 が 58.45833 となってしまいます。 質問の仕方が悪いのでしょうか? 入力方法が間違っているのでしょうか? こちら、超初心者なので、、、 もしよろしければまた教えてください。 よろしく御願いいたします。