2

私は、人々の賃金を決定するための時間を計算するレポートを作成しています。サーバーからレポートを取得し、Excel に貼り付けて計算を行います。データを取得するときに問題が発生しました。ログインした時間が 1 時間未満の場合、式が機能していません。

=IF(E159="","",((HOUR(E159)+(MINUTE(E159)+(SECOND(E159)/60))/60)))

時刻が の場合はエラー ( #value) になりますが、時刻が:34:15の場合は問題ありません00:34:15

セルの書式設定が機能していないようです。

この列を調べて00、欠落しているすべての値に を追加したいのですが、そこからの助けやガイダンスが必要です。

SOに関する別の質問が役立つようですが、使用方法がわかりません。

4

1 に答える 1

3

上記の数式から、時間はセル E159 にあると仮定すると、時間の先頭に 0 を追加できます。これにより、時間が欠落しているすべての時刻が修正され、他の行には影響しません。

="0"&E159

次に、元の式のすべての参照をこの編集で置き換えると、E159次のようになります。

=IF(E159="","",((HOUR("0"&E159)+(MINUTE("0"&E159)+(SECOND("0"&E159)/60))/60)))

読みにくいですが、うまくいきます。

それはあなたの質問に答えますが..この式を達成するためのより良い方法があると思います.

あなたが探している最終結果は、時間に変換された時間であり、次の時間へのデシメルとしてのムルートと秒です。これを行うには、次のようにします。

=E159*24

これにより、元の式と同じ結果が得られます。そして、それを私の最初の答えと組み合わせて、次のような式を取得します。

=("0" & E159)*24

このアプローチは、読み取り/編集がはるかに簡単で、同じ出力を提供します。

なぜこれが機能するのか

Excel では、すべての日付が整数として保存され、すべての時間がデシメル % から 1 日として保存されます。したがって、Excel が 12 時間を格納する場合、半日であるため .5 として保存されます。時間出力を 24 で割ることにより、全体の時間値を 1 日の % から 1 時間の % に変換しています。

于 2012-08-07T16:04:21.183 に答える