Excelで下記のような形式の文字列をうまく変換したいのですが、ご教示いただけないでしょうか?


変換前:YYYYMMDDHHMMSS

変換後:YYYY/MM/DD/HH:MM:SS

のように任意の文字列を桁数指定で挟み込みたいのです。

Left関数やRigth関数ですと端っこからしか数えられませんし・・・

ぜひよろしくお願いいたします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/07/02 10:20:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答5件)

id:ootatmt No.1

回答回数1307ベストアンサー獲得回数65

ポイント20pt

MID関数を使えばいいのではないですか。

こんな感じです。

=MID(A1,1,4)&"/"&MID(A1,5,2)&"/"&MID(A1,7,2)&"/"&MID(A1,9,2)&":"&MID(A1,11,2)&":"&MID(A1,13,2)

id:taknt No.2

回答回数13539ベストアンサー獲得回数1198

ポイント20pt

=LEFT(A1,4) & "/" & MID(A1,5,2) & "/" & MID(A1,7,2) & "/" &MID(A1,9,2) & ":" &MID(A1,11,2) & ":" & RIGHT(A1,2)

中の場合は、 midを使います。

id:Afrodita No.3

回答回数101ベストアンサー獲得回数8

ポイント20pt

右クリックのセルの書式変換なら、

日付指定またはユーザ定義で

####"/"##"/"##"/"##":"##":"##

でもできますが・・・・

変換関数をお望みですか?

id:rikuzai No.4

回答回数1366ベストアンサー獲得回数141

ポイント20pt

1~3までの回答者さんの方法で表示はもちろん可能なのですが、

後々日付データとして利用する必要があるならば、

下記の方法でシリアル値に変換してからユーザー書式で表示すると言う形になると思います。


=DATE(LEFT(A1,4),MID(A1,5,2),MID(A1,7,2))+TIME(MID(A1,9,2),MID(A1,11,2),MID(A1,13,2))


↑を入力した上で、このセルの書式をユーザー書式で

yyyy/mm/dd/hh:mm:ss

と設定してください。

id:Baku7770 No.5

回答回数2832ベストアンサー獲得回数181

ポイント20pt

 皆さん文字型のデータだと言うことをお忘れですね。

 #a1~#a2の手法同様"2007/06/28"と"07:00"のデータを作って、

=VALUE("2007/06/28",0)+value("07:00")

で求められるでしょうし、#a4の手法なら

left,mid両関数をvalue関数で数値に変換すればいいでしょう。

  • id:z-1
    ご参考。

    元が文字列なら上記でOK。

    元がシリアル値なら year()&"/"&month()&~ などとする。
    (桁合わせは right("0"&month(),2) などで)。
  • id:rikuzai
    >Baku7770さん
    数値とシリアル値は別物ですよね。
    私の方法は文字列をシリアル値変換して、書式で見せ方を変えるもので、
    数値に変換する必要はないのです。
  • id:Baku7770
    rikuzaiさん
     
     ご指摘感謝。確認のために打ち込んでおいたデータが間違っていた(秒の値が無かった)ValueERRORが出たのが引数が文字型のせいだと思っていました。
     申し訳ございません。
  • id:rikuzai
    >Baku7770さん
    了解です。
    よくあることです(*^_^*)お気になさらず。
    (私もよくやります)

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません