『残業時間の計算方法』(人事担当)
会社で勤怠担当をしています。
タイムカードの打刻時刻をシステムからCSVに吐き出すと、10:00が1000、12:30が1230というような形式に変換されます。
CSV上で所定終業時間と実際の退勤時間を引き算して残業時間を計算したいのですが、所定終業時間が10:00,実際の退勤時間が12:30の場合、実際の残業時間は150分だと思いますが、CSVで計算すると1230-1000=230となってしまいます。
1230と1000の差が150となるようにするにはどのような数式を用いればよいでしょうか。質問の類似例を探しましたが探せませんでした。
よろしくお願いします。
< 使用 Excel:Excel2019、使用 OS:Windows11 >
「excel hhmm hh:mm」で調べたら普通に出てきましたけど
| [B]| [C]| [D]|
[2]|0913|1224|-191|
[3]|1134|1528|-234|
[4]| 921|1021| -60|
[5]|1000|1230|-150|
D2:=(REPLACE(B2,LEN(B2)-1,0,":") - REPLACE(C2,LEN(C2)-1,0,":"))*24*60 D3:=(TEXT(B3,"0!:00")-TEXT(C3,"0!:00"))*24*60
お好きな方をどうぞ
csvをexcelと読み変えています (ちくわ) 2026/04/03(金) 14:03:47
CSVをどうやって読むかですが、 データの取得と変換(PowerQuery)で読むと、変換してくれます。時価の引算もできます。 こんなCSVファイルがあったとして、
氏名,退勤時間 あ,1800 い,2000
こんなクエリで、
let
Source = Csv.Document(File.Contents("C:\Users\User\Desktop\kintai.csv"),[Delimiter=",", Columns=2, Encoding=932, QuoteStyle=QuoteStyle.None]),
PromotedHeaders = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
ChangedType = Table.TransformColumnTypes(PromotedHeaders,{{"氏名", type text}, {"退勤時間", type time}}),
AddedColumn = Table.AddColumn(ChangedType, "彫金時間", each [退勤時間]-Time.From("17:00:00") , type duration )
in
AddedColumn
どうぞ (´・ω・`) 2026/04/03(金) 17:00:14
単純に
[___]|___A____|___B____|___C____|___D____|___E____| [ 1]| 1230| 1000| 750| 600| 150|
[C1] =INT(A1/100)*60+MOD(A1,100) [E1] =C1-D1 ていう意味かと...
(白茶) 2026/04/03(金) 18:03:21
(え、これマジレスすべき...じゃないよね?)
(白茶) 2026/04/07(火) 23:35:12
1時間=60分を理解していないのでは? 3時間15分を 3.15時間っていう人いますし (ちくわ) 2026/04/08(水) 08:45:27
D1セルにはC1セルと同じ式を入れます (´・ω・`) 2026/04/08(水) 09:04:17
まちがい 厳密には同じ式ではなくて、コピペすると自動的に参照セルが横にずれるので
[D1] =INT(B1/100)*60+MOD(B1,100) (´・ω・`) 2026/04/08(水) 09:05:53
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.