2016-06-24 9 views
1

=tbl.ImportDelimited(file.OpenText(*path*))でCSVファイル(その中に849999行あり)をインポートして、=tbl.Filter(*table*, "Date", ">"&G11)をフィルタリングしようとしています - G11は日付です - それは日付の列をテキストに変換していてフィルタリングしません。その列を日付として認識させる方法はありますか?テキストとして保存された日付の列を日付の値に変換するには

私は=tbl.CalculateColumn(*table*, "Date", DATEVALUE(), "Date")でカラムを上書きしようとしましたが、次のエラーを受け取りました:

date convert error

私は何をしないのですか?

答えて

1

あなたが言うように、日付の列がファイルからテキストとしてインポートされているように見えるため、>を使用したフィルタリングは機能しません。

テキストを日付に変換するには、DATEVALUE()関数を使用できますが、テキストスニペットとしてtbl.CalculateColumn()に渡す必要があります。あなたの例では、実際にはDATEVALUE()を呼び出し、その結果をtbl.CalculateColumn()に渡しています。

あなたの式を次のように変更が正常に日付にテキスト値を変換することを見つける必要があります。

function引数として "DATEVALUE"を渡す
=tbl.CalculateColumn(table, "Date", "DATEVALUE") 

は短い形式のスニペットの構文の例です。 resultColumn引数も指定しないと、Schematiqは入力列の値を上書きします。次の式は長いですが、全く等価:

=tbl.CalculateColumn(table, "Date", "x => DATEVALUE(x)", "Date") 

あなたが想像できるように、テキストから日付に変換するために使用することができ、さまざまなExcelの式があります。あなたが期待している形式を正確に把握している場合は、これに似たものもうまくいくでしょう:

=tbl.CalculateColumn(table, "Date", "x => DATE(RIGHT(x, 4), MID(x, 4, 2), LEFT(x, 2))", "Date") 
+0

ありがとうございました。 – cfardella

関連する問題