• ベストアンサー

エクセルの日付の処理について

エクセルの日付の処理方法を教えて下さい。 VLOOKUPを使って、大量の日付の付いたデータを処理したいのですが、たとえば 一方は  2012/7/1 もう一方は 201207 (月単位のデータしかない、「日」の情報が無い文字列データ) だとします。 このふたつを同じものとして検索したい場合、どのように 201207 を加工したらよいのでしょうか? 201207 という文字列データをシリアル値に変更すればいいのかなと考えたのですが シリアル値に変更する方法がよくわかりませんでした。 よろしくお願いします。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

A1セルに201207と入力されているデータを7月1日のシリアル値とするのでしたら次の式でもよいでしょう。 =TEXT(A1,"0000!/00!/1")*1 又は =DATE(LEFT(A1,4),RIGHT(A1,2),1)

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんにちは! 質問とは逆の方法になってしまいますが シリアル値を別表の数値の検索値にしてみてはどうでしょうか? すなわち大量のシリアル値の方を 201207 のような数値にして それをVLOOKUP関数の検索値にする方法です。 とりあえずやり方だけ ↓の画像でB1セルに =IF(A1="","",VLOOKUP(YEAR(A1)*100+MONTH(A1),D:E,2,0)) という数式を入れオートフィルで下へコピーしています。 的外れならごめんなさいね。m(_ _)m

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

例えばA1セルから下方に2012/7/1のデータや201207のようなデータが並んでいるとしたらVLOOKUP関数で日付ごとのデータを取り出すことは意味のないような気がしますね。むしろ何年何月のデータということで整理した列を作るのが適当のようにも思いますね。その場合には201207のような数値に統一した数値を例えばB列に並べることにしてB1セルには次の式を入力して下方にドラッグコピーします。 =IF(A1="","",IF(A1>100000,A1,TEXT(A1,"yyyymm")*1))

関連するQ&A

専門家に質問してみよう