OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

EXCELで関数だけの集計を行いたい。

  • 暇なときにでも
  • 質問No.179241
  • 閲覧数53
  • ありがとう数3
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 55% (54/97)

こんにちは。
エクセル(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に日付でグループ化して
データ件数を集計したいのですが関数で行おうとするとかなり難し
そうですが、うまい関数を使えば出来そうな気もします。
実現可能でしょうか?
よろしくお願いします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル8

ベストアンサー率 50% (11/22)

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)

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

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





  
 
お礼コメント
marokun

お礼率 55% (54/97)

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

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

その他の回答 (全2件)

  • 回答No.1
レベル14

ベストアンサー率 54% (1069/1958)

Excel97から「データ」-「ピボットテーブル」が使えます。 Excel97とExcel2000では、若干操作が異なりますが、Excel2000では、 日付を「行のフィールド」に、内容を「データアイテム」にすれば、ご希望のようになると思います。 ...続きを読む
Excel97から「データ」-「ピボットテーブル」が使えます。

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

日付を「行のフィールド」に、内容を「データアイテム」にすれば、ご希望のようになると思います。
お礼コメント
marokun

お礼率 55% (54/97)

お答えありがとうございます。
やはり関数だけでは難しそうですね。
ピポットテーブルを使うことになりそうです。
ありがとうございました。
投稿日時 - 2001-12-04 22:57:03

  • 回答No.2
レベル13

ベストアンサー率 68% (791/1163)

シート2(Sheet2)に件数計をだすならシート2のB2に  =COUNTIF(Sheet1!$A$2:$A$13,"="&Sheet2!A2) として、B3、B4にコピーします。 別法ですが、シート1のB2辺りを選択した状態で、データ→ピボットテーブル・・・ でウイザードに従って進んでいき、レイアウトで、行に『日付』をドラッグ&ドロップ、データに日付をドロッ ...続きを読む
シート2(Sheet2)に件数計をだすならシート2のB2に

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

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

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

お礼率 55% (54/97)

お答えありがとうございます。
範囲選択などの動作が煩雑になるので、
日付でのグループ化件数カウントをしたかったのですが
関数だけでは無理でした。
ありがとうございました。
投稿日時 - 2001-12-04 22:59:22
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ