COUNTIF関数で文字コードU+9FCC(鿌)からU+9FD5(鿕)までの10文字が同一の文字として数えられているように見受けられます。
B列には=COUNTIF(A:A,A1)を入力していますが、なぜか10になってしまいます。
理由が分からなくて困っています。
2024年6月11日
他のユーザーさまにもスレッドの内容が分かりやすくなるよう、返信の際には重複した内容の投稿はされないようお願いします。
ご質問の問題が解決した場合には、スレッド内でその旨を報告いただけると幸いです。同じ問題でコミュニティを訪れる他のユーザーさまにも、同様の解決法が役立つかもしれません。
2024年3月22日
COUNTIF関数で文字コードU+9FCC(鿌)からU+9FD5(鿕)までの10文字が同一の文字として数えられているように見受けられます。
B列には=COUNTIF(A:A,A1)を入力していますが、なぜか10になってしまいます。
理由が分からなくて困っています。
報告されたコンテンツが送信されました
こんにちは、私の名前はアジボラです、そして私は今日あなたを助けることに興奮しています!
考えられる回避策の 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.
ご不明な点がある場合、または追加のサポートが必要な場合は、お気軽にお問い合わせください。私は助けるためにここにいます!
コミュニティに還元する。この返信で問題が解決したかどうかを示すことで、この問題について次の人を助けます。下の [はい] または [いいえ] をクリックします。
敬具
この回答は自動翻訳されています。文法や表現の誤りが発生した場合はご容赦ください。
報告されたコンテンツが送信されました
この回答が役に立ちましたか?
お役に立てず、申し訳ございません。
素晴らしい! フィードバックをありがとうございました。
この回答にどの程度満足ですか?
フィードバックをありがとうございました。おかげで、サイトの改善に役立ちます。
この回答にどの程度満足ですか?
フィードバックをありがとうございました。
ご回答ありがとうございました。
SUMPRODUCTを使う発想はなかったので、とても参考になりました。
ただ、この質問については、今回発生している症状が既知の問題で何か解決の方法があるのか、
あるいは、新規の問題なのか、その辺りについての情報も分かればと思って投稿いたしました。
別方法での解決策ではなく、この問題そのものについての情報を知りたいという思いもありますので、
解決ではなく、継続させていただきたいと思っています。
報告されたコンテンツが送信されました
この回答が役に立ちましたか?
お役に立てず、申し訳ございません。
素晴らしい! フィードバックをありがとうございました。
この回答にどの程度満足ですか?
フィードバックをありがとうございました。おかげで、サイトの改善に役立ちます。
この回答にどの程度満足ですか?
フィードバックをありがとうございました。
Excelで文字(日本語)をどのように識別しているのかなど詳しいことは知りませんが、おそらくIMEの文字コードを使っているように思います。
確実なことは分かりませんが、質問の文字はIMEパッドでは表示されない文字のように思われます。
単なる推測ですが、「CJK統合漢字」などに該当して同一文字として扱われているのかもしれません。
また、下の一覧では[鿌:9FC0]・[鿕:9FD0]と異なっていますが、Excelでは一群の文字を同じ文字と扱っているのかもしれません。
わたしのPC(Windows)でも同じになりますし「A1」を文字列に変えても同じ結果になりますので、仕様としかいえないように思います。
必要とする人は少ないと思われるので実現可能性も低いと思いますが、マイクロソフトにフィードバックしておいてもいいかもしれません。
報告されたコンテンツが送信されました
1 人がこの回答を役に立ったと思いました。
·この回答が役に立ちましたか?
お役に立てず、申し訳ございません。
素晴らしい! フィードバックをありがとうございました。
この回答にどの程度満足ですか?
フィードバックをありがとうございました。おかげで、サイトの改善に役立ちます。
この回答にどの程度満足ですか?
フィードバックをありがとうございました。
文字コードだけの問題ではなさそうです。
半角の?にもカウントされます。
文字 | COUNTIF | CODE | UNICODE |
? | 10 | 63(003F) | 63(U+003F) |
一 | 1 | 12396(306C) | 19968(U+4E00) |
丁 | 1 | 17274(437A) | 19969(U+4E01) |
丂 | 1 | 63(003F) | 19970(U+4E02) |
七 | 1 | 15415(3C37) | 19971(U+4E03) |
丄 | 1 | 63(003F) | 19972(U+4E04) |
鿋 | 1 | 63(003F) | 40907(U+9FCB) |
鿌 | 3 | 63(003F) | 40908(U+9FCC) |
鿻 | 3 | 63(003F) | 40955(U+9FFB) |
鿼 | 3 | 63(003F) | 40956(U+9FFC) |
以下の式を設定しています。
COUNTIF =COUNTIF(A:A,A1)
CODE =CODE(A1) &"("&DEC2HEX((CODE(A1)),4)&")"
UNICODE =UNICODE(A1)&"(U+"&DEC2HEX(UNICODE(A1),4)&")"
COUNTIFの結果
? | CJK統合漢字(U+4E00 ~ U+9FFC)を含んだ件数になっている |
U+4E00 ~ U+9FCB | 1 |
U+9FCC ~ U+9FFC | この範囲の文字の件数 |
なぜこのようになるのかはわかりません。
ご参考までに。
追記
AxlOZ さんの質問の下記文字が化けていますが、環境の違いでしょうか?
当方の環境は
Windows11 Pro 22H2
Edge バージョン 118.0.2088.69 (公式ビルド) (64 ビット)
Microsoft365 Excel for the web(MS Pゴシック (本文))
です。
鿑(U+9FD1) |
鿒(U+9FD2) |
鿓(U+9FD3) |
鿕(U+9FD5) |
追記 ここまで
報告されたコンテンツが送信されました
この回答が役に立ちましたか?
お役に立てず、申し訳ございません。
素晴らしい! フィードバックをありがとうございました。
この回答にどの程度満足ですか?
フィードバックをありがとうございました。おかげで、サイトの改善に役立ちます。
この回答にどの程度満足ですか?
フィードバックをありがとうございました。
ご回答ありがとうございました。
当該症状はcountifでのみ発生し、vlookupやexactでは正しく処理が行われます。
また、下記でmotosanさんに記載いただいたように、UNICODEも正しく取得できているので、Excelの仕様というよりはcountifの問題ではと考えて、投稿いたしました。
引き続き情報を知りたいと思っており、継続させていただきたいと思っています。
報告されたコンテンツが送信されました
この回答が役に立ちましたか?
お役に立てず、申し訳ございません。
素晴らしい! フィードバックをありがとうございました。
この回答にどの程度満足ですか?
フィードバックをありがとうございました。おかげで、サイトの改善に役立ちます。
この回答にどの程度満足ですか?
フィードバックをありがとうございました。
ご回答ありがとうございます。
確か、半角の?はcountifでは1文字を表すワイルドカードとして扱われていたように思いますので、全件の10が帰ってきていると考えられます。
CODE関数を試してみる発想はなかったので、参考になりました。
ただ、63(003F)を返す文字でも正しく数えられているものとそうでないものがあるのが興味深いです。
なお、文字化けしているのは自宅のMacからMicrosoft365を利用して画面コピーしたためですが、職場のWindowsでも同様の症状となっております。
報告されたコンテンツが送信されました
この回答が役に立ちましたか?
お役に立てず、申し訳ございません。
素晴らしい! フィードバックをありがとうございました。
この回答にどの程度満足ですか?
フィードバックをありがとうございました。おかげで、サイトの改善に役立ちます。
この回答にどの程度満足ですか?
フィードバックをありがとうございました。