2013-04-18 16 views
21

Excelに100,000行のデータがあります。いくつかのフィールドは日付ですが、Excelのフィールドはテキストです。これらのフィールドは、日付と時刻の両方を含む数値形式で必要です(例:21.10.2011 13:10:50)。セルの書式設定はデータ型を変更しないため機能しません。私は数式で日付と時刻を選ぶことはできますが、同じセルでそれらを取得することはできません。文字列をセル内の日付に変換する

私が探しているのは、日付の数値表現(数値を日付としてフォーマットすると表示されるもの)を計算する式です。

+0

このリンクを参照してください:http://stackoverflow.com/questions/15918073/excel-vba-date-format-conversion。ロジックは、セルの書式を設定し、cell.formula = cell.Textを使用して書き換えます。 –

答えて

34

=DateValue()機能を試しましたか?

だけの機能を一緒に追加し、時間値を含めるには:

=DateValue(A1)+TimeValue(A1)

+0

ちょうど日付の値を使って、私は日付を選ぶことができますが、時間は選べません。 TimeValueは時刻を選択しますが、日付は選択しません。 – Machman

+0

'= DateValue(A1)+ TimeValue(A1)'はどうですか? –

11

をお持ちの両方のデータ・シナリオに適応するために、あなたはこれを使用したいと思うでしょう:

datevalue(text(a2,"mm/dd/yyyy")) 

あなたを与えるだろうExcelが現在持っているセルの日付番号表現、またはテキストデータ型。

+0

ソース日付は常にテキストデータ型です。そして、私はいつもそれらを新しい列の数字に変換したいと思っています。この問題は、日時データ型が存在しないということに沸き起こるようです... – Machman

1

私はしばらくの間これを苦労していましたが、ポストの助けを借りて私はこの式を考え出すことができました=(DATEVALUE(LEFT(XX,10)))+(TIMEVALUE(MID(XX,12,5)))ここで、XXは参照セルです。

私は同じことを尋ねる人々と多くの他のフォーラムに出くわしました。これは私にとっては最も簡単な答えです。これは、このフォーマット2014/11/20 11:53 ESTからコピーされたテキストを返すことで日付/時刻形式に変換して、最も古いものから最も新しいものにソートすることができます。それは、短い日付/長い日付で動作し、時間を表示するようにセルをフォーマットするだけで表示されます。これは、私のように周りを探索する人に役立ちます。

0

DATE()関数を使用し、RIGHT()、MID()、およびLEFT()関数を使用して文字列からyy、mm、およびddを抽出するのが最適なソリューションです。最後はDATE(LEFT ()、RIGHT())、詳細here

関連する問題