
お世話になります。
Excelでの時間計算について教えてください。
計算結果が負の値になるときの、正負の区別を他の計算結果に反映される形で表示する方法を教えてください。
時間差だけならABSで済むのですが、今回は正負の区別が必要です。
具体的には計算結果が59分未満(と負になる場合すべて)の場合において、0を反映させる関数。それ以外は現在設定の関数を反映させるようにしたい。
IF(セル指定<=time(0,59,0),0,【現在入力関数】)
みたいな関数でやってますがうまく反映されません。詳しい方よろしくお願いいたします。
A 回答 (8件)
- 最新から表示
- 回答順に表示
No.8
- 回答日時:
>1時間控除する場合どうしたらいいでしょう?
1時間控除以外はうまくいったのですか?
単純に1時間引けば良いだけです。
例えば、D1セルに「1:00:00」と入れておいて、
=IF((B1-A1)*24<1,0,(B1-A1-D1))とすれば良いです。
ただ、疑問なのが単純に1時間引いて良いのですか?
昼休みの1時間だと思うのですが、12:00に退社したり、
13:00に出社した場合でも1時間控除して良いのか?
勤務時間が1時間未満をゼロにする処理が必要なので、
上記のような出勤形態もあり得るのではないかと。
No.6
- 回答日時:
No4です。
>59分は切り捨てになるため、今回そこが問題なのではないのです。
No4で「問題」と言っているのは、1時間か59分かの話ではありません。
「それはさておき」と書いておいたつもりですが・・・
No.4
- 回答日時:
No3です。
>時間差が1時間満たない場合は0、1時間以上の場合
>1時間差し引きした計算結果を表示と入力したつもりです。
そもそもですが、TIME(0,59,0) は59分の意味なので、ご提示の式は「1時間」を区切りにはしていませんけれど?
それはさておき、エクセルの時間計算では時、分、秒は少数で表され割り切れる数値にもならないので、ご提示の式では最後の項が負になるケースがありそうです。
セルの表示形式を「標準」にしてみれば、####で表示されているセルの値が、微小負数になっているのではないでしょうか?
原因は、そこではないかと想像します。
「1時間」を区切りとしてよく、かつ、表示する結果が「B2-A2-1時間」であるのなら、
=MAX(B2-A2-TIME(1,0,0),0)
とすることで、文章でのご質問内容の結果が得られると思います。
No.3
- 回答日時:
こんにちは
実際の時間計算をどのように行っているのか不明ですけれど、マイナスを含めて「数値」を返す内容になっていると仮定してもよいのなら、(=文字列等は返さない)
>IF(セル指定<=time(0,59,0),0,【現在入力関数】)
ではなくて、
=IF(【現在入力関数】<=TIME(0,59,0),0,【現在入力関数】)
とすれば、ご希望の結果になるのではないでしょうか?
【現在入力関数】の内容が不明ですが、計算できずにエラーを返す可能性があるような式になっている場合は、上手くいかないケースも考えられます。
その場合でも、ISERRORやIFERROR等で処理すれば、計算できるようにすることは可能でしょう。
No.2
- 回答日時:
おっしゃる通り、Excelで時間の計算を行う場合、負の時間が発生する場合があります。
この場合、Excelは自動的に負の時間を表すために「-」を使用します。ただし、負の時間を別のセルに表示する場合は、カスタム書式を使用して表すことができます。以下は、負の時間を別のセルに表示する方法の例です。
列に時間を入力し、列の書式設定で「[h]:mm」を選択します。これにより、時間が24時間を超えた場合にも正しく表示されます。
負の時間を表示するために、新しい列を追加し、その列の書式設定で「[h]:mm;-[h]:mm」を選択します。これにより、負の時間が「-」で表されます。
負の時間が発生する場合、計算式でMINUS関数を使用して、時間を引き算し、結果を新しい列に表示します。例えば、A1とB1にそれぞれ開始時刻と終了時刻がある場合、以下の式を使用して差分を求めることができます。
=IF(B1>=A1,B1-A1,B1-A1+1)
この式では、終了時刻が開始時刻よりも大きい場合は、通常の差分を計算し、負の値が発生する場合は1日(24時間)を加えて負の値を正の値に変換しています。そして、新しい列の書式設定で、「[h]:mm;-[h]:mm;0」と設定することで、負の値が発生した場合は「-」で表されずに0として表示されます。
以上の手順で、負の時間が発生する場合に、正負の区別を他の計算結果に反映される形で表示することができます。
No.1
- 回答日時:
以下人工知能の回答
excelで時間計算を行う場合、通常は時刻の差を表す「時間」形式で計算します。ただし、負の時間を扱う場合には、時間の差を表す「時間」形式ではなく、分数を扱う「数値」形式で計算する必要があります。
具体的には、時刻1と時刻2の差を求める場合には、以下のような式を使います。
=時刻2-時刻1
この式の結果は、時刻2が時刻1よりも遅れている場合は正の数、逆に時刻1が時刻2よりも遅れている場合は負の数になります。
次に、負の時間を扱う場合には、まず上記の式を使って時間の差を求め、その結果に対してABS関数を使って絶対値を求めます。その後、IF関数を使って、結果が59分未満の場合には0を、それ以外の場合には元の結果を表示するようにします。具体的には、以下のような式を使います。
=IF(ABS(時刻2-時刻1)<TIME(0,59,0), 0, 時刻2-時刻1)
この式では、まず時刻2と時刻1の差を求め、その結果に対してABS関数を使って絶対値を求めています。その後、IF関数を使って、絶対値が59分未満の場合には0を、それ以外の場合には元の結果を表示するようにしています。最終的に、この式の結果は、分単位の数値形式で表示されます。
注意点としては、セルの書式設定で時間形式にしている場合には、上記の式を使っても負の時間が正しく表示されないことがあります。この場合には、セルの書式設定を「数値」形式に変更してから、上記の式を使うようにしてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
1967年5月26日 - 2023年2月27日は、何年何か月と何日でしょうか?
Excel(エクセル)
-
10円の誤差が分からない
Excel(エクセル)
-
フォルダ内のエクセルファイルを開かずにデータ採取する関数式
Excel(エクセル)
-
-
4
エクセルのソート方法について
Excel(エクセル)
-
5
エクセルで重複しない組み合わせの出し方
Excel(エクセル)
-
6
皆さん日々の仕事でExcelを使用してると思いますが
Excel(エクセル)
-
7
Excelの関数でこんな処理ができますか
Excel(エクセル)
-
8
エクセルで、 A1セルに「A」という値、 B1セルに「B」という値が入っています。 どちらも表示形式
Excel(エクセル)
-
9
Excelで、あるセルだけ入力させたい、オートフィルターも使わせたい際のシートの保護
Excel(エクセル)
-
10
エクセル
Excel(エクセル)
-
11
ExcelにてA1セルに1、B1セルに月と入力した際に、A列に日付、B列に曜日が入力される様になる為
Excel(エクセル)
-
12
Excel日付表示について
Excel(エクセル)
-
13
Excelについて
Excel(エクセル)
-
14
Excelの相談
Excel(エクセル)
-
15
アウトラインの小計のやり方
Excel(エクセル)
-
16
PCを買い換えました。 今使っているノートパソコンが10年以上使っており新しく買い換えました。Win
その他(Microsoft Office)
-
17
Excelで、昭和の西暦換算
Excel(エクセル)
-
18
エクセル シート内のボックスを縦並びから横並びに
Excel(エクセル)
-
19
エクセルの複数シートの保護を一括でする方法を教えてください(編集したいセルあり)
Excel(エクセル)
-
20
エクセルで、対象セルが10時までと、空白なら空白をそれ以外は、対象セルから10時を引いた時間を算出す
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
10進法で時間の計算で30分が0.5...
-
5
「割る」と「割りかえす」の違い
-
6
楕円の円周の長さの計算の仕方...
-
7
中学生の数学を習う順番に並べ...
-
8
ラプラス変換に関して
-
9
30パーセントオフで371円だった...
-
10
袋のサイズから容量を計算する方法
-
11
面積から辺の長さを出す計算式
-
12
プール計算って何ですか?
-
13
普及率の計算方法について
-
14
2割負担の計算。
-
15
分数を時間に直す計算が解りま...
-
16
量子力学の運動量pの微分演算子...
-
17
3次方程式のカルダノ(Cardano)...
-
18
合同式を使って
-
19
(-π,π)上で次の関数のフーリ...
-
20
2の12乗、32乗・・・とい...
おすすめ情報
公式facebook
公式twitter
ありがとうございます。おっしゃるとおりの書式にしましたが、#連鎖になります。
どうしたらいいでしょうか。
ちなみに、計算結果よりマイナスTIME一時間しています。
ご回答ありがとうございます。
現在A2に開始時間B2に終了時間C2にB2-A2の式を入力していて、C2セルに計算結果が一時間に満たない場合は0と表示する数式を入力する予定です。
その上で、現在C2に下記の入力をしています。
IF((B2-A2)<TIME(0,59,0),0,(B2-A2)-TIME(0,59,0))
と入力しています。
時間差が1時間満たない場合は0、1時間以上の場合1時間差し引きした計算結果を表示と入力したつもりです。
ご教授お願いします!
ありがとうございます。
そもそも、そこが問題なのではないのです。
1時間は切り上げになるため、59分は切り捨てになるため、今回そこが問題なのではないのです。
こちらのほしい結果が出ないということ。
もう一度要点を理解した上でご回答頂ますよう宜しくお願いします。
ありがとうございます。
だめだったようです。
その後の文章も読んでいますが具体的な対策法などわかりかねるので具体的な操作など教えてください。
私のはそのようになりませんでした。何が原因なのでしょうか?