- ベストアンサー
エクセル2000で時間の計算(マイナスも含む)
こんにちは、いつもお世話になっています。 あと一歩のところだと思うのですが、 マイナス時間の表示を教えてください。 エクセル2000を使っています。 入力しているデータは、3.45 0.3 -1.2 といったデータです。 これを、3時45分、0時30分、-1時間20分、2時55分 と表示させ、 最終行に合計値を求める方法を探しています。 現在の状態は、 (1)セルA1(3.45)をセルB1(3時45分)に表示 B1 =TIME(INT(A1),100*(B1-INT(A1)),0) と入力。 (2)表示形式を時刻表示に設定しする。 (3)負の時刻や日付を表示させる方法として、 「ツール」-「オプション」-「計算方法」タブで「1904年から計算する」にチェックをする。 ↑のところまで実施したのですが、 マイナス値(-1.2)の結果がエラー表示(#NUM!)になってしまいます。 他の方のエラーは####表示のようですが、 私の場合、元データと関数の組み合わせが間違っているのでしょうか? よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
B1 =TIME(INT(A1),100*(A1-INT(A1)),0) =TIME(-2,80,0) となりTIME関数ではこの-2を処理できません。 ABS関数で絶対値で計算後にSIGN関数で符号をセットしてください。 B1 =SIGN(A1)*TIME(TRUNC(ABS(A1)),100*(ABS(A1)-TRUNC(ABS(A1))),0) または、TEXT関数とSUBSTITUTE関数で置換して B1 =SIGN(A1)*TIMEVALUE(SUBSTITUTE(TEXT(ABS(A1),"00.00"),".",":"))
その他の回答 (3)
- mshr1962
- ベストアンサー率39% (7417/18945)
#1です。 >数値(3.45 0.3 -1.2)の合計を2.55 と表示させることは出来ますか? 連続した範囲なら =SUBSTITUTE(TEXT(SUMPRODUCT(TRUNC(A1:A3)*60+MOD(A1:A3,SIGN(A1:A3))*100)/1440,"[hh]:mm"),":",".")*1
お礼
1度目の質問に続き、追加にも回答いただいてありがとうございます。 ぴったりイメージどおりの表示をさせることができました。 色々と関数の組み合わせが必要なのですね。 解体して、一つずつ勉強したいと思います。 ありがとうございました。
- grumpy_the_dwarf
- ベストアンサー率48% (1628/3337)
time関数に負の値を渡すことは出来ません。 B1: =TRUNC(A1)*"1:00"+100*MOD(A1,SIGN(A1))*"0:01" として表示形式を時刻にすれば大丈夫です。
補足
ご回答ありがとうございます。 イメージどおりの時間で表示することができました。 数式の中身はこれから勉強したいと思います。 ちなみに、数値データ(3.45 0.3 -1.2)の合計を 2.55と表示させることは出来ますか? 宜しくお願いいたします。
- Cupper
- ベストアンサー率32% (2123/6444)
TIME関数の引数は 0~32767 の範囲です。 -1が渡された時点でエラーになっていると言うことですね。 他の方法を考えましょう。 分単位の数値に直すことで計算は可能ですね。 時間の表示は TEXT関数で文字列として表示させればよさそうです。 例:=TEXT(-2000,"0時"&"00分") → -20時00分
補足
ご回答ありがとうございます。 さっそく試してみたのですが、 今回入力しているデータが独特で、 教えて頂いた方法ではイメージのデータを表示させることができませんでした。 ちなみに追加で教えて頂きたいのですが、 数値(3.45 0.3 -1.2)の合計を2.55 と表示させることは出来ますか? ※入力しているデータを60進数で合計する方法 宜しくお願いいたします。
補足
ありがとうございます。 イメージどおりの時間で表示することができました。 3.45 0.3 -1.2 を3時45分、0時30分、-1時間20分 と表示させ、 SUMを使って、合計を2時間55分と表示させることができました。 追加で教えて頂きたいのですが、 数値(3.45 0.3 -1.2)の合計を2.55 と表示させることは出来ますか? 宜しくお願いいたします。