• ベストアンサー

[再投稿]エクセルの集計表を作りたい

質問のカテゴリー誤りに気付き、大変失礼ながら前回の質問を締め切り再度同じ質問を投稿させていただきました(納期が近付いており、このような対応になり大変恐縮です)。前回の質問への回答、誠にありがとうございました。http://okwave.jp/qa/q7908203.html 質問は上記リンクと同様です。 A列…店舗名 B列…名前 C列…役職名 D列…保険加入有無 の表を加工して、店舗別・役職別、加入率の一 覧表を作成したいのですが上手く行きません。 どのような方法(関数やピポッド)で上記表は 作成できるのでしょうか。おわかりになれば、 ご教示下さい。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 一例です。 Excel2007以降のバージョンの場合です。 ↓の画像で下側がSheet2とします。 Sheet2のA列の店舗名と項目は入力済みだとします。 B3セルに =COUNTIFS(Sheet1!$A:$A,$A3,Sheet1!$C:$C,B$2) という数式を入れ隣のC3セルまでオートフィルでコピー D3セルに =COUNTIFS(Sheet1!$A:$A,$A3,Sheet1!$C:$C,D$2,Sheet1!$D:$D,"加入") として隣のE3セルまでオートフィルでコピー! F3セルは =B3-D3 でこれも隣のG3セルまでコピー! H3セル(%表示)は =IFERROR(D3/B3,0) でこれもI3セルまでコピー! 最後にB3~I3セルを範囲指定 → I3セルのフィルハンドルで下へコピーすると 画像のような感じになります。 尚、エラー処理はしていません。 ※ Excel2003以前のバージョンの場合は B3セルは =SUMPRODUCT((Sheet1!$A$1:$A$100=$A3)*(Sheet1!$C$1:$C$100=B$2)) D3セルは =SUMPRODUCT((Sheet1!$A$1:$A$100=$A3)*(Sheet1!$C$1:$C$100=D$2)*(Sheet1!$D$1:$D$100="加入")) F3セルはそのままでOK H3セルは =IF(B3=0,0,D3/B3) という数式になります。 オートフィルの操作方法は一緒です。 参考になりますかね?m(_ _)m

noname#193959
質問者

お礼

こんにちは。 お礼が遅くなり、誠に申し訳ありません。 いただいた回答通りに作業をさせていただいたところ、見事にまさしく私が欲しかった表が完成いたしました。感動です!ありがとうございます。お陰さまで納期に間に合いました。 実際操作いただいた画面をつけていただいたこと、2003と2007の操作方法を教えていただいたことに回答者さまの優しい人柄を感じました。また会社端末が2003、自宅の端末が2007なので両方の方法を教えていただき大変助かりました。素早いご回答、誠にありがとうございました。

その他の回答 (1)

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

ピボットテーブルを使って集計してみます。 添付図: 行に店舗と役職を配置 列に保健有無を配置 データ(Σ)に名前を配置、更に重ねて名前(2)を配置 名前(2)を右クリックして「値フィールドの設定」を開始、計算の種類を「行集計に対する比率」(エクセル2003では「行方向の比率」)に設定します。 添付図では「データの個数/名前」を「人数」と、また「データの個数/名前2」を「比率」とそれぞれ書き換えて、見やすくしています。 #ご利用のエクセルのバージョンに応じて、具体的な操作の説明が変わります。ご相談投稿では、普段あなたが使っているソフトのバージョンまでキチンと明記する事を憶えて下さい。 #関数を使って集計する場合 Excel2007以降を使っているなら、COUNTIFS関数で一発で数の集計が取れます。比率はそこから計算するだけですね。

noname#193959
質問者

お礼

回答いただきありがとうございます。 またお礼が遅くなり申し訳ありません。 No.1の方の回答を参考に操作したところ、無事に完成させることが出来ました。 keithin さんも丁寧な解説、ありがとうございました。 ぜひ教えていただいたことを今後、活用させていただきます。

関連するQ&A