Excel。複数列のデータから、重複を除いた件数を手早く求めたい
<SUM+COUNTIF関数>
重複を除いた件数を算出する方法は色々あります。
今回は、複数列にあるデータから重複を除いた件数を手早く算出するには、どのようにしたらいいのでしょうか。
B2の入力されている「箱根」は、4つありますが、これを1として数えたいわけです。
つまり、重複されているものは1件として数えるわけです。
「重複を除く」という条件で数えたいわけですから、COUNTIF関数をつかうわけですが、COUNTIF関数だけは対応することができません。
そこで、D8には、次の数式をつくってみました。
=SUM(1/COUNTIF(B2:D6,B2:D6))
これで、8件と算出することができました。
数式の仕組みを確認します。
SUM関数は、いいとして、COUNTIF関数の動きがどのようになっているのか確認します。
F1を起点として、先程の表をコピーしました。
G2に、
=COUNTIF(B2:D6,B2:D6)
とSUM関数内のCOUNTIF関数の数式部分を抽出した結果を算出してみました。
箱根は4件あるということがわかります。
1のところは、1件しかないというわけです。
続いて、数式を修正します。
=1/COUNTIF(B2:D6,B2:D6)
算出された数値を全部合算することで、8と算出されるという仕組みです。
先程、4と数えられたものを1としたいわけです。
なので、1/4とすれば0.25となります。
0.25が4つあるので、1とすることができるという数式をつくってみたというわけです。
そのため、
=SUM(1/COUNTIF(B2:D6,B2:D6))
という数式で、重複を除いた件数を算出できたというわけです。