5/31/2024

Excel。複数列のデータから、重複を除いた件数を手早く求めたい【overlapping】

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))

という数式で、重複を除いた件数を算出できたというわけです。