
以下に私のスプレッドシートの抜粋を示します。これは、開始日/曜日、セッション ID、セッションの期間を含む時間追跡アプリケーションです。列 A は、列 D の期間を追加することで入力されます。期間を合計しようとしていますが、合計期間が 24 時間を超える場合は、誤った値が表示され続けます。
考慮する
A B C D
1 2012/05/22 01:00 | Wed | Session 23341 | 9:00
2 2012/05/23 10:00 | Wed | Session 23342 | 22:00
3 2012/05/25 08:00 | Fri | | 0:00
ご覧のとおり、A2 と A3 の日付の差は、D2 の 22:00 の値が 46 時間 (05/23 10:00 + 46:00 = 05/25 08:00) の期間を表していることを示しています。ただし、列 D には、24 時間を超える 22:00 のみが表示されています。
D2 を読み取ろうとした試みにはint(d2) = 0.00 / int(d2)*24 = 0.00 / hour(d2) = 22.00 / int(a3-a2)*24 =0.00
etc. が含まれており、「46」という値を取得できませんでした。
正確な要約データを得るために、D2 を正確に表現するにはどうすればよいでしょうか?
答え1
Excelではタイムスタンプ形式で時間を表示できますが、カスタムセルフォーマットそのためには、次のようにします[h]:mm:ss
。括弧に注意してください。これは、時間が 24 で繰り越されず、カウントアップし続けることを示しています。これを定義して列 D に割り当てると、46:00:00
D2 に期間を入力できるようになります (もちろん、必要ない場合は、形式で秒数をスキップできます)。
注意すべき点があります。Excel は内部的に、0 を基準とする日付時刻値 (1900 年 1 月 1 日 00:00。ただし、1904 年の日付時刻の手がかりを使用して負の値を許可するように設定した場合は 4 年後になります) から上向きにカウントアップする時間を保存します。そのため、時間関数ファミリー全体 ( HOUR
、、 ) は、24 時間の時間枠内の値 (正確には、24 で割った値を 24 倍した値、つまりこの場合は 22 で割っMINUTE
たSECOND
値) を返します。
- あなたがしたい場合は、画面このようなタイムスタンプの時間、分、秒を指定する場合は、その値に別の時刻形式を適用する必要があります (つまり、
[h]
時間、m
分、s
秒)。これは表示にのみ影響することに注意してください。内部的には、値は上記で説明した通常の日付時刻値のままです。 - あなたはできるすべてのオペランドが日付時刻型である限り、自由に計算できるA1 の値に「日付と時刻」形式が割り当てられている場合
yyyy/dd/mm hh:mm
、=A1+D1
セル A2 に入力すると正しい新しい日付と時刻が表示されます。
答え2
24を掛けると小数点として時間を取得できるので、この数式は46を返すはずです。
=(A3-A2)*24
結果セルを数値としてフォーマットする
答え3
Excelで処理できる非常に長い時間時間と分を同時に入力できるため、時間と分を区切るために毎回コロン (:) 記号を使用する必要がなくなります。
列に時間を入力し、別の列に分を入力します。時間セル内A1そして分コラムB1
上記の各列の末尾に数字を追加します。たとえば、A1からA19そしてB1からB19列内の単純な数字としてA20とB20
セルに数式を入力するA20それは=SUM(A1:A19)そしてB20それは=SUM(B1:B19)
セルに数式を入力するA21それは=A20+(B20-B21)/60そしてセルB21それは=MOD(B20,60)
出来上がり!。セル A21 と B21 の値には、時間と分単位の合計が表示されます。 強いテキスト
追伸:このページから数式を切り取って貼り付けることができます。
答え4
日付と時刻を別の列に分割して、新しいB
列を使用して新しい列で計算を実行できるようにしますE
。