• ベストアンサー

Excelで日付のセルから月を取り出しその下に数字

VLOOKUPで使う検索値を月+数字で作りたいのですが、 データの日付が順番ばらばらの状態で上から5月の1つ目のデータは5-01、2つめは間に他の月があっても5-02と自動で作成することは可能でしょうか? 2007使用です。よろしくお願いいたします。 ID     日付 5-01  5/5 5-02  5/6 3-01  3/4 2-01  2/1 5-03  5/9 2-02  2/1 

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

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

パソコンに負担のかからない方法は分かり易い式を使うことです。 B2セルから下方に日付のデータが有るとしてA2セルには次の式を入力して下方にドラッグコピーします。 =IF(B2="","",MONTH(B2)&"-"&TEXT(RANK(B2,B:B,1)-COUNTIF(B:B,"<"&DATE(YEAR(B2),MONTH(B2),1))+COUNTIF(B$1:B1,B2),"00"))

panyasan
質問者

お礼

ありがとうございます。 検索しながら頑張りましたが自力ではできませんでした。 コピペして使わせていただいてます!問題なく希望どうりの結果! 計算がどうされているのか理解できていませんので、解読して勉強します。。 本当にありがとうございました。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

B列に日付として A2に =IF(B2="","",MONTH(B2)&TEXT(COUNTIFS($B$2:B2,">"&(B2-DAY(B2)),$B$2:B2,"<="&EOMONTH(B2,0)),"-00")) 以下コピー とかでいいです。

panyasan
質問者

お礼

ありがとうございます。 自力でできずダメもとで投稿しましたがこんなに早く解決するなんて感動です! コピペで希望していた通りの結果を返してくれました。 自分で作れないまでも式を理解できるように頑張ります! 本当にありがとうございました。深く感謝です!

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.1

IDがA列2行目以降、日付がB列2行目以降にあるとして、   A2セル:=MONTH(B2)&"-"&TEXT(SUMPRODUCT((MONTH(B2:$B$2)=MONTH(B2))*1),"00") これを必要分コピー(フィル)してやる感じでどうでしょう。 SUMPRODUCT関数は難しいですが便利です。 詳細は別途お調べ下さいませ。 ※年月で判断するなら   =TEXT(B2,"yymm")&"-"&TEXT(SUMPRODUCT((TEXT($B2:B$2,"yymm")=TEXT(B2,"yymm"))*1),"00")   (西暦下2桁を表示する場合)

panyasan
質問者

お礼

ありがとうございます。 初心者が、検索をしながら何回も自分で試行錯誤して数日、諦めました。 ダメもとだったのにこんなに早く解決するなんて! 残念ながらいただいた解答はそのままコピペして使えませんでしたが、どういった計算がされるのか、これからexcelの勉強のために解読します。 本当にありがとうございました。

関連するQ&A