Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 11 Pro : Microsoft 365)
文字列での日付を本来の日付に変更するには
投稿日時: 25/03/21 17:28:29
投稿者: えっくん

お世話になります。
左側のセルに以下のように日付が入っています。これを右側のような書式に変更したいのです。

A入力文字列     B最終文字列 月(C列) 日(D列) 年(E列)
1 9/1/2023    2003/09/01    09       ??    2003
2 9/20/2023   2003/09/20
3 9/7/2023    2003/09/07
4 1/5/2024       2004/01/05
5 10/5/2024      2004/10/05

 
月(C列)、日(D列)、年(E列)と別セルに分解してB列に「年/月/日」に合成すればいいと思います。
月については、
C1=(VALUE(LEFT(A1,FIND("/",A1)-1)) としてセルの書式をユーザー定義の種類を「00」と
することで、「1」は「10」、11は「11」と表示できるようになりました。
 
年については
E1==VALUE(RIGHT(A1,4))とすることで数字としての2023や2024になりました。
 
質問1)日の数式はどのようになるのでしょうか。
/2個の間の文字を抜き出すやり方がわかりません。
 
質問2)最終文字列は
B1=(E1&"/"&C1&"/"&D1)で良いと思っていましたが、C1セルが「01」と見えていても
「1」で表示されてしまいます。C1セルの見た目のまま「01」と表示させるには
どうすればいいのでしょうか。
 
 
もっと簡単にできる方法があれば教えてください。
休みに入ってしまうので、書込みが遅くなってしまいますがよろしくお願いします。
 
 
 
 
 

回答
投稿日時: 25/03/21 18:26:54
投稿者: sk

引用:
Microsoft 365

引用:
月(C列)、日(D列)、年(E列)と別セルに分解してB列に「年/月/日」に

1. B1 セルのユーザー定義表示形式を yyyy/mm/dd に設定する。
 
2. B1 セルに以下の数式を入力する。
 
--------------------------------------------------------------
 
=DATEVALUE(TEXTJOIN("/",FALSE,CHOOSECOLS(TEXTSPLIT(A1,"/",,FALSE),3,1,2)))
 
--------------------------------------------------------------
 
3. オートフィル機能を使用するなどして、B1 セルの数式をセル範囲 B2:B5 にコピーする。

回答
投稿日時: 25/03/21 18:51:07
投稿者: んなっと

こんなのも。
 
●日付データでいい場合
=1*(TEXTAFTER(A1,"/",2)&"/"&TEXTBEFORE(A1,"/",2))
表示形式 yyyy/mm/dd
 
●どうしても文字列データにしたい場合
=TEXT(TEXTAFTER(A1,"/",2)&"/"&TEXTBEFORE(A1,"/",2),"yyyy/mm/dd")

投稿日時: 25/03/24 13:55:00
投稿者: えっくん

skさん、んなっとさん
いつもありがとうございます。ご連絡遅くなりました。
 
無事所望の書式にすることができました。
ありがとうございました。