• 締切済み

(助けてください!!)エクセル2003について

エクセル2003について シート1に下記のような表があります。         A B 2012/04/01 3 5 2012/04/01 6 8 2012/04/02 9 5 2012/04/02 6 8 2012/05/01 6 8 2012/05/02 9 5 2012/06/02 6 8 月別の推移表を作りたいのですができなくて。。 日別の合計をだして、日別の推移表も作りたいのです。。 ピボットはダメって言われちゃいました。 切り貼りが面倒だと…… 全ての月の曜日別も出したいみたいで、 =text(weekday)で曜日は出せたのですが…… このデーターを入力すると自動で、グラフが出来るのが理想だそうです…… しかも、月別に……。 毎月、自動ででるようにしたいみたいで。 しかも、共有ファイルです…… 助けてください。

みんなの回答

回答No.3

>ピボットはダメって言われちゃいました。 >切り貼りが面倒だと…… 更新が面倒でないなら(マクロの記録で更新させるボタンを作ればよいだけだけど) =getpivotdata(データフィールド,ピボットテーブル,フィールド1,アイテム1,フィールド2,アイテム2,・・・) という関数が利用できるので、勉強されてはいかが?

mi11270906
質問者

お礼

ありがとうございます♪ getpivotdata・・・始めて聞きました!! そんな機能があるですね。。

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

例えばシート1のA2セルから下方に日付がB2セルから下方に数値が入力されているとします。 お求めの表をシート2に表示させることにしてA2セルから下方には月を表示させ、B2セルから下方には月別の合計を表示させることにします。 A2セルには例えば2012/4/1と入力し、A3セルには2012/5/1と入力します。その後にA2セルとA3セルを選択して下方にドラッグコピーします。A2セルから下方のセルを範囲として選択し、右クリックして「セルの書式設定」から「表示形式」の「ユーザー定義」で yyyy"年"mm"月" のように入力します。これでセルの表示が例えば2012年04月のように変わりますね。 その後にB2セルには次の式を入力して下方にドラッグコピーします。 =IF(A2="","",SUMPRODUCT((YEAR(Sheet1!A$1:A$500)=YEAR(A2))*(MONTH(Sheet1!A$1:A$500)=MONTH(A2))*Sheet1!B$1:B$500)) 次に例えば2012年の4月を日付ごとで集計する場合ですがD2セルには2012/4/1と入力してその月の末日まで下方にドラッグコピーします。 E2セルには次の式を入力して下方にドラッグコピーします。 =IF(D2="","",SUMPRODUCT((YEAR(Sheet1!A$1:A$500)=YEAR(D2))*((MONTH(Sheet1!A$1:A$500)=MONTH(D2))*(DAY(Sheet1!A$1:A$500)=DAY(D2))*Sheet1!B$1:B$500))) 次に曜日毎の集計ですが例えばG2セルに日、G3セルに月、G4セルに火、…と土曜日まで下方に並べます。 H2セルには次の式を入力して下方にドラッグコピーします。 =IF(ROW(A1)>7,"",SUMPRODUCT((WEEKDAY(Sheet1!A$1:A$500)=ROW(A1))*Sheet1!B$1:B$500))

mi11270906
質問者

お礼

ありがとうございます♪ 元にあるデーターベースから、グラフを作りたいみたいで……。 こんな低レベルの私には、重大すぎる業務です。。。

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

●準備 A列に日付 B列にAの数字 C列にBの数字 をそれぞれ並べます。 勿論1行目をタイトル行とし,2行目から実データにします。 D列に D2: =IF(A2="","",TEXT(A2,"aaa")) と記入し,リスト下端までコピー貼り付けます。 (あなたがご相談で書いた式は,よく見かける関数の間違いをしているので,気をつけてください) ●日集計 E1に「年月日」と記入 E2に =IF(MAX($E$1:E1)=MAX(A:A),"",SMALL(A:A,COUNTIF(A:A,"<="&E1)+1)) 以下コピー 日付の書式を付けておく F2に =IF(E2="","",SUMIF(A:A,E2,B:B)) G2に =IF(E2="","",SUMIF(A:A,E2,C:C)) 以下コピー ●月集計 H1に「年月」と記入 H2に =MIN(A:A)-DAY(MIN(A:A))+1 H3に =IF(MAX($H$1:H2)-DAY(MAX($H$1:H2))=MAX(A:A)-DAY(MAX(A:A)),"",DATE(YEAR(H2),MONTH(H2)+1,1)) 以下コピー H列にはセルの書式設定の表示形式のユーザー定義で yyyy年m月 を設定しておく I2に =IF(H2="","",SUMIF(A:A,">="&H2,B:B)-SUMIF(A:A,">"&DATE(YEAR(H2),MONTH(H2)+1,0),B:B)) J2に =IF(H2="","",SUMIF(A:A,">="&H2,C:C)-SUMIF(A:A,">"&DATE(YEAR(H2),MONTH(H2)+1,0),C:C)) 以下コピー。 ●曜日集計(全ての月の。この辺りからご説明が怪しい。) K1に「曜日」と記入 K2以下に日月火水木金土を列記 L2に =SUMIF(D:D,K2,B:B) M2に =SUMIF(D:D,K2,C:C) 以下コピー ヤリタイコトが違うなら,ホントはどうしたいのか別途ご相談を改めて投稿し直してください。 >グラフ,毎月 そこまでの説明でもうあっぷあっぷしてて,グラフでは何をしたいのか全然説明できてません。 まずココまで説明した内容を理解して,一回集計表をカンペキに作成できるようになってください。 その後改めて「どんなグラフを自動で描かせたい」のか,何に困っていてどこが出来てないのか,具体的に状況を添えて「別途」ご相談を投稿し直してください。

mi11270906
質問者

お礼

ありがとうございます♪ 丁寧に教えてくださったのに理解不能で…… 私の質問の仕方が分かりにくいのですね……。 もう一度、質問をまとめてみます!

関連するQ&A

専門家に質問してみよう