- 締切済み
表形式からカレンダー形式への変換
表形式からカレンダー形式への変換 下記の様な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キロ
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- KURUMITO
- ベストアンサー率42% (1835/4283)
例えばシート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日とだけ表示させることもできますね。
お礼
具体的且つ、明確な回答有難うございました。 初心者の自分でもとてもよくわかりました