
こんばんは。お世話になります。
Excelで、データの種類数をかぞえたいのですが、いくつかのグループがあり、そのグループごとのデータの種類数をカウントしたいと考えています。
(データは数字のみ、空白もありますが、空白はデータ数として採用しない)
~データ~
A B
1 グループ データ
2 a 10
3 a 5
4 a
5 b 4
6 b 4
7 b
8 b
9 c ・
10 c ・
・ ・ ・
・ ・
・ ・
~集計(求めたい結果)~
グループ データの種類数
a 2
b 1
c ・
・ ・
・ ・
単純にB列のデータ種類を数えるには、
{=SUMPRODUCT(IF(B2:B・・・<>"",1/COUNTIF(B2:B・・・,B2:B・・・),0))}
でできるというところまでは分かったのですが、「グループ別に」というところでつまづいています。
なお、Excel2007です。
恐縮ですが、ご教示願います。
No.2ベストアンサー
- 回答日時:
例示のレイアウトで、D2セル以下にグループ名が入力されているなら、E2セルに以下の式を入力して下方向にオートフィルします。
=SUMPRODUCT(($A$2:$A$100=D2)*($B$2:$B$100<>"")*(MATCH($A$2:$A$100&$B$2:$B$100,$A$2:$A$100&$B$2:$B$100,)=ROW($A$2:$A$100)-1))
ありがとうございます。そのものずばり求めることができました。
PCの性能のせいか・・・30分くらいPCが考え込んでましたが(汗)
なんにしても求められたのでよかったです。
No.3
- 回答日時:
分かりやすくしかもデータの数が多くなってもSUMPRODUCT関数などのように範囲を指定する必要もなく、また、計算に負担のかからない方法です。
作業列をC、D,E列に用意します。勿論目障りでしたら列を非表示にすればよいでしょう。
1行目には項目名があるとして2行目から下方にデータがあるとします。
C2セルには次の式を入力します。
=IF(B2="","",A2&"/"&B2)
D2セルには次の式を入力します。
=IF(C2="","",IF(COUNTIF(C$2:C2,C2)=1,1,0))
E2セルには次の式を入力します。
=IF(B2="","",IF(COUNTIF(A$2:A2,A2)=1,MAX(E$1:E1)+1,""))
C2セルからE2セルを選択してそれらの式を下方にオートフィルドラッグします。
最後にお求めのグループ名とデータの種類ですがG2セルとH2セルから下の行に表示させることにして、G2セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。
=IF(ROW(A1)>MAX($E:$E),"",IF(COLUMN(A1)=1,INDEX($A:$A,MATCH(ROW(A1),$E:$E,0)),IF(COLUMN(A1)=2,SUMIF($A:$A,$G2,$D:$D),"")))
作業用列をつかったほうがわかりやすい場合もありそうですね・・・。
今後の参考にさせていただきたいと思います。
ありがとうございました。
No.1
- 回答日時:
こんばんは!
↓の画像のように作業用の列を3列使っているので参考にならなかったら読み流してください。
作業列1のC2セルは
=IF(COUNTIF($A$2:A2,A2)=1,ROW(),"")
作業列2のD2セルは
=A2&B2
作業列3のE2セルは
=IF(COUNTBLANK(A2:B2),"",COUNTIF($D$2:D2,D2))
という数式を入れ、B2~E2セルを範囲指定し、E2セルのフィルハンドルで下へオートフィルでずぃ~~~!っとコピーしています。
そして、G2セルに
=IF(COUNT(C:C)<ROW(A1),"",INDEX(A:A,SMALL(C:C,ROW(A1))))
H2セルに
=IF(G2="","",SUMPRODUCT(($A$2:$A$1000=G2)*($E$2:$E$1000=1)))
という数式を入れ、G2・H2セルを範囲指定しH2セルのフィルハンドルで下へコピーすると
画像のような感じになります。
この程度しか思いつきませんでした。
他に良い方法があればごめんなさいね。m(__)m

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの式がわかる方がおら...
-
Microsoft Officeを2台目のPCに...
-
Excelで〇のついたものを抽出し...
-
大学のレポート A4で1枚レポー...
-
Microsoft Formsの「個人情報や...
-
office2019 のoutlookは2025年1...
-
マイクロソフト オフィスのサポ...
-
Office2024インストール後の疑問点
-
パソコンを買い替える際、前の...
-
Excel 日付を比較したら、同じ...
-
outlookのメールが固まってしま...
-
Office 2021 Professional Plus...
-
別シートの年間行事表をカレン...
-
エクセルで質問です。 ハイパー...
-
以下マクロの処理を最終行まで...
-
エクセル 日付順に並べてかえた...
-
VBAファイルの保存先について
-
会社のOutlookにてメールを予約...
-
MicrosoftOfficeの1ユーザー2...
-
Office2021を別のPCにインスト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
大学のレポート A4で1枚レポー...
-
マイクロソフト オフィスのサポ...
-
Office2021を別のPCにインスト...
-
エクセル 日付順に並べてかえた...
-
outlookのメールが固まってしま...
-
Excelで〇のついたものを抽出し...
-
Microsoft Formsの「個人情報や...
-
マクロ自動コピペ 貼り付ける場...
-
Office2024インストール後の疑問点
-
office2019 のoutlookは2025年1...
-
エクセルで質問です。 ハイパー...
-
エクセル 同じ数字を他の列に自...
-
別シートの年間行事表をカレン...
-
【Excel VBA】PDFを作成して,...
-
Excel 日付を比較したら、同じ...
-
パソコンWindows11 Office2021...
-
Office 2021 Professional Plus...
-
エクセル:一定間隔で平均値を...
-
Teams内でショートカットって貼...
おすすめ情報