2017-02-14 7 views
0

私は名前の列を含むCSVファイルを開くしようとしているファイル全体に次のパターンにタイムスタンプを持ってTS:今エクセル間違ったタイムスタンプ形式認識

12/31/2016 20:40 
mm/dd/yyyy hh:mm 

私はこれを開きますExcelの一部は認識されていません。

Excelはdd/mm/yyyy hh:mm形式で自動的に認識しているようですが、日付が11/13/2016 0:00の場合、それを認識できません(13th月のため)。この問題を解決する方法

enter image description here

答えて

0

これは、出力された日付がテキスト形式であり、日付形式ではないために発生しています。あなたのケースを解決してmm/dd/yyyy hh:mmの形式で出力を得る方法はここにあります。フォーマットを希望のフォーマットに変更することができます。

テキスト日付が列にある場合は、次の式がある -

=DATE(MID(A3,SEARCH("/",$A3,SEARCH("/",$A3,1)+1)+1,4),LEFT(A3,SEARCH("/",A3,1)-1),MID($A3,SEARCH("/",$A3,1)+1,SEARCH("/",$A3,SEARCH("/",$A3,1)+1)-SEARCH("/",$A3,1)-1))+TIME(HOUR(RIGHT(A3,LEN(A3)-SEARCH(" ",A3,1))),MINUTE(RIGHT(A3,LEN(A3)-SEARCH(" ",A3,1))),SECOND(RIGHT(A3,LEN(A3)-SEARCH(" ",A3,1)))) 

enter image description here

は、この情報がお役に立てば幸いです。満足すれば評価する。 :)

1

Excelが日付を認識していても、月と日を前に戻しています。

.csvファイルを直接開く場合(WindowsのエクスプローラからファイルをダブルクリックするかExcel内からファイル/開くを選択するなど)、Excelはローカルの時刻形式に従って任意の日付を解析しようとします。ファイルを直接開くときに日付がどのように解析されるかを変更する唯一の方法は、ローカルの時刻形式を変更することです。これはおそらくやりたくないことでしょう。

回避策は、テキストファイルに日付が格納されている形式を明示的に指定できるテキストインポートウィザードを使用してExcel内からファイルを開くことです。

  1. 新規ブックを開いて、[データ]タブへ
  2. 行きます。外部データの取り込みグループでは、テキスト
  3. から]をクリックしてファイルを選択し、インポート
  4. ステップ1クリック:区切りを選択し、[次へ
  5. ステップ2を選択:それは本当.CSVだ場合、あなたの唯一の区切り文字としてカンマを選択します。 (他のシステムからエクスポートされたデータは、カンマ区切りではなくタブ区切りになっていますが、ファイルがExcelなどで開かれていることを示すために.csvファイル拡張子が使用されています。
  6. 手順3:日付を持つ列を選択し、列のデータ形式を[日付]および[日付]に設定すると、列が正しく分割されます。ドロップダウンメニューからMDYを選択します。それは次のようになります。 Text Import Wizard
  7. が完了
  8. をクリックし、データが行くとクリックする場所を選択して[OK]

あなたは正しく解釈され、また、中に表示する日付のオープンデータを、持っている必要がありますあなたのローカル日付形式(dd/mm/yyyy)。

あなたが1列に完全な日付と時刻を維持したい場合は、正しくお近くの形式と一致しない日付/時刻文字列を解釈するために、Excelを伝える方法はありませんので、追加の作業が必要です。

上記の手順に従いますが、手順6でデータ形式として[テキスト]を選択します。これは、Excelが日付を解釈しないようにするために必要です(日が12未満)。

日付が常にmm/dd/yyyy hh:mm形式(1桁の日、月、時間の先頭のゼロを含む)である場合、次の数式はセルにある日付/時刻文字列を変換します書式設定と通常通りに動作することができます日付/時刻のシリアルにA1:

=DATE(MID(A1,7,4),LEFT(A1,2),MID(A1,4,2)) + TIMEVALUE(RIGHT(A1,5)) 
+0

ニース!しかし、問題がある、それは私が日付だけを持っている場合は動作するように思えますが、私は日付+時間を持っていないとき(私は元のデータにあります)。それをさらに分割して連結する以外に、その周囲の任意のもの? – Mohit

+0

残念ながら、ローカルフォーマットと一致しない完全な日時文字列をExcelに解釈させる直接の方法はありません。もう1つの解決策は、上記の手順と同じですが、代わりにテキストを選択し、次に隣の列の式を使用して、完全な日付/時刻文字列を単一の列にインポートすることです。私は数式で自分の答えを更新します。 – Michael

0

それはいくつかの有用な情報を持っているので、私は、別の答えとしてテキストファイルウィザードのアプローチを残してきました。しかし、式を使用する必要がある場合は、ファイルを開いた後に式を使用することもできます。

以下の式は、すべての日付HH MM/DD/YYYYとして保存した/回で動作:Excelが起こる日付として値を解釈しているか否かミリ

=IF(ISNUMBER(A1),DATE(YEAR(A1),DAY(A1),MONTH(A1))+A1-INT(A1),DATE(MID(A1,7,4),LEFT(A1,2),MID(A1,4,2)) + TIMEVALUE(RIGHT(A1,5))) 

式最初に確認日が12以下である場合は、Excelは曜日と月を交換しているため、数式はそれらを元に戻します。また、Excelが値を日付として解釈しない場合(日付が12より大きい場合)、それはテキストであり、テキスト文字列の並べ替え後に日付/時刻が生成されます。

関連する問題