
以下の内容を含むシートがあります:
- 列A: 名前
- 列B: 入学日
- 列C: 休暇日
- 列D: 死亡日
- 列Z: 生年月日
(date of leave - date of admission)
死亡日が空白の場合と、(date of leave - date of death)
死亡日がある場合の滞在期間を計算します。
年齢を計算する次の式があります:
=DATEDIF($Z5,TODAY(),"Y") & " Years, " & DATEDIF($Z5,TODAY(),"YM") & " Months, " & DATEDIF($Z5,TODAY(),"MD") & " Days"
私のニーズを満たすように変更することはできますか、それとも別の式を使用できますか?
答え1
次の数式は、期間を日数で表した要求された結果を返します。
=IF($D5='',$C5 - $B5, $C5 - $D5)
アップデート:質問のロジックに従って日付間隔を年、月、日で表現する場合、数式はより詳細になります。
=IF($D5='', DATEDIF($B5, $C5, "Y") & " Years, " & DATEDIF($B5, $C5, "YM") & " Months, " & DATEDIF($B5, $C5, "MD") & " Days", DATEDIF($D5, $C5, "Y") & " Years, " & DATEDIF($D5, $C5, "YM") & " Months, " & DATEDIF($D5, $C5, "MD") & " Days")
ドキュメント内で年、月、日で表現された日付間隔を頻繁に使用する場合は、隣接するセルでより小さなステップで計算するか、ドキュメントの保守に役立つユーザー定義関数を作成することをお勧めします。Google で「ユーザー定義関数 Excel」と検索すると、上位のリンクのどれでも非常にわかりやすい説明が見つかります。