重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

お世話になっております。

エクセルで、セルがA220307を2022/3/7に変換したいのですが。
それぞれの桁数をMID関数で2桁づつ抜き出して&と"/"でつなげばよいのですが、もう少しスマートな方法があるのではと思いご教示お願いします。

質問者からの補足コメント

  • うーん・・・

    早々のご回答ありがとうございます。

    文字列のA220307から書式設定で2022/03/07と表示させる式が分からないのですが。
    あまり日付をいじることが無いので。。。

    結局MID関数を使うことしか思いつかないレベルですので具体的な式を教えて頂ければありがたいのでですが。。。。

    No.1の回答に寄せられた補足コメントです。 補足日時:2022/03/08 11:52

A 回答 (8件)

こんにちは。



セルA1に、A220307があった場合、下記でどうでしょうか?

=TEXT(MID(A1,2,6),"00!/00!/00")*1
    • good
    • 2
この回答へのお礼

早々のご回答ありがとうございました。
うまく行きました。

>・・・・,"00!/00!/00")*1
こんな表記があるいのですね。

非常に参考になりました。

出来れば!と*1の意味を教えて頂けませんか?

お礼日時:2022/03/08 12:53

No.3の者です。



>出来れば!と*1の意味を教えて頂けませんか?
=TEXT(MID(A1,2,6),"00!/00!/00")*1
!の次の1文字を表示させています。 !/ で、/を表示させていますね。
*1がないと、”22/03/07"の文字になるだけで、*1と掛ける事で、
文字を日付に変換(計算?)しています。
    • good
    • 0
この回答へのお礼

ご丁寧な解説ありがとうございました。

この回答と合わせて#No3が非常に参考になりました。

お礼日時:2022/03/08 14:06

こんにちは



>2桁づつ抜き出して&と"/"でつなげば~~
やることは同じなので、スマートなのかどうかはわかりませんけれど・・

例えば、A1セルに「A220307」があるとして
・配列数式で
 =TEXTJOIN("/",,MID(A1,ROW(1:3)*2,2))
(365環境ならそのまま。その他環境ではCtrl+Shift+Enterで確定が必要)

・通常の計算式にするなら
 =TEXTJOIN("/",,INDEX(MID(A1,ROW(1:3)*2,2),))
とか。

※ 数が少ないので効果は殆どありませんね。ベタで書いても似た様なものですし、そちらの方が視認性は良いと思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

色んな方法があること参考になりました。

お礼日時:2022/03/08 14:08

ゴールがイマイチわからないですが、文字列から日付のシリアル値に変換すると言うことでしたら、下記のような式になると思います。



=DATEVALUE(TEXT(VALUE(MID(A1,2,2))+2000,"0000")&"/"&MID(A1,4,2)&"/"&MID(A1,6,2))

書式も関数で設定したいのでしたら、下記のような式になると思います。

=TEXT(DATEVALUE(TEXT(VALUE(MID(A1,2,2))+2000,"0000")&"/"&MID(A1,4,2)&"/"&MID(A1,6,2)),"yyyy/mm/dd")

なお、年数は2000年以降のみと仮定しています。
「エクセルで文字列から日付に変換したい」の回答画像6
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

色んな方法があること参考になりまし
た。

お礼日時:2022/03/08 14:08

他の方法という事であれば、自分なら文字列の右側6桁を切り出して、


 10000で割った余りを切り捨てて「年」
 10000で割った余りを100倍し、小数点以下を切り捨てて「月」
 100で割った余りを「日」
にするかな。
これらはRIGHT関数、INT関数、MOD関数の組み合わせです。

しかし ”見た目” や ”分かりやすさ” を考慮するなら質問者さんが考えていらっしゃる
MID関数で統一したやり方が良いと思います。
ということで、MID関数を使うのが一番スマートですよ。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

私のMID関数だけの式より複雑になったような( ´艸`)
色んな方法があること参考になりました。

お礼日時:2022/03/08 14:09

№3さんの式でできるかと思いますがMID以外だと



=TEXT(RIGHT(A1,6),"0!/00!/00")*1

とかでも。表示形式は日付にしてくださいね。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

右から読むか左から読むかの違いですね。
色んな方法がある事参考になりました。

お礼日時:2022/03/08 14:11

セルの書式を変更する

    • good
    • 0
この回答へのお礼

早々のご回答ありがとうございます。
当方書式設定は使うのですが、日付の扱いに慣れておらずご回答の具体的な式をご教示いただければありがたいのですが。

お礼日時:2022/03/08 11:54

変換したいセル選んで、上の



形式>セルの書式設定>表示形式>日付 で好きなの選べば?

もしくは、右クリック、セルの書式設定から 以下同じ
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!