他のコンピュータプログラムで作成された情報をインポートすると、UNIXで作成された日付/タイムスタンプがデータに含まれる場合があります。インポートすると、日付/タイムスタンプをExcelの日付/時刻形式に変換するという課題に直面します。両方のシステムがどのように時間を節約するかを理解すれば、変換を行うのはかなり簡単です。

UNIXのタイムスタンプは、1970年1月1日以降の秒数を表す整数値として保存されます。さらに、タイムスタンプはGMT時間で保存されます。つまり、タイムゾーンやタイムゾーンの変動を反映するようにスタンプが調整されていません。日光節約時間として)。

一方、Excelは、1900年1月1日(デフォルト設定)からの日数を表す実数としてタイムスタンプを格納します。タイムスタンプの整数部分は丸一日の数を表し、小数点の右側のタイムスタンプの部分は1日の小数部分を表し、時間、分、秒に変換できます。

UNIXタイムスタンプをExcelシステムに直接変換するには、次の式を使用するだけです。

=UnixTime / 86400 + 25569

この例では、UnixTimeは、整数のUNIXタイムスタンプ値を含む名前付きセルにすることも、実際の整数値に置き換えることもできます。 UNIXタイムスタンプは秒単位で保存されるため、Excelで使用される日数に変換するには86400で除算する必要があります。 (86400は1日の秒数です。)次に、1900年1月1日から1970年1月1日までの日数である25569を追加します。

(= DATE(1970,1,1)関数を使用した場合に返される値です。)

これは直接変換を行うことを忘れないでください。それでもタイムゾーンを調整する必要があるかもしれません。 UNIXシステムが現地時間の午後5時に発生した何かを記録した場合は、自分とGMTの間に何時間の差があるかを判断する必要があります。たまたま4時間ある場合は、次のように、それに応じて変換式を調整する必要があります。

=UnixTime / 86400 + 25569 - 4 / 24

タイムゾーンがGMTとどのように関連しているかわからない場合は、ここで必要な情報を見つけることができます:

http://tycho.usno.navy.mil/zones.html

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

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