• ベストアンサー

Excel 月別の集計について

いつもお世話になります。 WinXP Pro  Office2003です。 シート1に Aセル     Bセル     Cセル 東京支店  担当者A  2004/8/1 仙台支店  担当者B  2004/9/1 広島支店  担当者C  2004/7/1 . . . このように並んでます。これを別シートに月別で抽出しているのですが現時点では =COUNTIF(sheet1!$A$5:$A$17,"東京")と関数を入力し、毎月セルの数字を手入力で書き換えてます。 例えばA5~A17までが7月だったら8月になった =COUNTIF(sheet1!$A$18:$A$1000,"東京")とし 9月になったときに8月の最終日に入力したセルに手入力で置き換えてます。一年間を通して1000件を超えることはないので処理をしている月は1000で切っています。いままでは自分ひとりでやっていたので毎月置換えで簡単に済ませていたのですが、転勤の都合で引き継ぎをしなければなりません。関数が全くわからないのでいじりたくないと断言され(先輩なんで勉強してくれとも言えない・・・・。)いじらなくてもいいように作っておくようにと言われました。 私の頭では過去ログやヘルプで理解できず、わかりやすくご指導頂けたらと思い質問されて頂きました。 どうぞよろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

関数で行うならSUMPRODUCTを使用してみては如何ですか? =SUMPRODUCT((sheet1!$A$2:$A$65535="東京支店")*(sheet1!$C$2:$C$65535>=DATE(2004,7,1))*(sheet1!$C$2:$C$65535<DATE(2004,8,1))) 上記で2004年7月の東京分がカウントできます。 A______B_____C_____D_____ ______東京支店_仙台支店_広島支店 2004/7/1 2004/8/1 2004/9/1 なら B2=SUMPRODUCT((sheet1!$A$2:$A$65535=B$1)*(sheet1!$C$2:$C$65535>=$A2)*(sheet1!$C$2:$C$65535<$A3)) で計算できます。 最後の行の次行A列に翌月1日の日付が必要です。 別の方法、「データ」「ピボットテーブル」で A、C列を行か列に設定B列をデータにしてセルの個数を表示させる。 C列は月でグループ化してください。 複数年度の場合はD列に=TEXT(C2,"yyyy/mm")として計算させてD列をC列の代わりにしてください。

makirabi
質問者

お礼

お忙しいところありがとうございました。 とりあえずはもう少しいいやり方がないか考えて見ます。場合によっては月別にファイルを分けてCOUNTIF関数で集計し、別ファイルにリンクを貼って更新しようかと思ってます。 私のスキルが足りないのも問題ですが「覚える気ゼロ」と断言されてしまうとなんとも(w_-; ウゥ・・ どうもありがとうございました。

makirabi
質問者

補足

回答ありがとうどざいます。 しかもご丁寧に書いて頂いて感激です。 「最後の行の次行A列に翌月1日の日付が必要です。」 ↑ この条件さえなければSUMPRODUCTで出来ることは過去ログで辿りつけたんですよ( ┰_┰) シクシク ピボットテーブルも考えたんですが更新がわからないとのこと。(;_q))

その他の回答 (1)

  • yonpras
  • ベストアンサー率14% (5/35)
回答No.1

ピボットテーブルですかね~。 DセルにCセルから自動で月を表示するようにしておいて、 AからDまでの範囲内のピボットテーブルを別シートに作成する。 作成するピボットテーブルは縦に月、横に支店名? でも良いですし、その逆でも。 データが更新されるごと及び月が変わるごとに ピボットテーブルの更新を行う。

makirabi
質問者

お礼

お忙しいところありがとうございました。 とりあえずはもう少しいいやり方がないか考えて見ます。場合によっては月別にファイルを分けてCOUNTIF関数で集計し、別ファイルにリンクを貼って更新しようかと思ってます。 私のスキルが足りないのも問題ですが「覚える気ゼロ」と断言されてしまうとなんとも(w_-; ウゥ・・ どうもありがとうございました。

関連するQ&A