COUNTIF関数で異なる文字(日本語)を同一の文字として数える、カウントされる事象があるそうです。
普段、意識したことがなかったので勉強になりました。
情報はマイクロソフトのコミュニティに情報がありました。
以下は質問の抜粋です。
COUNTIF関数で文字コードU+9FCC(鿌)からU+9FD5(鿕)までの10文字が同一の文字として数えられているように見受けられます。
B列には=COUNTIF(A:A,A1)を入力していますが、なぜか10になってしまいます。
理由が分からなくて困っています。
画像は抜粋です。
まず、Unicode 文字をより適切に処理できる SUMPRODUCT などの別の関数を使用するのが対策の一つだそうです。
考えられる回避策の 1 つは、Unicode 文字をより適切に処理できる SUMPRODUCT などの別の関数を使用することです。たとえば、次の数式を使用して、列 A の A1 に一致するセルの数をカウントできます。
=SUMPRODUCT(--(UNICODE(A:A)=UNICODE(A1)))
この数式は、列 A の各セルの Unicode 値を A1 の Unicode 値と比較し、一致する場合は 1 を返し、一致しない場合は 0 を返すことで機能します。次に、SUMPRODUCT 関数を使用して結果を合計します
'注: これはマイクロソフト以外の Web サイトです。ページは正確で安全な情報を提供しているようです。PUP(望ましくない可能性のある製品)として頻繁に分類される製品を宣伝する可能性のあるサイト上の広告に注意してください。ダウンロードしてインストールする前に、サイトで宣伝されている製品を徹底的に調査してください。
詳細情報: https://exceljet.net/formulas/count-cells-that-begin-with.
仕様だとすると回避が難しいですね。
Excelで文字(日本語)をどのように識別しているのかなど詳しいことは知りませんが、おそらくIMEの文字コードを使っているように思います。
確実なことは分かりませんが、質問の文字はIMEパッドでは表示されない文字のように思われます。
単なる推測ですが、「CJK統合漢字」などに該当して同一文字として扱われているのかもしれません。
また、下の一覧では[鿌:9FC0]・[鿕:9FD0]と異なっていますが、Excelでは一群の文字を同じ文字と扱っているのかもしれません。
わたしのPC(Windows)でも同じになりますし「A1」を文字列に変えても同じ結果になりますので、仕様としかいえないように思います。
必要とする人は少ないと思われるので実現可能性も低いと思いますが、マイクロソフトにフィードバックしておいてもいいかもしれません。
「参考」
COUNTIF関数で異なる文字を同一の文字として数えてしまいます
Anker PowerCore 10000 (10000mAh 大容量 モバイルバッテリー)【PSE技術基準適合/PowerIQ搭載】 iPhone&Android対応 (ブラック) |