Excel の月関数は日付を dd-mm-yy で出力しますが、Excel は日付を mm-dd-yy で読み取ります。

Excel の月関数は日付を dd-mm-yy で出力しますが、Excel は日付を mm-dd-yy で読み取ります。

私は、形式YYYYMMDD (つまり、、19970203またはFebruary 3rd, 1997) の値を持つ Excel ファイルで作業しています。これらの値を Excel が読み取れる日付形式に変換する必要があり、これらの値の横の列に次の関数を使用して変換しました。

=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))

これは、日付を の形式で出力しますdd-mm-yy(つまり03-02-97、前の例では )。ここで、日付を月ごとに整理する必要があったので、次の列のこれらの新しい値に対して 関数を使用しようとしました=month。出力は の形式で表示されますmm-01-00

調べてみると、この書式設定は、セルの書式を変更して日付の値のみを表示するだけで多くの人が解決していることがわかりましたmm。残念ながら、Excel は現在これらの値を と読み取るmm-01-00ためdd-mm-yy、興味深いことに、過去 4 年間は 1 月になっています。

私は、月関数を避け、代わりに日付にテキスト関数を使用することで、自分の目的に合った回避策を講じましたが、月関数の使用で何が問題になっているのかまだわかりません。いくつか読んでみましたが、同様の問題の報告例は​​見つかりませんでした。アメリカの地域設定のコンピューターで Excel を実行していますが、日付の表示は になっていることに注意してくださいdd-mm-yy。ただし、これが Excel の問題とどのように関係するのかわかりません。

答え1

Excel では、日付を計算に使用できるように連続したシリアル番号として保存します。セルの形式では、シリアル番号が などの日付として表示されます03-02-97

1900 年 1 月 1 日はシリアル番号 1 で、1997 年 2 月 3 日は 1900 年 1 月 1 日から 35,464 日後なのでシリアル番号 35464 です。日付を表示しているセルの書式を標準書式に変更すると、セルにはシリアル番号が表示されます。

Excel では、セルが日付として書式設定されており、シリアル番号 2 の日付が 1900 年 1 月 2 日であるため、=MONTH()関数を使用してセルが表示されています。1997 年 2 月 3 日が返されました。02-01-00MONTH()2

MONTH()セルを数値 (例: 一般) として表示するには、セルを に変更します2。その場合、セルには が表示されます。

答え2

次の数式を使用します。B1
=TEXT(B1,"mm")
には数式があります。=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))
この方法では、セルの書式を日付(短いまたは長い)の代わりに=month()変更できます 。セルの書式は、表示を読み取りたいものに変更します。General

関連情報