プロが教える店舗&オフィスのセキュリティ対策術

a列に
2016/03/15、2016/04/10 …
と入力されている時

b列に
20160315、20160410
と変換する方法を教えて下さい。

出来れば、最も簡素な関数でお願いします。

A 回答 (4件)

A列のデータ形式が何か、B列のデータ形式を何にしたいか(他の式や関数でどのように使いたいか)によって、方法が異なります。



■ A列のデータが日付形式(シリアル値)の場合

(方法1)
A列(日付)  B列(日付)  
2016/03/15 =A1 [注:セル書式を "yyyymmdd" に変更] ⇒ 日付の 20160315 (シリアル値 42,444)
2016/04/10 =A2 [注:セル書式を "yyyymmdd" に変更] ⇒ 日付の 20160410 (シリアル値 42,470)

(方法2)
A列(日付)  B列(文字)  
2016/03/15 =TEXT(A1,"yyyymmdd")  ⇒ 文字の 20160315 ( "20160315" )
2016/04/10 =TEXT(A2,"yyyymmdd")  ⇒ 文字の 20160410 ( "20160410" )

(方法3)
A列(日付)  B列(数値)  
2016/03/15 =TEXT(A1,"yyyymmdd")*1  ⇒ 数値の 20160315 ( 20,160,315 )
2016/04/10 =TEXT(A2,"yyyymmdd")*1  ⇒ 数値の 20160410 ( 20,160,410 )

(方法4)
A列(日付)  B列(数値)  
2016/03/15 =VALUE(TEXT(A1,"yyyymmdd") ⇒ 数値の 20160315 ( 20,160,315 )  
2016/04/10 =VALUE(TEXT(A2,"yyyymmdd") ⇒ 数値の 20160410 ( 20,160,315 ) 


■ A列のデータが文字形式の場合

(方法1)
A列(文字)  B列(日付)  
2016/03/15 =DATE(LEFT(A1,4),MID(A1,6,2),RIGHT(A1,2))
         [注:セル書式を "yyyymmdd" に変更] ⇒ 日付の 20160315 (シリアル値 42,444)
2016/04/10 =DATE(LEFT(A2,4),MID(A2,6,2),RIGHT(A2,2))
         [注:セル書式を "yyyymmdd" に変更] ⇒ 日付の 20160410 (シリアル値 42,470)

(方法2)
A列(日付)  B列(文字)  
2016/03/15 =LEFT(A1,4)&MID(A1,6,2)&RIGHT(A1,2)  ⇒ 文字の 20160315 ( "20160315" )
2016/04/10 =LEFT(A2,4)&MID(A2,6,2)&RIGHT(A2,2)  ⇒ 文字の 20160410 ( "20160410" )

(方法3)
A列(日付)  B列(数値)  
2016/03/15 =VALUE(SUBSTITUTE(A1,"/","")) ⇒ 数値の 20160315 ( 20,160,315 )  
2016/04/10 =VALUE(SUBSTITUTE(A2,"/","")) ⇒ 数値の 20160410 ( 20,160,315 ) 

(方法4)
A列(日付)  B列(数値)  
2016/03/15 =LEFT(A1,4)*10000+MID(A1,6,2)*100+RIGHT(A1,2)*1 ⇒ 数値の 20160315 ( 20,160,315 )
2016/04/10 =LEFT(A2,4)*10000+MID(A2,6,2)*100+RIGHT(A2,2)*1 ⇒ 数値の 20160410 ( 20,160,410 )
    • good
    • 1

こんにちは!



見た目だけであれば
No.2さんのセルの表示形式で操作するのが一番簡単だとおもいますが、
8桁の実データとして表示したいのでしょうか?
A1セル以降にデータがあるとします。

B1セルに
=YEAR(A1)*(10^4)+MONTH(A1)*(10^2)+DAY(A1)
という数式を入れフィルハンドルで下へコピーしてみてください。
(エラー処理はしていません)
    • good
    • 1

あ、見た目だけなら、B列も使わず、計算もしない方法もあります。

ま、ご要望とは違いますので、ご参考ていどに・・・。

セルの書式設定の「表示形式」で「ユーザー設定」のところに

yyyymmdd

と入れて「OK」します。
    • good
    • 1

VBAが何たるかをご存知ですか?(私は、「そんなものがある」という程度しか知りませんが・・・)



で、表題は無視して、関数(数式)でお答えします。(もっと簡潔な式があるかもしれませんが)

=TEXT(A2,"yyyy")&TEXT(A2,"mm")&TEXT(A2,"dd")

・・・ってな感じでどうでしょうか。
    • good
    • 1

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

このQ&Aを見た人はこんなQ&Aも見ています