%20%E9%96%A2%E6%95%B0%E3%81%A8%E5%8B%95%E7%9A%84%E9%85%8D%E5%88%97%E6%95%B0%E5%BC%8F%E3%81%AE%E7%95%B0%E5%B8%B8%E3%81%AA%E7%99%96.png)
最近、約 150,000 行のデータがあり、そのうち約 100,000 行の列 E に一意の値がありました。列は次のようになりました。
Column Heading
1
2
2
3
...
99999
99999
100000
一意の行をカウントしようとしたところ、COUNT(UNIQUE(E:E))-1
「-1」という出力が返されました。しかし、幸運な偶然により、COUNT(UNIQUE(E:E)+0)-1
期待していた「100000」という出力が得られました。動的配列数式をほとんど使用しないので、これがなぜ違いを生むのかを知りたいと思いました。
COUNTIFS/SUMIFS では時々問題が発生することがあるため、列全体を使用したことが違いの原因である可能性があると考えましたが、それでもCOUNT(UNIQUE(E1:E150001))-1
「-1」が生成され、COUNT(UNIQUE(E1:E150001)+0)-1
依然として「100000」が生成されます。
誰かこの動作を説明していただけませんか? COUNT() 関数内の「+0」はどのようにして私の問題を「解決」するのでしょうか? 「+0」の目的は何ですか?
手伝ってくれてどうもありがとう!
答え1
列 E のデータはおそらくテキストとして保存されています。COUNT 関数は数値のみをカウントするため、0 を返します。
0 を追加すると、Excel はそれを各値に「追加」し、さらに数値に変換するため、COUNT は正しい結果を返します。
COUNTA を使用して正しい結果を得ることもできます。または、まずデータが正しい形式で保存されていることを確認することもできます。