Excel 2016/ 日付(2018-03-04 08:00)に数値(48.20)を時間.分として追加する関数を作成する方法

Excel 2016/ 日付(2018-03-04 08:00)に数値(48.20)を時間.分として追加する関数を作成する方法

日付 (2018-03-04 08:00) を指定された数値だけ増やします。

元。

セル A1 (2018-03-04 08:00)

セル A2 (48.20) /// 時間と分を表す数値。この場合は 2 日と 20 分です。

セル A3 (日付 A1 に数字 A2 を追加) = (2018-03-06 08:20)

答え1

仮定すると

  • A2 の内容は時間と分を表す 10 進数で、00.00 形式です (つまり、48 時間 2 分は 48.02 になります)。

=A1+TEXT(A2*100,"00\:00")

もっとわかりにくい数式がお好みの場合は、以下を試してください。

=A1+DOLLARDE(A2,60)/24

答え2

この問題の主な難しさは、加算される値が小数として記録されることです。48.20だが、それは次のように解釈される。48時間20分これはおそらく必須条件です。この回答では、分が 2 桁の数字としてコード化されていることを前提としているため、2 分は .2 ではなく .02 になります。

このソリューションでは、小数を日数と分数に変換し、それらの数値を日付に追加します。数値の整数部分は時間を表し、C2 の次のいずれかの数式を使用して日数に変換できます。

C2=INT(B2/24)または

C2=INT(CONVERT(B2,"hr", "day"))

これは、時間が丸一日の倍数である場合にのみ機能することに注意してください。時間が丸一日でない場合は、正しい答えは得られません。 また、エントリが実際にテキストとして保存されている場合、2 番目の数式は機能しません。

次に、小数部分がセル D2 で分数に変換されます。

=100*(B2-TRUNC(B2))または

=(B2-INT(B2))*100または

=MOD(B2,1)*100

最後に、これらの中間結果は、E2 の次の最終式を使用して日付に追加されます。

=DATE(YEAR(A2),MONTH(A2),DAY(A2)+C2)+TIME(HOUR(A2),MINUTE(A2)+D2,SECOND(A2))

ここに画像の説明を入力してください

注: この画像のタイプミスは無視してください。3 番目の列のラベルは「時間」ではなく「日」である必要があります。

ここで、Day(A2)+C2 は 2 日を追加し、Minutes(A2)+D2 は 20 分を追加します。

セル E2 の最終結果は 2018-03-06 08:20 です。

注記:

  • A2 と E2 は YYYY-MM-DD HH:MM の形式になります。
  • B2 は数値としてフォーマットされます。
  • C2 と D2 は一般としてフォーマットされます。

このソリューションでは、説明を補助するためにヘルパー列を使用します。セル参照をヘルパー セルの数式に置き換えることで、ヘルパー列を 1 つの数式に組み込むことができます。

関連情報