• 締切済み

表形式からカレンダー形式への変換

表形式からカレンダー形式への変換 下記の様な1週間の走行距離を入力した表形式のデータがあります。 カレンダー形式の表に変換する方法を教えて下さい 入力データ 6月21日~6月27日 60キロ 6月28日~7月4日  40キロ 7月5日~7月11日 55キロ 7月12日~7月18日  7月19日~7月25日 35キロ 7月26日~8月1日  10キロ 8月2日~8月8日  25キロ 6月          21日   28日          60キロ  40キロ 7月 5日   12日   19日   26日 55キロ      35キロ  10キロ  8月 2日   9日   16日    23日 25キロ

みんなの回答

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

例えばシート1のA列に日付が入力され、B列にも日付が入力され、C列には1週間の走行距離が入力されているとします。 お示しのケースでしたらA2セルに6月21日(数式バー上では2010/6/21)、B2セルには6月27日(数式バー上では2010/6/27)、C2セルには60キロのように入力され、下方にデータが並んでいるとします。 そこでシート2にはカレンダー式の表を作るのですがすべての月表示や日付表示は、例えば6月の場合でしたら2010/6/1のように表示することにします。 A2セルから下方にデータを並べることにしてA2セルには次の式を入力してE2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(AND(MOD(ROW(A1)-1,4)+1=1,COLUMN(A1)=1),DATE(YEAR(MIN(Sheet1!$A:$A)),MONTH(MIN(Sheet1!$A:$A))+INT(ROW(A1)/4),1),IF(MOD(ROW(A1)-1,4)+1=2,IF(MONTH($A1-IF(WEEKDAY($A1)<=2,WEEKDAY($A1)-2,WEEKDAY($A1)-9)+COLUMN(A1)*7-7)<>MONTH($A1),"",$A1-IF(WEEKDAY($A1)<=2,WEEKDAY($A1)-2,WEEKDAY($A1)-9)+COLUMN(A1)*7-7),IF(OR(COUNTIF(Sheet1!$A:$A,A1)=0,A1=""),"",IF(AND(MOD(ROW(A1)-1,4)+1=3,A1>0),INDEX(Sheet1!$C:$C,MATCH(A1,Sheet1!$A:$A,0)),"")))) これで例えば6月でしたら月表示のセルA2セルには2010/6/1のように表示されます。これはセルの表示形式でユーザー定義で m"月" のようにすれば6月と表示させることもできます。 また、6月の最初の月曜日はA3セルに2010/6/7のように表示されます。これも日にちだけの表示にするのであればセルの表示形式でユーザー定義で d"日" のようにすれば 7日とだけ表示させることもできますね。

kita49
質問者

お礼

具体的且つ、明確な回答有難うございました。 初心者の自分でもとてもよくわかりました

関連するQ&A