文字列から日付を作りたい

文字列として入力された「2017.3.4」を日付(シリアル値)に変更して、自由に加工したい。そんなときは、left関数、Mid関数、right関数、find関数、len関数を使った文字列操作を覚えれば問題ない。

年度の取り出し方

これは左から4文字という規則性を利用する。

left(対象セル,4)の様に計算式を入力すればOKだ。取り出したのが文字列である場合はあるので×1をして、数値に変換しておくとそのあと利用しやすいだろう。

月の取り出し方

少しややこしい。mid関数で文字列を取り出すのだが、開始位置と終了位置の文字数を入力しなけれならない。この場合、月数が01、12月等と2桁の場合はやりやすい。開始位置は6、終了位置は8で計算するばOKだ。問題は、1月、12月と月によって桁数が異なる場合であるが、この場合は、発想を転換して、先頭から2番めのカンマの位置から最初のカンマの位置を差し引けば、月の桁数がわかる。

このため、Mid(文字列、6,find(“.”文字列,6))というような式になる。

日の取り出し方

最終文字(右)から1桁又は2桁を抽出することになる。ここで日の文字数は、全体の文字数から月の取り出し方で算出した2番めのピリオド位置を差し引けば良い。

全体の文字数を図るためにはlen(文字列)を使う。

このため計算式は、left(文字列、len(文字列)-fint(”.”,文字列,6))のようになる。

エクセルでは段階を追って計算式を入れておいたので参照してください。

計算式

関連記事