web-dev-qa-db-ja.com

Excelの日付をISO 8601形式に変換する方法

日付形式をYYYY-MM-DD(2014-09-01など)でCSVファイルとして保存しようとしていますが、保存するとM/D/YYYY形式に戻ります。

Excelで日付を文字列として変換しようとしましたが、CSVファイルを開くたびにM/D/YYYY形式に戻ります。 ISO 8601日付形式をCSVファイルに保存する必要があります。これを行うにはどうすればよいですか?

28
Mike C

基本的な機能は次のとおりです。

=TEXT(A1,"yyyy-mm-ddThh:MM:ss")

これを使用して、Excelの日付列をISO 8601の日付列に分離します。次に、ISO 8601列をオリジナルにコピーします(特殊貼り付け:値のみ貼り付け)。 ExcelはISO 8601の日付を使用するため、計算されたISO 8601列を削除します。

これで、変換されたCSVまたはTSVなどができました。元の形式として保存し、それがネイティブファイル形式ではなく、CSVファイルとして保存することでどうにか「失われる」という愚かなExcelを無視し、Microsoftが盗んだ時間を考えないようにしてください。その愚かなダイアログで。

40
Dirk Bester

英語以外のユーザーに対する注意事項として。フォーマット文字列が地域の設定/ロケールに敏感であることを理解するのに少し時間がかかりました。例えば。私のフォーマット設定をドイツ語で:

=TEXT(C2;"jjjjMMtt")

(OSとExcelは英語に設定されていますが。)

8
Martin Faust

上記の@Dirk Besterの式をコピーして貼り付けました。

=TEXT(A1,”yyyy-mm-ddThh:MM:ss”)

しかし、それは機能しません、Excel 2010は高低を不平を言います-つまり、引用符をある種の「スマート引用」から普通のASCII 0x22引用符に変更するまで:

=TEXT(A1,"yyyy-mm-ddThh:MM:ss")

そして今、それは魅力のように機能します。参考までに。

5
Tom Hundt

核のオプションに直接ジャンプすることができます。コンピューターの「地域と言語」設定を変更して、「yyyy-MM-dd」の短い日付形式を使用します。

4

セルを設定できます、例:

セルを右クリック>セル形式>カテゴリ>カスタム>タイプ>これを書く:

aaaa-mm-jjThh:mm:ss (french format here)
yyyy-mm-ddThh:MM:ss (english format)

私の英語でごめんなさい。

3
RockDaFox

.csvファイルに適切な形式を作成したと思われます。

ただし、そのExcelは、.csvファイルを開いたときに指定した形式の日付値にそれを自動的に強制します。解決策として、.csvファイルを開くのではなくインポートし、外部データの取得、テキストからの手順3で、必要に応じて列データ形式にテキストが選択されていることを確認します。

1
pnuts

FWIW、16世紀の日付を持つExcelで上記のどれも機能しませんでした。 1558年8月26日の26-08-1558。だから、それをISO日付に変換するために、私は以下を使用した。

=RIGHT(D2|4)&"-"&MID(D2|4|2)&"-"&LEFT(D2|2)
0
RolfBly