8/20/2024

Excel。年月日が分かれいるセルから日付をつくるには、どうしたらいいの【date】

Excel。年月日が分かれいるセルから日付をつくるには、どうしたらいいの

<DATE+LEFT+LEN関数>

年月日がそれぞれのセルに入力されているのですが、次の表のように、数値の後ろに「年」や「月」「日」まで入力されてしまっています。

年月日が分かれいるセルから日付

D2に、DATE関数をつかって、日付をつくってみようとしますが、#VALUE!というエラーが表示されてしまいました。


D2には、

=DATE(A2,B2,C2)

という数式を設定しましたが、DATE関数の引数は、文字ではなく、数値でないといけないので、エラーが発生したというわけです。


では、どのようにしたら、よいのでしょうか。


ホームタブの置換をつかって、「年」「月」「日」を空白にしてもいいのですが、データが追加される場合には、そのたびに、置換作業が発生します。


そこで、DATE関数で日付をつくることができないのか、考えみることにします。


そもそも、「年」「月」「日」を除くことができたら、空白にすることができたら、いいわけです。


置換する関数である、SUBSTITUTE関数をつかってもいいのですが、あまり馴染みのない関数なので、今回は、もう少し身近なLEFT関数とLEN関数をつかって、日付を作っていきます。


D2の数式は、

=DATE(LEFT(A2,4),LEFT(B2,LEN(B2)-1),LEFT(C2,LEN(C2)-1))


これで、日付を求めることができました。


関数もわかりやすい、シンプルなLEFT関数とLEN関数だけで構成してあります。


LEFT関数は、左から指定した文字数を抽出する関数です。

LEN関数は、指定した文字が、何文字なのかを算出する関数です。


では、数式の説明をします。


DATE関数は、日付を作る関数です。

引数は、年と月と日 です。


最初の年ですが、2024年なので、左から4文字にすれば、年を除いた数値だけを抽出することができます。


2つ目の引数の月ですが、3月や10月というように、数値の部分が1桁、あるいは、2桁の場合があります。

そのため、単純に左から1文字と固定することができません。


そこで、LEN関数をつかって、セル内の文字数を算出します。

そして、その算出結果から「月」の1文字分を減らした数が、数値の部分になりますので、

LEFT(B2,LEN(B2)-1)


と設定することで、数値の部分を抽出することができます。


3つ目の引数の日ですが、これも、月と同じなので、

LEFT(C2,LEN(C2)-1)

とすることで、「日」を除いた数値をつくることができます。


これらの結果をDATE関数をつかうことで、日付をつくることができます。