エクセルでは特定の文字の数を数えることをしたい場合もあるかもしれません。Excelで関数を使って特定の文字をカウントできると、同じ文字を数える手間が減って便利ですよね。エクセルで指定した文字をカウントするには、様々な関数を使う可能性があるのが特徴です。今回は、Excelで特定の文字の数を数える方法を、部分一致やセル内の同じ文字をカウントするやり方なども含めてご紹介します。
まずは、文字が入っているセルの数を数える方法を見ていきましょう。文字の入っているセルを数えるには、COUNTAという関数を使います。エクセルの特定の範囲を探して、文字列や数値や式などといったデータが入力されているセルの個数を数える機能です。
Excelで任意の文字があるセルをカウントする式は、『=COUNTA(調べたいセル範囲)』です。たとえば、C3からD16の範囲で何かが書かれているセルの数を調べる場合には、「=COUNTA(C3:D16)」とします。もし、複数の調べる範囲があるあるいは調べる範囲が離れた場所にあるならば、カンマで区切って「=COUNTA(C3:D16,T3:T16)」などとしましょう。
エクセルで特定の文字をカウントする関数はまた別のものを使います。Excelで該当するセルの数を数える場合にはひと工夫が必要なのも特徴です。どのような式になるのかも含めてやり方を次の項目で見ていきましょう。
Excelでは、COUNTIF関数を使うと特定の文字をカウントすることができます。エクセルのCOUNTIF(カウントイフ)関数は特定の文字が入っているセルをカウントできる機能です。Excelで特定の文字の数を数える事例として、「~けん」と書かれているセルの数を数える作業で見てみましょう。
エクセルで指定した文字をカウントする際の基本的な式は、『=COUNTIF (セル範囲,”特定の文字”) 』です。条件を1つ指定し、その条件に一致したセルの数を数えるためにCOUNTIF関数を使います。ちなみに、エクセルの特定範囲での空白の数を数えるのであれば””で可能です。今回の例では、Excelでカウントしたい特定の文字が「けん」なので、『=COUNTIF (C3:D16,”けん”) 』です。ところが、見たところ6つはあるはずなのに、エクセルに表示される結果が0になるためうまくいきません。
エクセルで関数を使って特定の文字をカウントする際には、あいまい検索を使うとより正確に求められます。あいまい検索とは、Excelで指定の文字をカウントする際に、セル内に部分的にも含まれているものがあれば当てはまる(部分一致)とみなすことです。対になるのが完全一致であり、こちらは全く同じのときのみに当てはまるとみなします。先ほど『=COUNTIF(C3:D16,”けん”)』の結果が0だったのは、完全一致で「けん」と書かれたセルがなかったためでした。
エクセルで範囲内の特定の文字を数える際に部分一致で調べるには、ワイルドカードを入力します。ワイルドカードとは、特殊な記号の一つで2種類です。文字数を指定しない場合には『*』(アスタリスク:「shift」と「け」キーの同時押し)を、文字数を指定したい場合には『?』(クエスチョン:「shift」と「め」キーの同時押し)を使いましょう。
エクセルで特定の単語のカウントを部分一致も含めてするには『=COUNTIF(調べるセル範囲,”特定の文字“) 』とします。Excelで指定した文字が冒頭にあるもののみをカウントしたい『=COUNTIF(調べるセル範囲,”*特定の文字”) 』としましょう。逆にエクセルで特定の文字の数を数える際に最後にあるもののみに限定するなら『=COUNTIF(調べるセル範囲,”特定の文字*”) 』です。文字数が確定しているのであれば、前後に付ける「??」の数を調整することで記載します。
今回の例では、「けん」を含むものを選びたいので、『=COUNTIF (C3:D16,”けん”) 』ではなく『=COUNTIF (C3:D16,”けん“) 』とすることでカウントできました。””(ダブルクォーテーション)は文字列であることを指し、**や??も文字列のため、””の内側に入れることを押さえておきましょう。
エクセルで指定の文字をカウントするときに特定のセルから参照するときには少し複雑になります。部分一致で入力する「”○○“」の中身は文字列ですが、セル参照は文字列ではないためです。セル番地をそのまま挟むと単なる文字と認識され、その元のセルの内容は代入できません。そこで、セル参照の部分は文字列ではないことを示す必要があります。
Excelで指定した文字をカウントするときに特定のセルを参照する式は、『=COUNTIF(調べるセル範囲,”“&参照するセル番地&”“)』です。『&』は「shift」と「6」のキーの同時押しで出てきます。「参照するセル番地」の左右に『&』と『”』がそれぞれ1つずつ加わりました。それによって、前側の”*”で一旦文字列が解除され、「参照するセル番地」は文字列になっていません。
セルのうち特定の文字がないもののみをカウントしたい場合、エクセルでは2つのやり方が考えられます。1つ目は、ある文字を数えることで全体数から引き算をする方法です。2つ目は、先ほどの式を一部書き加えることでnotの式を作ります。『=COUNTIF(調べるセル範囲,”特定の文字“) 』の「”」の間に「<>」を加えましょう(『shift』キーとそれぞれ「ね」「る」キーの同時押し)。「”<>特定の文字*”) 」とすることで「特定の文字列を部分一致でも含まないセルをカウント」という意味にできます。
Excelでセル内の同じ文字をカウントするのがどのようにできるかが気になるかもしれません。特定の文字が入力されているセルを数えるには、COUNTIF関数を使いましたが、1つのセルに対象文字が何文字入っていてもカウント数は”1″です。Excel/エクセルで1つのセル内に同じ文字が何回出てくるかをカウントしたい場合には、カウントイフ関数は使えません。代わりに、LEN関数とSUBSTITUTE関数を組み合わせたものを利用します。
エクセルで同じ文字の数を数えるときの数式は、『=SUM (LEN (セル番地)-LEN (SUBSTITUTE (セル番地,”特定の文字”,””)))/LEN(“特定の文字”) 』です。また、範囲内で特定の文字列が何回出てくるかを調べる場合には、さらにSUM関数を組み合わせて『 {=SUM (LEN (セル範囲)-LEN (SUBSTITUTE (セル範囲,”特定の文字”,””)))/LEN(“特定の文字”)} 』で求められます。ただ、範囲内に空白が含まれている場合にはValue!エラーが出ますので注意しましょう。
今回は、エクセルで特定の文字の数を数える方法をご紹介しました。特定の文字をカウントする関数にはいくつか考えられるのが特徴です。Excelで指定の文字をカウントする際には部分一致あるいは特定の文字が複数回出てきているときなど状況によって必要なものが異なるため、違いを押さえて使いこなせるようにしましょう。最後までお読みいただきありがとうございました。
関連記事