プロが教えるわが家の防犯対策術!

  | 1月  2月  3月 ~
------------------------
1日 | 10
2日 |     30   20  
3日 | 20
4日 |     30

といった カレンダー系の X軸 Y軸で 表をつくったのですが、ここから
1月1日 10
1月3日 20
2月2日 30
  ~

という表を別ワークシートに自動作成するにはどうすればいいでしょうか?
(逆に 表→ カレンダー)
関数で可能でしょうか。マクロや スクリプトを作成しないといけないでしょうか。
 また、この「カレンダー」から直接 グラフ (累計)を作成することは可能でしょうか。

 Excel2003を使用しております。どうかアドバイスいただければ幸いです。よろしくお願いいたします。

A 回答 (2件)

他の回答が出ていないのでその他の方法もついでに挙げておきます



カレンダーから表への参照
月がB1から横方向、日にちがA2から下方向に表示されている場合
=OFFSET($A$1,月数,日数)
で簡単に取得が可能、表の月日表示形式【1月1日】が日付のシリアル値なら
=OFFSET($A$1,MONTH(日付セル),DAY(日付セル))
で表示されます。

表からカレンダーは
=SUMPRODUCT((MONTH(日付範囲)=B$1)*(DAY(日付範囲)=$A2)*データ範囲)
で可能

一年の日付が全て表になっているのであれば
VLOOKUPなどでも抽出可能
=VLOOKUP(DATEVALUE(B$1&"/"&A$2),表,2)
=INDEX(データ範囲,MATCH(DATEVALUE(B$1&"/"&$A2),日付範囲,0))
※共に表に日付が無いとエラー
「Excel2003 カレンダー表 → 表」の回答画像2
    • good
    • 0
この回答へのお礼

こんばんは、さらなる実行方法と関数の紹介、本当にありがとうございます。
不勉強なので、OFFSET関数は 存在そのものも知らず、
こんな便利(でおそらく基礎的)な 行列関連の関数を教えていただき、感謝しております。

VLOOKUPというも他の質問でちょくちょくみかける関数ですが、
これもおさえておくとかなり便利みたいですね。一度しっかり勉強してみようと思います。

これで別件質問とあわせて
元データ入力シート(1) → 自動仕分け・項目統合シート(2) もう一つの質問作業 → (2)をベースにした カレンダー、グラフシート (3)作成 にかなり前進できた気がします。

添付画像も大変わかりやすい例示でした。また機会があれば是非ご教授いただければ幸いです。ありがとうございました。

お礼日時:2009/02/23 20:45

カレンダーから表へは


=SUMPRODUCT((カレンダー月行=検索月)*(カレンダー日列=検索日)*カレンダーデータ範囲)
という形式で

逆も同じ式の応用で可能です

表からカレンダーはピポットテーブルを利用した方が簡単かもしれませんね。

この回答への補足

はじめまして、早速 SUMPRODUCT関数 を検索して、テスト実行してみました。
ヒットさせたい2項目(月・日)を1でかえして、該当項目をかけるという考え方に感心しきりでした。

ただ、カレンダー→ 表 に おとす場合 、事前に
1月1日
1月2日
1月3日
1月4日 ~
と365日分 の行を作成しておかないといけない=空白行が間or末尾にはいるのでそこをどうしようかと思っているところです。
別件質問にもリンクしますが、現在進行形で カレンダーなり表の行データを追加しているシート(リスト化しております)です。

応用の以前の基礎的スキルもない身ですので、自分自身が何がしたくて、どこまで可能なのかの境界もよくわかっていないのですが、SUMPRODUCT関数とても参考になりました。本当にありがとうございました。

補足日時:2009/02/20 22:04
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!