指定した範囲内に複数の同じ値がある場合、最初のひとつだけ残すと同時に、同じ値がいくつあったのかカウントできますか?
「UNIQUE関数」と「COUNTIF関数」を組み合わせて実現できます。
Office 2021 以降の Excel で使える「UNIQUE関数」なら、指定範囲内に複数の同じ値がある場合、最初のひとつだけ残して、残りを削除してユニークな「一意の値」だけを並べて一覧表示できると紹介しました。
この記事で使った単純化した例は、「A1」から「A8」に 30、10、80、10、50、30、40、10 と値が並んでいる場合、「C1」に「UNIQUE関数」を使って
=UNIQUE(A1:A8)
と入力して
確定すると、「C1」から「C5」に 30、10、80、50、40 と表示される、というものです。
今回は、その表示された各値について、元はいくつあったのかカウントする方法を解説します。ここで使うのが「COUNTIF関数」です。
「COUNTIF関数」の構文は以下のようになります。
COUNTIF(範囲, 検索条件)
詳しくは用語解説しました。
そこで先ほど「C1」から「C5」に抽出された「30、10、80、50、40」が元の配列(A1:A8)の中にはそれぞれ「いくつあったか」をカウントする場合、
「D1」から「D5」にそれぞれ個別に
=COUNTIF(A1:A8,C1)
=COUNTIF(A1:A8,C2)
=COUNTIF(A1:A8,C3)
=COUNTIF(A1:A8,C4)
=COUNTIF(A1:A8,C5)
と入力することで「D1」から「D5」に
2、3、1、1、1
と表示されます。
つまり複数あった 30 は 2個、10 は 3個。その他は 1個ずつということが分かります。
個別に入力しなくても「D1」に
=COUNTIF(A$1:A$8,C1)
と入力して、「D1」の「オートフィルハンドル」を「D5」までドラッグすることでも
同じ結果となります。「D1」の「オートフィルハンドル」をダブルクリックもありです。
これくらいの数なら、どちらでもいいでしょう。
◆◇◆
ここで「スピル機能」を使えば「D1」に
=COUNTIF(A1:A8,C1:C5)
と入力するだけで「D1」から「D5」に
2、3、1、1、1
と表示されます。
ここで「#(スピル範囲演算子)」を使って
=COUNTIF(A1:A8,C1#)
と入力、計算しても同じ結果になります。
使いこなせてくると「スピル機能」は画期的だと体感できます。
理解を深めるための「パソコン用語解説」
記事の情報は公開時あるいは更新時のもので、最新情報はリンク先など情報元の公式ページでご確認ください。