どうもマサヤです!
先日、会社でこのような相談を受けました。
日付別でグラフを作ろうと思ったら、日付が年と月と日が分かれてる!
え?本当だ・・・しかも数字の後ろに年とか、月とかついてる。
これ数字じゃなくて文字列になってますね。
そうなんだよ~
一つのセルに日付形式で入力したいんだけど、手入力はさすがに・・・
mMm君、いい方法ないかな~?
と、結構古いファイルだったのかわかりませんが
日付が年と月と日が分かれてて、しかも文字列といったデータでした。
でも、Excelなら大丈夫です!
たとえ文字列でも日付形式に変更する方法があります。
では、文字列の日付を日付形式にきっちり変更する方法をご紹介していきます!
【動画】文字列から日付形式に変更!DATEVALUEが強い味方に
では、早速動画でサクッと見てみましょう!
B3セルに入っているのは文字列の日付「2018年1月1日」です。
B3にある文字列日付を日付形式に変更するためにはDATEVALUE関数を使います。
B6セルに
=DATEVALUE(B3)
と入力すると日付形式になりました!
動画でもシリアル値になったことが確認できますね。
最後に表示形式を長い日付形式に変更すれば完成です!
いや、日付のセルが年と月と日で分かれてるって言ってるじゃない・・・
・・・この基本の後に説明しようと思ってました!
では、本題に移りましょう!
【動画】本題!文字列日付がセルで分かれている時の方法を紹介!
使う関数は変わらずDATEVALUEです。
違う点は&です。
&はセルとセルを連結させる機能を持ってます。
分かれているセルを&で連結させてから、DATEVALUEに適用させてます。
動画のE3セルに入力した式は以下のように解釈できます。
=DATEVALUE(B3 & C3 & D3)
↓
=DATEVALUE(2018年& 1月 & 1日)
↓
=DATEVALUE(2018年1月1日)
これでセルが分かれても日付形式に変更できるようになりました!
関数と&の組み合わせで実現できました。
組み合わせはExcelの強みでもあり、使いこなす重要なポイントでもあります。
本題はクリアできました。
他にも想定されるケースをいくつか紹介します!
年が和暦の文字列だった場合の対処法
先ほどの式のままで大丈夫です!
DATEVALUEが和暦であっても勝手に読み取ってくれます。
【動画】文字列と数字が混在していた場合の日付を変更する方法
ちょっとややこしいパターンですね。
まずは動画を見てみましょう。
D3の日付を文字列から数字に変えると#VALUEとなりエラーとなってます。
DATEVALUEは文字列を日付に変換する関数ですので当然ではあります。
では、どうするのか?
算数と同じですが、単位を合わせてあげることで問題が解決できます。
これで数字の20が文字列の20日になる。
旧) =DATEVALUE(B3 & C3 & D3)
新) =DATEVALUE(B3 & C3 & E3)
一気に全部やるのではなく、分解して考えることで対処ができます。
もちろん、2つに分解しているかつ、式も短いので以下のような式でも同じことができます。
=DATEVALUE(B3 & C3 & D3 & “日”)
Excelを触っていく中で分解して考えたほうが整理しやすいことが多々でてきます。
処理を分解して考える!これを意識するだけでサクッと解決できたりします。
まとめ
いかがでしたしょうか。
DATEVALUEを使うことで文字列の日付もサクッと日付形式に出来ます。
また、Excel全般に言えることですが
処理が難しそうだ!思ったら処理を分解して考えてみましょう。
日付形式にしたものは、後で値にして貼り付けなおして、
元々の文字列日付は削除するとスッキリします。
Excelでの日付は日付形式にするのが一番です。
1か月後の日を計算する等、日付形式で使える関数も多々あります。
文字列の日付にお悩みならお試しください!
コメント