[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『可視セル内で一意の値の種類をカウントする』(Ma)
A列には「大分類」、B列には「小分類」が記載されています。
「大分類」列を特定の値でフィルタしたとき、「小分類」列に表示される項目数をカウントしたいのですが、
「小分類」列の中には重複する項目が含まれているため、一意の値のみ種類をカウントしたいです("重複の削除"した後のデータの個数を数えるイメージ)。
検索するとSUBTOTALやSUMPRODUCTを使用する方法が見つかるのですが、
自分の場合に当てはめられず・・
良い導き方はないでしょうか。
以下、例です。
A B 1 (空セル) (求めたい関数) 2 大分類 小分類 3 やさい だいこん 4 やさい にんじん 5 やさい だいこん 6 やさい なす 7 くだもの いちご 8 くだもの りんご 9 くだもの いちご
2行目を「やさい」でフィルタしたときはB1セルに"3"(だいこん、にんじん、なす)、
同じく「くだもの」でフィルタしたときは"2"(いちご、りんご)
を返す関数をB1セルに入力したいです。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
_|___A____|___B____|___C____|___D____|___E____ 1| | 5| | | 2|大分類 |小分類 | | | 3|やさい |だいこん| 1|だいこん| 1 4|やさい |にんじん| 1|にんじん| 1 5|やさい |だいこん| 1|だいこん| 2 6|やさい |なす | 1|なす | 1 7|くだもの|いちご | 1|いちご | 1 8|くだもの|りんご | 1|りんご | 1 9|くだもの|いちご | 1|いちご | 2
C3 =SUBTOTAL(3,B3) D3 =IF(C3,B3) E3 =IF(C3,COUNTIF(D$3:D3,D3))
B3 =COUNTIF(E:E,1)
これをC:E列を使わずイッパツで実現する方法... って事ですか。。。
(白茶) 2022/06/07(火) 21:10
=SUM((MATCH(IF(SUBTOTAL(3,INDIRECT("A"&ROW(3:9))),B3:B9,""),IF(SUBTOTAL(3,INDIRECT("A"&ROW(3:9))),B3:B9,""),0)=ROW(3:9)-2)*SUBTOTAL(3,INDIRECT("A"&ROW(3:9)))) と入力してShiftキーとCtrlキーを押しながらEnterキーで式を確定ではどうだろうか? (ねむねむ) 2022/06/07(火) 21:20
作業列を使ってもいいのなら 例)C列
C3 =IF(SUBTOTAL(3,A3),IF(COUNTIFS($A$3:A3,A3,$B$3:B3,B3)=1,1,""),"") 下コピー
B1 =COUNT(C:C)
実際、どんな値なのか知りませんけど 小分類の項目が複数の大分類に含まれることがないのなら 例)だいこんは「やさい」だけで「くだもの」にはない C3 =IF(SUBTOTAL(3,A3),IF(COUNTIF($B$3:B3,B3)=1,1,""),"")
B1 は同じ
■フィルターオプション(フィルターの詳細設定) 「重複するレコードは無視する」で抽出して SUBTOTAL でカウントでもいいかも
以上 (笑) 2022/06/07(火) 21:27
# かぶりましたが、そのまま。
(γ) 2022/06/07(火) 21:48
作業列を入れて大丈夫でしたので、一番最初に回答下さった方のやり方で解決しました。
わたしの知見が足りず、皆さまの回答を理解できていないところもあるのですが;;
大変助かりました、ありがとうございました。
(Ma) 2022/06/08(水) 20:54
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.