1

レポート サービスは csv ファイルを生成し、特定の列 (奇妙なことに) には日付/時刻形式が混在し、一部の行には m/d/y として表される日時が含まれ、他は dmy として表されます

=TYPE() を適用すると、1 または 2 が返されます (Excel はテキストまたは数値 (Excel のタイムスタンプ) を認識します)

どのような種類の間違った日時形式を、使用できる「通常の」形式に変換し、データの一貫性を確保するにはどうすればよいですか?

私は現時点で2つの解決策を考えています:

  • どうにか既存のエクセル関数で奇数データを処理する必要があります
  • レポートが最初から正しく生成されるように依頼し、そもそもこの面倒を回避する必要があります

ありがとう

4

2 に答える 2

1

確かに、2 番目のオプションは、中長期的に進むべき道です。しかし、今すぐ解決策が必要で、Perl 互換の正規表現 (Notepad++、UltraEdit、EditPad Pro など) をサポートするテキスト エディターにアクセスできる場合は、次の正規表現を使用できます。

(^|,)([0-9]+)/([0-9]+)/([0-9]+)(?=,|$)

m/d/yカンマで囲まれた (または行の先頭/末尾にある)形式のすべての日付を検索します。

それを

\1\3.\2.\4

の形式で日付を取得しますd.m.y

于 2012-10-18T19:54:42.183 に答える
1

データを変更できない場合は、日付を変換する別の列に頼る必要がある場合があります: (変更したい日付が A1 にあると仮定します)

=IF(ISERR(DATEVALUE(A1)),DATE(VALUE(RIGHT(A1,LEN(A1)-FIND(".",A1,4))),VALUE(MID(A1,FIND(".",A1)+1,2)),VALUE(LEFT(A1,FIND(".",A1)-1))),DATEVALUE(A1))

テキストを日付として読み取れるかどうかをテストし、失敗した場合は文字列を切り刻んで日付に変換し、そうでない場合は日付を直接読み取ろうとします。いずれにせよ、使用できる日付に変換する必要があります

于 2012-10-18T20:10:31.610 に答える