お世話になります。
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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル・スプレッドシートで、一定数を超えたらゼロから再累計する方法 8 2022/05/28 03:52
- Excel(エクセル) エクセルのSUM関数について 4 2023/04/18 10:37
- Excel(エクセル) エクセルでの左のセルのコピー 3 2022/07/25 12:31
- Excel(エクセル) エクセル 自動計算 1 2023/01/30 13:28
- Excel(エクセル) Excel2016 行間を詰めたい&同じカテゴリなら上位2つだけを表示したい 5 2022/06/03 12:19
- Excel(エクセル) エクセルで値ではなく関数を参照する方法 6 2023/03/19 00:50
- Excel(エクセル) 関数について 4 2023/05/26 11:22
- Excel(エクセル) エクセルでIF関数中にIFERROR関数を使いたいのですが???? 5 2022/04/08 13:24
- Excel(エクセル) エクセルでSUMIFS関数で条件範囲の部分が#valueになる。 4 2023/04/28 12:42
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
eのマイナス無限大乗
-
「割る」と「割りかえす」の違い
-
30パーセントオフで371円だった...
-
楕円の円周の長さの計算の仕方...
-
10進法で時間の計算で30分が0.5...
-
公共工事の現場管理費率(%)...
-
分数の計算で分子が0になったら...
-
映画を1.3倍速で見た時の時間計...
-
冪乗の計算について教えてください
-
面積から辺の長さを出す計算式
-
プール計算って何ですか?
-
中学生の数学を習う順番に並べ...
-
半径の計算方法を教えてください。
-
積分のエクセル計算式を教えて...
-
ベランダプールの重量
-
一個当たり15秒の製品を1時間で...
-
2割負担の計算。
-
(x^2-x+1)^10の展開式におけるx...
-
パーセントの算出のしかたを教...
-
無理関数と二次関数の交点
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
eのマイナス無限大乗
-
公共工事の現場管理費率(%)...
-
30パーセントオフで371円だった...
-
分数の計算で分子が0になったら...
-
「割る」と「割りかえす」の違い
-
10進法で時間の計算で30分が0.5...
-
楕円の円周の長さの計算の仕方...
-
面積から辺の長さを出す計算式
-
プール計算って何ですか?
-
積分のエクセル計算式を教えて...
-
1/6n(n+1)(2n+1)+1/2n(n+1) の...
-
(2√2+1)(√2-2)の計算の仕方教...
-
中学生の数学を習う順番に並べ...
-
袋のサイズから容量を計算する方法
-
映画を1.3倍速で見た時の時間計...
-
一個当たり15秒の製品を1時間で...
-
2割負担の計算。
-
2の12乗、32乗・・・とい...
-
エクセルで日数を年数に置き換...
-
3・2+6・3+9・4+.....+3n(n...
おすすめ情報
ありがとうございます。おっしゃるとおりの書式にしましたが、#連鎖になります。
どうしたらいいでしょうか。
ちなみに、計算結果よりマイナス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分は切り捨てになるため、今回そこが問題なのではないのです。
こちらのほしい結果が出ないということ。
もう一度要点を理解した上でご回答頂ますよう宜しくお願いします。
ありがとうございます。
だめだったようです。
その後の文章も読んでいますが具体的な対策法などわかりかねるので具体的な操作など教えてください。
私のはそのようになりませんでした。何が原因なのでしょうか?