web-dev-qa-db-ja.com

総労働時間を正と負の時間で合計する方法

私はこれらの値で1つの行(以下の例を参照)で作業した合計時間を持っています:

A1= 22:25, A2=-10:00, A3=3:00, A4=-4:45 

(従業員がシフト全体を働かなかったため、一部の時間値は負になります)。

エントリは時間と分を表します(例:A1:22時間25分)

だから私が欲しいのは、= SUM A1 + A2 + A3 + A4 = +-総労働時間のような総労働時間を計算することだけです。ただし、Excelでは負の時間を入力できないため、セルはテキストとして書式設定されます。

次に、何とか行を(時間としてフォーマットされた)合計し、それを時間h:mmに変換する必要があります。

example

4
Worda

実際の数値の根底にあるものを無視して、負の時間として正しく表示し、時間計算に使用できるようにする必要がある負の時間があります。回避策として、時間をテキスト(数式で使用するには複雑)と10進数としてフォーマットしようとしました(分を100分の1時間に変換しない限り、正しい答えが得られません)。それは必要ありません。

書式設定の問題は、日付/時刻を処理するための「1900ベース」に固有です。名前は、1900年1月0日からの日数として日付を格納することから来ています。日付は整数の日数であり、時刻は1日の小数として格納されます。したがって、今日の正午は43286.5として格納され、3時間は1日の1/8、つまり0.125として格納されます。保存された数値は、選択した読み取り可能な形式で表示されるようにフォーマットされます。

日付と時刻は1つの数値として格納されるため、他の数値と同じように使用して、時間の単位やその他の要素を気にすることなく算術を実行できます。 1900ベーシスには、負の時間を許容しない設計上の制限があります。

「1904ベーシス」を使用する組み込みオプションがあり、負の時間に制限はありません。これは実際にはMacバージョンのデフォルトです。これにより、負の時間を表示して計算に使用できます。メニューから選択できます。そこへのルートはExcelのバージョンによって異なります。 Optionsダイアログにあります。

2007バージョンでは、Officeボタンを使用していました。 2010、2013、2016、および365バージョンでは、Fileタブを使用していました。新しいバージョンでルートが変更された場合、おそらく誰かがこの回答に追加してくれるでしょう。 [オプション]ダイアログからAdvancedを選択します。 [該当するバージョンがリストされていない、私が見つけた1つの日付のない参照は、Tools » Options » Calculation、それで、他のルートがあなたのバージョンと一致しない場合に試す別の方法です。]

enter image description here

小切手 Use 1904 date systemOK

これで、負の時間を負の時間として保存および表示でき、時間計算を簡単に実行できます。たとえば、合計を取得するには、時間を合計します(正または負に関係なく)。

7
fixer1234

私は遅れていることを知っていますが、私は自分で解決した簡単な解決策を持っています。どちらの値が大きいかを確認するためにifステートメントに書き込んでから、それに従って減算してフォーマットします。= IF(S3> P3、TEXT(SUM(S3-P3)、 "-[hh]:mm:ss")、TEXT(SUM( P3-S3)、 "[hh]:mm:ss"))説明:

= IF(S3> P3、どちらの値が大きいかを確認します

TEXT(SUM(S3-P3)、 "-[hh]:mm:ss")Sの方が大きい場合は、SからPを引いて(結果は常に> 0になります)、TEXT式でフォーマットし、次を追加します。 a-フォーマットの開始時。

、TEXT(SUM(P3-S3)、 "[hh]:mm:ss"))Pの方が大きい場合は、PからSを減算します(これも常に数値> 0になります)。その後、通常の形式にします。

0
Daniel