- ベストアンサー
エクセル2007で期毎に集計したい
- エクセル2007を使用して、1か月を3期に分けて作業金額や件数を集計する方法について教えてください。
- また、別シートに月ごとの一覧を表示し、種別ごとの集計もしたいです。
- 具体的なデータの例や表示方法についても教示いただけると助かります。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
1回のご相談投稿ではご質問内容は1つずつ、というのがこちらのような質問相談掲示板の常識です。 ましてや折角回答を寄せて下さった回答者に、2つ目3つ目の質問内容にも回答を強要するなど、とんだマナー違反です。という事を、よく覚えておいてください。 第3のご質問内容:リストまで出したい そんなこと、ご相談のどこにも書いてないよ?ってふつー言いたくもなりますよ。 マナー違反に目をつむって、やさしーく2つも答えておいたのにね。言わなきゃ「知らなかったんです―」でどこまでもつけあがりますか。みたいな。 さておき: 前述同様sheet1の5行目タイトル行6行以下ABCDEF列にデータが並んでいるとして。 2012年として シート2のA2セルに7月なら「7」と記入するとして あと、A列には日付の書式、 B列、D列とF列にはセルの書式設定の表示形式のユーザー定義で # と設定しておいてから。 シート2のA6に =IFERROR(INDEX(Sheet1!A:A,SMALL(IF(MONTH(Sheet1!$A$6:$A$999)=$A$2,ROW(Sheet1!$A$6:$A$999)),ROW(A1))),"") と記入し、必ずコントロールキーとシフトキーを押しながらEnterで入力。右にコピー、下にコピー。 数式を間違えると出来ないので、まず回答した通りに作成してチャンと出来ることを確認してから、改めてあなたの実際のエクセルに自力で正しくやり換えてください。
その他の回答 (3)
- keithin
- ベストアンサー率66% (5278/7941)
ホントはリストがA:F列に(1行目から)あって,抽出欄は別の列に並べた方が数式は簡単なんですが。 5行目に「発注日 発注先 種別 備考 金額 担当者」が並んでいて。 6行目以下にリストの実データとします。 あと。 指定がありませんので簡単のため2012年のお話をしているとして。 簡単のためA1セルに7月なら「7」と 簡単のためB1セルに1期なら「1」と それぞれ記入する事にして。(ご質問に書かれたように「7月1期」とどうしても記入したければ,適宜応用してください) C1セルには =IF(COUNT(A1:B1)=2,SUMIFS(E6:E999,A6:A999,">="&DATE(2012,A1,CHOOSE(B1,1,11,21)),A6:A999,"<"&DATE(2012,A1+(B1=3),CHOOSE(B1,11,21,0))),"") と記入します。 同様に。 2012年として A2セルに7月なら「7」と記入するとして 2012年該当月の1種,2種,3種の集計は =IF(A2="","",SUMIFS(E6:E999,A6:A999,">="&DATE(2012,A2,1),A6:A999,"<"&DATE(2012,A2+1,0),C6:C999,1)) =IF(A2="","",SUMIFS(E6:E999,A6:A999,">="&DATE(2012,A2,1),A6:A999,"<"&DATE(2012,A2+1,0),C6:C999,2)) =IF(A2="","",SUMIFS(E6:E999,A6:A999,">="&DATE(2012,A2,1),A6:A999,"<"&DATE(2012,A2+1,0),C6:C999,3)) などのように計算できます。 更に1期2期3期の仕分けも重ね合わせたいときは,最初の数式の手法を適宜応用し組み合わせてください。
お礼
私はとんでもないルール違反を犯しているようです。 大変申し訳ありませんでした。 ありがとうございました。
補足
これはこれで完璧でまさにこれをやりたかったことです。が、2つ目の質問の書き方が悪かったようです。再度もうしあげますと、種別の合計は別シートで集計し、しかも「7」月と入力したら、シート1でずらずら打ち込んであるデータから7月だけを抽出してシート2に表示させたいのです。ピポットテーブル?は使いたくありません。
- rabits1975
- ベストアンサー率36% (9/25)
G列 H列 I列 K列を追加し、下記のような数式を入れます。 G列・・・=MONTH(A5) H列・・・=IF(C5=1,E5,0) I列・・・=IF(C5=2,E5,0) K列・・・=IF(C5=3,E5,0) ※2行目の場合の数式です。 7月と入力するフィールドはフィールドの設定で「月」が追加されるようにしてください。 (値としては7のみにする必要があります。) ※このフィールドをA1に作成したと仮定します。 種別1の金額欄には下記の数式を入れます。 =SUMIF(G:K,A1,H:H) 種別2の金額欄には下記の数式を入れます。 =SUMIF(G:K,A1,I:I) 種別1の金額欄には下記の数式を入れます。 =SUMIF(G:K,A1,K:K) たぶんいけると思います。 マクロ使えばもっと簡単ですが、恐らくマクロのが難易度高いかと思ったので数式で組んでみました。 実際に動かしていないので、間違い等はあるかもしれませんが、間違い等あればご修正頂ければと存じます。
補足
すみません。質問が2つありまして、御回答頂いたのは2つ目でこれはこれで、OKなのですが、先記した質問へのご教示も頂けたらと思います。
- aokii
- ベストアンサー率23% (5210/22063)
以下の式で、G列に月、H列に期を表示して、ピボットテーブルを使ってみて下さい。 G1セルに、 =MONTH(A2)&"月" H1セルに、 =MIN(INT(DAY(A2)/10)+1,3)&"期" ピボットテーブルで、 行ラベル:月 列ラベル:期 Σ値:金額 また、例えば、7月2期だけ表示するなら、ピボットテーブルのフィルタ機能(ラベルの右の▽マーク)を使ってみて下さい。
補足
早速のご回答に感謝します。 エクセルで作成した後グーグルドキュメント?にアップして使用するらしく、ピポットテーブル?は避けたいです。
お礼
とんだルール違反で大変申し訳ありませんでした。 ありがとうございました。