2/25/2025

Excel。日付から年月日をTEXTSPLIT関数で分割し抽出する方法【date】

Excel。日付から年月日をTEXTSPLIT関数で分割し抽出する方法

<TEXTSPLIT+TEXT関数>

日付から、年月日をそれぞれのセルに分割して抽出したい場合、年ならば、YEAR関数。

月ならば、MONTH関数。

日ならば、DAY関数とそれぞれ異なる関数をつかって抽出する必要がありました。

日付から年月日をTEXTSPLIT関数で分割

単純な関数ですが、関数が異なっているので、数式をつくるのは、面倒です。


そこで、決まった文字で文字列を分割することができるTEXTSPLIT関数をつかうことで、一つの数式だけで、対応することができます。


B2にTEXTSPLIT関数で数式をつくってみます。


=TEXTSPLIT(A2,"/")

これだと、分割どころか、結果がシリアル値で表示されてしまっています。


原因は、日付はシリアル値。すなわち数値だからです。


TEXTSPLIT関数は、文字を分割する関数なので、数値は分割できません。

そこで、日付をTEXT関数で、文字化させます。


B2の数式を修正します。


=TEXTSPLIT(TEXT(A2,"yyyy/m/d"),"/")


A2の日付をTEXT関数で文字化しました。

TEXT関数は表示形式を設定することができる関数です。


これで、年月日に分割し、抽出することができました。


TEXTSPLIT関数は、スピル機能に対応した関数なので、行方向には、ゴーストが発生するのでオートフィルによるコピーは不要です。


あとは、列方向に、オートフィルで数式をコピーして完成です。


この方法だと、複数の関数をつかって、年月日を抽出する必要はありません。


ただ、抽出された数値は、左揃えになっています。


つまり文字になっています。


そこで、右揃えにするというのでも、いいのですが、文字型を数値型に戻すように数式を再度修正します。


=TEXTSPLIT(TEXT(A2,"yyyy/m/d"),"/")*1


先程の数式に「*1」をつけるだけで、文字型を数値型に変えることができます。


なお、B2は日付表示になってしまうので、表示形式を「標準」に戻す必要があります。


あとは、オートフィルで数式をコピーします。


TEXTSPLIT関数は、セル内の文字を分割することができる関数なので、アイデアで色々使える可能性があります。