• ベストアンサー

文字列を日付で認識するには-2-

こんにちは。 Excel2000のことで先ほど質問をさせて頂きました。 "=20910"と入力しているデータを 日付として認識するための方法を教えていただきました。 ※その他にもデータは100件以上あります。 回答は、 =DATE(LEFT(A1,LEN(A1)-4)+2000,MID(A1,LEN(A1)-3,2),RIGHT(A1,2)) を頂きました。 結果、2000年代は正しい結果が得られたのですが、 1900年代の場合はどのようにすれば宜しいでしょうか? 991101、781011などの場合です。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

簡単にするならば =DATE(LEFT(A1,LEN(A1)-4)+1900,MID(A1,LEN(A1)-3,2),RIGHT(A1,2)) 混合している場合は、ちょっとややこしくなりますね。 =DATE(LEFT(A1,LEN(A1)-4)+1900+if(LEFT(A1,LEN(A1)-4)>04,100,0),MID(A1,LEN(A1)-3,2),RIGHT(A1,2)) とすればいいでしょう。

smi
質問者

お礼

回答ありがとうございます。 データは混合していますので、 2つ目の式を参考にさせていただきます。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 元ネタを出した者として、混合する方法をもう一案。 =DATE(LEFT(A1,LEN(A1)-4)+1900+100*(LEFT(A1,LEN(A1)-4)*1<30),MID(A1,LEN(A1)-3,2),RIGHT(A1,2)) なお、西暦2桁の何年を基準に2000年代と1900年代にするかという問題があります。 上式では30年未満を2000年代としました。 もし基準を変更したければ、上式の「30」のところを変えて下さい。

smi
質問者

お礼

1回目の回答に続き、2回目の回答までありがとうございます。 年代別の説明もありがとうございます。 さっそく利用させていただきます。

すると、全ての回答が全文表示されます。

関連するQ&A