Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Excel 2019)
フィルタ後で重複無しのデータ個数をカウント
投稿日時: 24/04/14 13:04:45
投稿者: tosy

A3,B3,C3にフィルタがあり、A3で抽出したときに、フィルタ後の重複無しのデータ個数を列ごとにA1,B1,C1に表示させたいので、下記の計算式を配列数式で入れてみたのですがうまくいきません。どなたかご教示のほどよろしくお願いいたします。
 
  =COUNT(INDEX(1/(SUBTOTAL(103,INDIRECT("W"&ROW(A10:A10145)*IF((MATCH(W10:W10145,W10:W10145,)=ROW(A1:A10145)),1,10000)))),))
 
  A B C
1 4 3 5 ←フィルタ前のカウント数(「あ」でフィルタを駆けるとB1,C1のカウントが合わず)
2
3 あ い う ←フィルタ行
4 a aa aaa
5 b bb bbb
6 c cc ccc
7 d aa ddd
8 a bb aaa
9 b cc bbb
10 c aa eee
 
 

投稿日時: 24/04/14 14:17:02
投稿者: tosy

計算式の参照セルが違っておりました。
 
=COUNT(INDEX(1/(SUBTOTAL(103,INDIRECT("A"&ROW(A4:A10)*IF((MATCH(A4:A10,A4:A10,)=ROW(A1:A10)),1,10000)))),))

回答
投稿日時: 24/04/14 14:54:25
投稿者: んなっと

もしもFILTER関数が使えるなら
 
A1
=COUNT(INDEX(0/FREQUENCY(FILTER(MATCH(A4:A10,A4:A10,0),SUBTOTAL(3,INDIRECT("A"&ROW(A4:A10)))),ROW(A4:A10)-ROW(A3)),))
右方向・→
 
だめなら
A1
=COUNT(0/FREQUENCY(IF(SUBTOTAL(3,INDIRECT("A"&ROW(A4:A10))),MATCH(A4:A10,A4:A10,0)),ROW(A4:A10)-ROW(A3)))
Ctrl+Shift+Enter 右方向・→

投稿日時: 24/04/14 18:29:34
投稿者: tosy

んなっと様
 
ご回答ありがとうございます。すごいです。計算されました。
 
これから中身を研究させていただきたいと思います。
 
重ねて御礼申し上げます。
 
 
           tosy