プロが教える店舗&オフィスのセキュリティ対策術

こんにちは。
エクセル(VER97以上)の関数のみを使用して(マクロを使わず)
以下のような集計を実現したいのですが可能でしょうか?

シート1
AB
1日付内容
22001.11.27データ1
32001.11.27データ2
42001.11.27データ3
52001.12.03データ1
62001.12.03データ2
72001.12.03データ3
82001.12.15データ1
92001.12.15データ2
102001.12.15データ3
112001.12.15データ4
122001.12.15データ5
132001.12.15データ6

シート2
1日付件数
22001.11.273
32001.12.033
42001.12.156
5総合計12
(Tab区切りデータです)
シート1に入力した日付データをシート2に日付でグループ化して
データ件数を集計したいのですが関数で行おうとするとかなり難し
そうですが、うまい関数を使えば出来そうな気もします。
実現可能でしょうか?
よろしくお願いします。

A 回答 (3件)

1番の方のピボットテーブルが変更も簡単に反映できるのでいいのではと思われます。



どうしても関数を使ってカウントを取ることが必要ならこんなのはどうでしょう!
(もしや質問を勘違いしてとんちんかんな回答だったらごめんなさい)

最初にちょっとだけ手間がかかるかもしれませんが・・・

データが具体的にどんなものか分かりませんので簡単な例を使わせていただきます。
   A   B   C
1 12/5   花  1000
2 12/3   雪  1500
3 12/5   太陽  1200
4 12/3   秋   200
5 12/5   青  5000  以上 シート1

   A   B   C
1 12/3   3  7200
2 12/5   2  1700  以上 シート2
       ↑   ↑
      件数  合計

この場合簡単な関数を使うとするとB列は文字列なのでCOUNTAでC列はSUM。
(B列が数字ならCOUNTで!)
質問にグループ化とあったので範囲に名前をつけてグループ化を使ってみます。

まずデータ=フィルタ=オートフィルタでA列の日付で12/3を選び表示させます。
表示されたB列のデータを範囲選択します。
F5キーでジャンプのダイアログボックスを呼び出し
  「セルの選択」から「可視セル」を選びチェックを入れます
 (通常は見えてないセルも選択範囲に含まれ
   例えばコピーした時見えてないセルまでコピーされてしまうので
   見えてるセルだけ有効しする設定をここでします)
次に名前ボックスで任意の項目名を入力します(例えば12月3日Bとか)
これで名前がつきました。
同じようにC列も例えば12月3日Cとかって名前をつけてあげます。

12/5も同じようにフィルタで表示させ名前をつけます。

シート2 のB1には =COUNTA('シート1'!12月3日B)  
    B2には =COUNTA('シート1'!12月5日B)
    C1には =SUM('シート1'!12月3日C)  
    C2には =SUM('シート1'!12月5日C)

データ内容により関数が変わってくるかもしれないですが
名前をつけて式を作ると割と便利なのではと思います。

簡単な関数で名前を使って件数を数えたり
合計したりとかできると思うのですがいかがなものでしょう?!





  
 
    • good
    • 0
この回答へのお礼

お答えありがとうございました。
お教え頂いたような手順をすべて関数で内装するようなイメージで
考えていたのですが、無理でした。(^_^;)
結局、ピポットテーブルを使用して自動集計して、再計算のため
フォームボタンにピポットテーブルの再計算マクロを貼り付ける
ことにしました。出来ればマクロは使いたくなかったのですが。
おかげで、考えていたとおりの集計を実現できました。
ありがとうございました。

関数で実装しようとしたら、if文のネストは7階層までだし、関数の
長さも画面半分にもなると長すぎるって言われますし、エクセルの
関数ってあまり使えませんね。個人的見解ですが...

お礼日時:2001/12/04 23:06

シート2(Sheet2)に件数計をだすならシート2のB2に



 =COUNTIF(Sheet1!$A$2:$A$13,"="&Sheet2!A2)

として、B3、B4にコピーします。

別法ですが、シート1のB2辺りを選択した状態で、データ→ピボットテーブル・・・ でウイザードに従って進んでいき、レイアウトで、行に『日付』をドラッグ&ドロップ、データに日付をドロップして『データの個数:日付』にすれば集計表ができます。(Excel2000です)
    • good
    • 0
この回答へのお礼

お答えありがとうございます。
範囲選択などの動作が煩雑になるので、
日付でのグループ化件数カウントをしたかったのですが
関数だけでは無理でした。
ありがとうございました。

お礼日時:2001/12/04 22:59

Excel97から「データ」-「ピボットテーブル」が使えます。



Excel97とExcel2000では、若干操作が異なりますが、Excel2000では、

日付を「行のフィールド」に、内容を「データアイテム」にすれば、ご希望のようになると思います。
    • good
    • 0
この回答へのお礼

お答えありがとうございます。
やはり関数だけでは難しそうですね。
ピポットテーブルを使うことになりそうです。
ありがとうございました。

お礼日時:2001/12/04 22:57

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