変換前:YYYYMMDDHHMMSS
変換後:YYYY/MM/DD/HH:MM:SS
のように任意の文字列を桁数指定で挟み込みたいのです。
Left関数やRigth関数ですと端っこからしか数えられませんし・・・
ぜひよろしくお願いいたします。
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)
=LEFT(A1,4) & "/" & MID(A1,5,2) & "/" & MID(A1,7,2) & "/" &MID(A1,9,2) & ":" &MID(A1,11,2) & ":" & RIGHT(A1,2)
中の場合は、 midを使います。
右クリックのセルの書式変換なら、
日付指定またはユーザ定義で
####"/"##"/"##"/"##":"##":"##
でもできますが・・・・
変換関数をお望みですか?
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
と設定してください。
皆さん文字型のデータだと言うことをお忘れですね。
#a1~#a2の手法同様"2007/06/28"と"07:00"のデータを作って、
=VALUE("2007/06/28",0)+value("07:00")
で求められるでしょうし、#a4の手法なら
left,mid両関数をvalue関数で数値に変換すればいいでしょう。
コメント(4件)
元が文字列なら上記でOK。
元がシリアル値なら year()&"/"&month()&~ などとする。
(桁合わせは right("0"&month(),2) などで)。
数値とシリアル値は別物ですよね。
私の方法は文字列をシリアル値変換して、書式で見せ方を変えるもので、
数値に変換する必要はないのです。
ご指摘感謝。確認のために打ち込んでおいたデータが間違っていた(秒の値が無かった)ValueERRORが出たのが引数が文字型のせいだと思っていました。
申し訳ございません。
了解です。
よくあることです(*^_^*)お気になさらず。
(私もよくやります)