Timespan型で24時間を超える足し算(列①+列②)

こんにちは

7:15=7時間15分でした。

そうなのですね。秒の部分の有無について書式の揺れがあるのはなぜなんでしょうね...
それはさておき、そのような仕様であれば例えばForEachRowの中ですと以下の式で
秒数として取得できます。

Regex.Match(row("残業時間").ToString,"(\d+):(\d+):?(\d+)?").Groups.Cast(Of Group).Skip(1).Select(Function(g,i) if (Int32.TryParse(g.Value,New Int32),Int32.Parse(g.Value)*CInt(Math.Pow(60,2-i)) ,0)).Sum

加算が必要なら、列名のことなる上記式の結果を足し算して、

totalSec \ 3600 で時間
(totalSec mod 3600) \ 60 で分が算出できます。(\ は半角の¥に読み替えてください)

で必要な書式に変換すれば良いかと思います。

1 Like