Excel で、範囲に含まれる値の種類数を取得する
Excel で、重複を排除した値の個数(要するに、値のバリエーション数)を取得したい場合がある。例えば以下でA列の値は何種類あるか
これはこんな感じで取得できる。
A | B | C | |
---|---|---|---|
1 | 7 | ||
2 | 3 | ||
3 | 4 | ||
4 | 3 |
{=SUM(IF(FREQUENCY($A$1:$A$4, $A$1:$A$4)>0, 1, 0))}FREQUENCY は、1個目の配列の要素を2個目の配列でグループ化する関数で、戻されるのは2個目の配列要素でグループ化された1個目の配列中のデータ数。つまり上の例で行くと、
{4より大きく7以下の値の数; 3以下の値の数; 3より大きく4以下の値の数; 3以下の値の数; 7より大きい値の数}という配列になる。この時、2個目の配列要素にダブりがあると、ダブった要素に対する結果は2回目以降は0が戻される。上の例は3がダブっているので、戻される配列は
{1; 2; 1; 0; 0}となる。で、後は戻された配列について、0でないものの数を集計すると、前述の式になる。結果は3。
トラックバック
- このエントリーにトラックバック:
- http://frog.raindrop.jp/cgi-bin/mt/mt-tb.cgi/2016
コメント