いくつかの目的のために、軍は特定の日付を記録するために「ユリウス日」と呼ばれるもののバリエーションを使用します。この特別な日付形式は、年の数字とそれに続く絶対日で構成されます。

したがって、2013年7月9日は13190になります。これは、年(13、2013年)の後に190日(7月9日)が続くことを示しています。

そのような日付の使用は軍だけではありません。他の一部の業界も、このタイプの日付形式に依存しています。ただし、Excelはこのタイプの形式に依存していません。代わりに、日付の表示にはより一般的な形式を使用し、日付の内部ストレージには独自のシリアル番号形式を使用します。ユリウス暦の日付を処理する必要がある場合(おそらく軍隊にいる場合)、この方法で日付をフォーマットする方法があるかどうか疑問に思うかもしれません。

簡単な答えは、それを行うためのネイティブな方法はないということです。 Excelのカスタム書式設定機能では、曜日を表示する方法を指定することはできません。つまり、これは、数式を使用して、ユリウス日を表す数値、またはユリウス日を含むテキスト文字列を返す必要があることを意味します。

フォーマットされた日付を含むテキスト文字列を返したい場合は、次のような式を使用できます。

=RIGHT(YEAR(A1),2)&(A1-DATE(YEAR(A1),1,1)+1)

この数式は、セルA1に通常のExcelの日付が含まれていることを前提としています。数式の最初の部分(アンパサンドの前の部分)は、年の最後の桁を返し、アンパサンドの後の部分は、変換される日付から現在の年の最初の日を減算し、その日付に1を加算します。結果は、その年の通常の日です。

ユリウス日の年の日の部分が常に3桁でなければならない場合は、数式をもう少し変更する必要があります。上記のように、数式は数式の最後の部分に1、2、または3桁を返します。常に3にする必要がある場合は、代わりにこれを使用してください:

=RIGHT(YEAR(A1),2)&RIGHT("000"&(A1-DATE(YEAR(A1),1,1)+1),3)

数式でテキスト文字列ではなく数値を返すようにする場合は、数式全体をVALUE関数で囲むか、数式で年の桁に1000を掛けるだけです。両方のアプローチをここに示します:

=VALUE(RIGHT(YEAR(A1),2)&RIGHT("000"&(A1-DATE(YEAR(A1),1,1)+1),3))

=RIGHT(YEAR(A1),1)*1000+(A1-DATE(YEAR(A1),1,1)+1)

ユリウス暦の日付の操作に関する情報は、マイクロソフトのナレッジベースにもあります:

http://support.microsoft.com/kb/214099

この記事は、Excel 2000用であることを示していますが、表示される数式は他のバージョンのExcelでもうまく機能します。 Chip PearsonのWebサイトには、追加情報もあります。

http://www.cpearson.com/excel/jdates.htm

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

このヒント(3227)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。

link:/ excelribbon-Unique_Military_Date_Format [Unique Military DateFormat]