「2021 年 1 月 8 日から 2021 年 1 月 15 日までの期間の価格」というテキストを 2021 年 1 月 15 日までに変換するのにご協力が必要です。
数式を使用しています=DATE(RIGHT(TRIM(RIGHT(SUBSTITUTE(TRIM(Edited!A2)," ",REPT(" ",100)),100))&"20",4),MID(TRIM(RIGHT(SUBSTITUTE(TRIM(Edited!A2)," ",REPT(" ",100)),100))&"20",4,2),LEFT(TRIM(RIGHT(SUBSTITUTE(TRIM(Edited!A2)," ",REPT(" ",100)),100))&"20",2))
が、得られる出力は 15/01/2021 ではなく 15/01/2120 です。
上記について誰か助けていただけませんか?
答え1
文字列は 8 文字の日付とそれに続くスペースで終わるため、次のように使用できます。
=LEFT(RIGHT(TRIM(Edited!A2),8),6) & RIGHT(RIGHT(TRIM(Edited!A2),8),2)+2000
注記:
これは日付を分離し、2桁の年を4桁の年に変換します
。エクセル365結果
は文字列であり、実際の Excel 日付ではありません。
編集#1:
月を最初に置くには:
=MID(RIGHT(TRIM(Edited!A2),8),4,3) & LEFT(RIGHT(TRIM(Edited!A2),8),3) & RIGHT(RIGHT(TRIM(Edited!A2),8),2)+2000
編集#2:
使用する場合はエクセル365次のようにして実際の Excel 日付を作成します。
=LET(d,RIGHT(TRIM(Edited!A2),8) ,DATE(RIGHT(d,2)+2000,MID(d,4,2),LEFT(d,2)))
答え2
このシンプルな方法はあなたにとって効果的でしょうか?
=DATEVALUE(TRIM(RIGHT(SUBSTITUTE(TRIM(Edited!A2)," ",REPT(" ",100)),100)))
おっしゃるとおり、
=TRIM(RIGHT(SUBSTITUTE(TRIM(Edited!A2)," ",REPT(" ",100)),100))
文の最後の文字列を取得し、
その=DATEVALUE()
文字列を datetime データに変換します。結果はコンピュータのロケール設定によって異なります。
さらに、列の書式を datetime に設定し、簡単にカスタマイズする必要があります (mm/dd/yyyy
またはdd/mm/yyyy
など)。
最後に日付文字列の長さがわかっていて、それが固定長である場合は、さらに簡単になります。
=DATEVALUE(RIGHT(TRIM(Edited!A2),8))