Excelを使用してプロジェクトに関する情報を追跡している場合は、特定のプロジェクトの期間を年、月、日で知りたい場合があります。各プロジェクトの開始日と終了日がある場合は、DATEDIFワークシート関数を使用して、必要な方法で情報を返すことができます。

たとえば、セルE7に開始日があり、セルF7に終了日があるとします。 DATEDIFを使用すると、2つの日付の差を計算できます。

=DATEDIF(E7,F7,"d")

この関数は、E7の日付がF7の日付以下である場合に、2つの日付の間の日数を返します。 3番目の引数「d」により、DATEDIFは結果を日数で返します。月( “m”)と年( ‘y “)を指定することもできます。ただし、この例では、年を除く月(” ym “)、年を除く日(” ym “)など、特に役立つ引数がいくつかあります。 “yd”)、および月と年を除く日( “md”)。

これらのさまざまな引数を使用して、経過日数を年、月として示す回答を返す式を作成できます。

(このヒントの数式の長さのため、少し読みやすくするために別々の行に分割しました。これは単一の数式ですが、次のように入力する必要があります。このようなExcelに。)

=DATEDIF(E7,F7,"y") & " years, " & DATEDIF(E7,F7,"ym")

& " months, " & DATEDIF(E7,F7,"md") & " days "

この数式は、年、月、日など、常に複数の単位を返すことに注意してください。文法的に正しく、必要に応じて特異な単位を提供すると、次の式でうまくいきます。

=IF(DATEDIF(E7,F7,"y")=1,DATEDIF(E7,F7,"y")&" year, ", DATEDIF(E7,F7,"y")&" years, ")&IF(DATEDIF(E7,F7,"ym")=1, DATEDIF(E7,F7,"ym") &" month, ",DATEDIF(E7,F7,"ym")

&" months, ")&IF(DATEDIF(E7,F7,"md")=1,DATEDIF(E7,F7,"md")

&" day",DATEDIF(E7,F7,"md")&" days")

この問題年、月、または日のいずれかがゼロの場合を除いて、すべてのインスタンスでks。ゼロのときに適切な単位を取り除くには、さらに長い式が必要です。

=IF(DATEDIF(E7,F7,"y")=0,"",IF(DATEDIF(E7,F7,"y")=1, DATEDIF(E7,F7,"y")&" year, ",DATEDIF(E7,F7,"y")&" years, "))

&IF(DATEDIF(E7,F7,"ym")=0,"",IF(DATEDIF(E7,F7,"ym")=1, DATEDIF(E7,F7,"ym")&" month, ",DATEDIF(E7,F7,"ym")&" months, "))

&IF(DATEDIF(E7,F7,"md")=0,"",IF(DATEDIF(E7,F7,"md")=0, DATEDIF(E7,F7,"md")&" day ",DATEDIF(E7,F7,"md")&" days"))

この数式はかなり長くなっていますが、値がある単位のみが返されます。したがって、「0年、2か月、1日」を返す代わりに、「2か月、1日」を返します。

これでも完全な式ではありません。保証されていない状況では、エントリ間にコンマが表示されるためです。次のメガフォーミュラは、複数形とコンマを修正し、ゼロエントリを削除する必要があります。

=IF(DATEDIF(E7,F7,"y")=0,"",IF(DATEDIF(E7,F7,"y")=1, DATEDIF(E7,F7,"y")&"year",DATEDIF(E7,F7,"y")&"years"))

&IF(AND(DATEDIF(E7,F7,"y")<>0,DATEDIF(E7,F7,"ym")<>0),", ","")

&IF(DATEDIF(E7,F7,"ym")=0,"",IF(DATEDIF(E7,F7,"ym")=1, DATEDIF(E7,F7,"ym")&" month",DATEDIF(E7,F7,"ym")&" months"))

&IF(AND(OR(DATEDIF(E7,F7,"y")<>0,DATEDIF(E7,F7,"ym")<>0), DATEDIF(E7,F7,"md")<>0),", ","")&IF(DATEDIF(E7,F7,"md")=0,"", IF(DATEDIF(E7,F7,"md")=1,DATEDIF(E7,F7,"md")&" day", DATEDIF(E7,F7,"md")&" days"))

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(11360)は、Microsoft Excel 2007、2010、および2013に適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。