< 言語バーに表示される IME の名称 | 「16 ビット MS-DOS サブシステム」メッセージ >

February 7, 2008

Excel で、範囲に含まれる値の種類数を取得する

Excel で、重複を排除した値の個数(要するに、値のバリエーション数)を取得したい場合がある。例えば以下でA列の値は何種類あるか
 ABC
17
23
34
43
これはこんな感じで取得できる。
{=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

コメント

コメントする

※ コメントスパム対策のため、コメント本文はおはよう、こんにちわ、こんばんわのいずれかより始めるようにしてください。

name:
email:

※ 必要ですが、表示しません。

url:
情報を保存する ?