2017-06-28 17 views
0

ExcelやAccessでは初めてではありません。日付フィールドがテキストとして保存されるレポートが私に送信されましたが、2011年6月2日の午前9時24分に出力されます。私はこの列を日付フィールドに変換しようとしているので、Accessで計算を行うことができます。私はAccessでこれをやりたいと思っていますが、Excelで行う方が簡単かもしれません。私は列にテキストを書いてみた後、日付としてセルをフォーマットしました。つまり、3/14/2001ですが、役に立たないです。私は左をやることを考えましたが、日付は2014年6月2日か2017年12月2日です。どんな助けでも大歓迎です。あなたが望むようExcelの日付フィールドにテキストの日付を変換する、つまり2011年6月2日9:24 AM EDT

=--LEFT(A1,LEN(A1)-3) 

その後、セルの書式を設定:

+0

ようこそStackOverflowのため、ツアーを確認するために時間を割いてください最小、完全、および検証可能な例を作成する:https://stackoverflow.com/help/mcve、具体的には *良い質問をする方法* https://stackoverflow.com/help/how-to-ask - あなたが問題解決のために何かを考えてから助けを受ける前に、あなたが問題を自分で解決しようとしているコード*に特定の問題を含めることで、より良いフィードバックと役に立つ答えを得るでしょう。 – mjw

答えて

1

はこれを使用してください。

enter image description here

注それはあなたがビットでデータビットを解析する必要がある場合であれば、あなたのローカルの日付形式がd/m/ym/d/yでない場合、これはのみ動作します。

0

代替品を使用できます。このように:あなたはCSVとして保存するか、いずれかのコピー/貼り付けを行うと、Excelが逆輸入でdate型に変換しないことを確認したい場合は

=SUBSTITUTE(A1;"EDT";"") 
+0

1. REPLACEではなく、SUBSTITUTEである必要があります。 2 SUBSTITUTEがテキスト文字列を返すので、あなたはまだそれを数字にする必要があります。ですから、それを 'VALUE()'または 'DATEVALUE'で囲むか、' --'で掛けてください。これにより、テキストが実際の日付に変わります。しかし、良いアイデア。 –

+0

良い点。私のExcelは実際にはポルトガル語であり、私はその機能を誤訳しました。正しいものはSUBSTITUEです。数値フィールドを日付フィールドに設定した場合、日付値を数値に変換して比較する必要はないかもしれませんが、必要があるかもしれないことに注意してください。 –

+0

日付/時刻に設定しても、自動的に変換されません。これは、Excelが自動的に数式で返された文字列を変換しないためです。セルを日付の時刻にして、 'blah'と入力すると、' blah'が残ります。同じこと。 Excelはそれをテキストとして表示し、真の日付に変換しません。それは日付のように見えますが、ルックアップを実行すると、Excelが真の日付と比較するときに数値を検索するので失敗します。 –

0

、あなたは、値の前にアポストロフィを追加することができますこれはExcelに明示的に無視するよう指示します。これは、マクロを使用して自動的に行う1つの方法です。テキストとして

フォーマット列/行とは、ブックマクロにこれを追加します。https://stackoverflow.com/tour、 方法:

Private Sub Worksheet_Change(ByVal Target As Range) 

    With Target 
     If IsDate(.Value) Then 
      Application.EnableEvents = False 
      .Value = "'" & .Value 
      Application.EnableEvents = True 
     End If 
    End With 

End Sub 
関連する問題