ジョンは、ワークブック間で日付をカットアンドペーストすると、理由もなく変更されるように見えると述べています。たとえば、彼はこれを100行、3列の日付のワークブックで行い、すべて2018年を年としました。貼り付けたデータはすべて2014年を年とし、日は1桁早くなります(17日が16日になるなど)。

ジョンの説明の景品の手がかりは、彼がコピーしたものと貼り付けたものの間に4年の違いがあるということです。この問題は、Excelが日付の計算に使用できる2つの異なる「基準日」に関連しています。

ご覧のとおり、Excelは内部的に、特定の基準日からの日数を表すシリアル番号として日付を保持しています。この日付は通常1900年1月1日であるため、シリアル番号1はその日付(1900年1月1日)、2は翌日、3は翌日などです。

1900基準日は、WindowsベースのExcelバージョンのデフォルトです。もう1つの基準日は1904年1月1日です。これまで、これはMacベースのExcelバージョンで使用される基準日です。 (最新のMacバージョンではデフォルトではないため、「歴史的に」と言います。Microsoftがデフォルトをいつ変更したかは正確にはわかりません。)初期のMacには以前の日付の処理に固有の問題があったため、Microsoftはこの2番目の基準日システムを使用しました。 1904年1月1日-私が正しく思い出せば、うるう年がどのように扱われたかに関連する何か。

1904年の基準日システムでは、内部シリアル番号0は1904年1月1日、1は翌日、2は翌日です。 2つの基準日システムでは、特定のシリアル番号の日付が4年だけずれているわけではなく、4年と1日ずれていることに注意してください。

ジョンの状況では、ソースワークブックの基準日は1904システムに設定されています。そのワークブック内ではすべて問題ありませんが、値をコピーして(あるシステムから別のシステムに番号(シリアル番号)をコピーしていることを忘れないでください)、1900システムを使用するワークブックに貼り付けると、日付がずれているように見えます。 4年と1日。

この問題には2つの解決策があります。まず、ターゲットワークブックで使用されている基準日システムを変更できます。次の手順でこれを行うことができます:

。対象のワークブックを選択します。

。 [Excelのオプション]ダイアログボックスを表示します。 (Excel 2007では、[Office]ボタンをクリックし、[Excelオプション]をクリックします。Excel2010以降のバージョンでは、リボンの[ファイル]タブが表示され、[オプション]をクリックします。)

。ダイアログボックスの左側にある[詳細]をクリックします。

。 [このワークブックを計算するとき]セクションが表示されるまで下にスクロールします。

(図1を参照)

。 [1904日付システムを使用する]チェックボックスがオンになっていることを確認します。

。 [OK]をクリックします。

これで、最初に指摘された問題なしに、ソースからターゲットワークブックに日付をコピーできるはずです。ただし、これには欠点があります。後日、ターゲットブックから何かをコピーしたい場合、他のユーザーも同じ問題を抱えています。

これにより、2番目に考えられる解決策が得られます。ターゲットワークブックに貼り付けた後の日付を調整します。 1900基準日システムを使用するシステムでExcelが使用する基本シリアル番号を見ると、1/1/1900のシリアル番号は1であり、1/1/1904のシリアル番号は1であることがわかります。 1463.したがって、日付をターゲットワークブックに貼り付け、貼り付けたものから1462を差し引くと、ターゲットワークブックの日付が適切に調整されます。

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

このヒント(10942)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。