Excel。日付から年月日をTEXTSPLIT関数で分割し抽出する方法
<TEXTSPLIT+TEXT関数>
日付から、年月日をそれぞれのセルに分割して抽出したい場合、年ならば、YEAR関数。
月ならば、MONTH関数。
日ならば、DAY関数とそれぞれ異なる関数をつかって抽出する必要がありました。
単純な関数ですが、関数が異なっているので、数式をつくるのは、面倒です。
そこで、決まった文字で文字列を分割することができる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関数は、セル内の文字を分割することができる関数なので、アイデアで色々使える可能性があります。