例えば、りんご、みかん、りんご、ばなな、りんごの中で、果物の数を数えると5個ですが、果物の種類で数えると3個となります。つまり、重複を除いて数えています。
このように重複を除いた数をエクセルで数える方法として、下のページでは、COUNTIF関数とSUM関数を用いた方法をご紹介しました。
しかし、この方法だと、別で作業するためのセルが必要になります。
今回ご紹介する方法は、作業セルを使わず、1つのセルで、一発で、重複を除いた数を数える方法です。
スグにためセル! – ここを読めばすぐ使える
エクセルで重複を除いて数えるには、SUMPRODUCT関数とCOUNTIF関数を使って、次のとおり入力します。
=SUMPRODUCT(1/COUNTIF(データのセル範囲,データのセル範囲))
※ より詳しい解説はここから下に続きます。
実際にためセル!
それでは、今回も下の表を例として、重複を除いた数を数えてみましょう。
この表では、最初にも例示した、りんご、みかん、りんご、ばなな、りんごがB2セルからB6セルに順番に入力されていますね。
計算式を入力する
今回は、データのセル範囲はB2セルからB6セルとなりますので、C8セルに次のように入力します。
=SUMPRODUCT(1/COUNTIF(B2:B6,B2:B6))
すると、次のように一発で重複を除いた数が求まります。答えは3ですね。
SUMPRODUCT関数のように長い関数を入力するときは、次のテクニックで簡単に素早く入力することができますよ。
計算の仕組みを見てみよう
答えは求まりましたが、その仕組みを理解していないと使いこなすことはできません。
ということで、計算の仕組みを確認してみましょう。
その前に、前回ご紹介した方法も確認しておくと、より理解が深まりますよ。
今回、使っているSUMPRODUCT関数はあまり見慣れない関数かもしれませんが、この関数がポイントとなっています。
SUMPRODUCT関数は、カッコ内に入力した計算式の計算結果を合計する関数です。つまり、入力した計算式をいったん計算して、それを合計してくれます。
ここで、前回ご紹介した方法を思い出してみましょう。
前回の方法は、作業セルで一度計算し、それを合計しています。
それって、上で説明したSUMPRODUCT関数がやっていることと同じですよね。
作業セルで計算する代わりに、SUMPRODUCT関数が見えないところで計算してくれるということです。
ということで、SUMPRODUCT関数には、前回作業セルに入力した計算式を入力するのですが、COUNTIF関数の2つ目の引数だけ書き方が違ってきます。
作業セルの場合は、それぞれ隣のセルを入力していましたが、SUMPRODUCT関数では一発で計算するため、すべてのセルを入力します。つまり、B2:B6と入力します。
この結果、カッコ内に入力する計算式は「1/COUNTIF(B2:B6,B2:B6)」となるのです。
計算過程を見てみよう
上にも書いたとおり、この計算式は、前回の方法の作業セルでやっていることと全く同じことをやっています。
それを確認するために、計算過程を見ていきましょう。
COUNTIF関数の2つ目の引数は、本来であれば1つのセルしか指定できません。
今回、B2セルからB6セルが指定されていますが、これはSUMPRODUCT関数によって、順番に指定されることになります。
つまり、
1/COUNTIF(B2:B6,B2)・・・りんご
1/COUNTIF(B2:B6,B3)・・・みかん
1/COUNTIF(B2:B6,B4)・・・りんご
1/COUNTIF(B2:B6,B5)・・・ばなな
1/COUNTIF(B2:B6,B6)・・・りんご
と、順番に指定されるということです。ちなみに、COUNTIF関数の1つ目の引数は複数のセルを指定することができますので、B2:B6のままです。
そして、これを計算すると、それぞれ、0.3333…、1、0.3333…、1、0.3333…となり、SUMPRODUCT関数によってそれが合計されるので、答えは3となります。
このように見てみると、前回ご紹介した方法と全く同じことをやっているということがわかりますね。
まとめ
今回ご紹介した方法は、前回ご紹介した方法よりもスマートに重複を除いた数を数えることができます。
しかし、SUMPRODUCT関数というあまり使い慣れない関数を使うことになりますので、結構忘れられがちです。
作業セルを使ってもいいということであれば、前回ご紹介した方法も有効ですので、どちらを使っても問題はないかと思いますが、こちらの方法もぜひおタメしください。
以上、このページではエクセルで重複を除いた数を一発で数える方法をご紹介しました。