スポンサーリンク

Excel/エクセルで特定の文字を含むセルをカウントする方法、複数がセル内にある場合も

Excel(エクセル)・Google・Wordpress


エクセルで特定の文字が入っているセルの数を数えることもあるかもしれません。エクセルで特定の文字を含むところの数が多いのであれば、同じ文字を何度もカウントするのではなく、計算で求められると便利ですよね。今回は、Excelで特定の文字列を含むセルをカウントする方法を複数のセルや範囲が絡む場合も含めてご紹介します。



◎エクセルでのカウント機能、文字が入っているセルの数を数える方法


まずは、文字が入っているセルの数を数える方法を見ていきましょう。文字の入っているセルを数えるには、COUNTAという関数を使います。エクセルの特定の範囲を探して、文字列や数値や式などといったデータが入力されているセルの個数を数える機能です。データの中で、数値ではなく一時的なメモとして記号などを入力している場合も含まれますので、何か書かれているセルがいくつあるのかを把握できます。


最初に、結果を入力するセルを選択しましょう。そこに入力する式は、『=COUNTA(調べたいセル範囲)』です。たとえば、C3からD16の範囲で何かが書かれているセルの数を調べる場合には、「=COUNTA(C3:D16)」とします。もし、複数の調べる範囲があるあるいは調べる範囲が離れた場所にあるならば、カンマで区切って「=COUNTA(C3:D16,T3:T16)」などとしましょう。



●エクセルで空白の数を数えることで文字の入っているセルを数える



また、反対側である、何も入っていないつまり空白のセルの数を数えて全体から除くことでも計算可能です。その場合には、カウントイフ関数を使って、特定の範囲に含まれている空欄を数えましょう。同様に結果を入力するセルを選択し、そこに入力する式は『=COUNTIF(調べたいセル範囲,検索条件)』です。カウントイフ関数は、検索条件を指定することで、それに該当するセルの数を範囲の中から算出します。今回は、エクセル内の空白の数を数えるため、「=COUNTIF(C3:D16,””)」です。先ほどの文字の入っているセルの数を合わせると、範囲全体の総数(28=14×2)と一致しています。



◎数字の入っているセルを数えるには?


文字ではなく、数字の入っているセルを数える場合もあるかもしれません。特定の数字を含むセルをカウントするには、COUNT関数を使います。先ほどのカウントエー関数とは違い、カウント関数は数値のみが入力されているセルの個数を数える機能です。書式は、『=COUNT(調べたいセル範囲)』であり、たとえばC3からD16の範囲で数値の書かれているセルの数を調べる場合には、「=COUNT(C3:D16)」とします。


カウントの対象となるのは、引数が数値・日付です。文字列と混合している場合や数値に変換できない場合にはカウントされませんので注意しましょう。
もし、セル内に含まれているのが文字または数値のみ(式などはないの)であれば、文字列のみが入っているセルを数えたい場合には、先ほどの文字が含まれているセルの個数から数字が入っているセルの個数を引き算することで求められます。



◎Excelで特定の文字列を含むセルをカウントする方法


エクセルのカウント機能を使うと、文字が入っているセルの数を調べられることがわかりました。では、特定の文字列が含まれていたら数に含めるにはどうすればよいのでしょうか。たとえば、先ほど触れたカウントイフ関数を使って「~けん」と書かれているセルの数を数えてみます。見たところ6か所はありますが、『=COUNTIF(C3:D16,検索条件)』の検索条件を”けん”にしても結果は0となりうまく反映されません。


特定の文字列を含むセルをカウントする場合には、あいまい検索の機能を使います。あいまい検索とは、そのセル内で部分的にでも指定した文字列に一致するものを取り出す機能のことです。対になるのが完全一致であり、こちらは全く同じのときのみに当てはまるとみなします。先ほど『=COUNTIF(C3:D16,”けん”)』の結果が0だったのは、完全一致で「けん」と書かれたセルがなかったためです。



●Excelの検索を関数でするときに部分一致で調べるには?


Excelの検索をカウントイフ関数でするときに部分一致で調べるには、検索条件の部分にワイルドカードというものを入力します。ワイルドカードとは、特殊な記号の一つであり、部分一致で検索をかける際に利用する記号のことです。2種類存在し、文字数を指定しない場合には『*』(アスタリスク:「shift」と「け」キーの同時押し)を、文字数を指定したい場合には『?』(クエスチョン:「shift」と「め」キーの同時押し)を使いましょう。


部分一致でもエクセルで特定の文字を含む場合にカウントするには、『=COUNTIF(調べるセル範囲,”特定の文字“)』とします。この式は部分一致であれば全て含まれますが、もし最初のみのものを選びたい場合には『=COUNTIF(調べるセル範囲,”特定の文字”)』・最後のみのものを選びたい場合には『=COUNTIF(調べるセル範囲,”特定の文字”)』と前後の「**」の片方を消すことで可能です。文字数が確定しているのであれば、前後に付ける「??」の数を調整することで記載します。


今回の例では、「けん」を含むものを選びたいので、『=COUNTIF(C3:D16,”けん”)』ではなく『=COUNTIF(C3:D16,”けん“)』とすることでカウントできるようになりました。””(ダブルクォーテーション)は文字列であることを指し、や??に入るのも文字列であるため、””の内側にや??を入れる位置取りであることを押さえておきましょう。


○特定のセルに書かれている内容と部分一致するものを選ぶとき


特定のセルに書かれている内容を参照して部分一致するものを選ぶときは少し複雑になります。普段の式であれば、セル参照はそのままセル番地を入力すれば問題ありませんが、今回は前後に**や??を使う関係でセル参照も含めて文字列になってしまうからです。セル番地を文字列にすると、単なる文字と認識され、その元のセルの内容は代入できません。そこで、セル参照は文字列ではないことを示す必要があります。


式は、『=COUNTIF(調べるセル範囲,”“&参照するセル番地&”“)』です。『&』は「shift」と「6」のキーの同時押しで出てきます。「参照するセル番地」の左右に『&』と『”』がそれぞれ1つずつ加わりました。それによって、前側の”*”で一旦文字列が解除され、「参照するセル番地」は文字列になっていません。★文字列・それ以外・文字列を&でつなぐ★ことで一つのかたまりであることを示し、かつ参照するセル番地は文字列ではないエクセルが反応できる状態になっています。


○特定の文字列を含まないセルの個数を調べたい場合


逆に、特定の文字列が入っていないセルのみを数えたい場合には、2つのやり方が考えられます。1つ目は、先ほどの方法で「ある文字列が入っているセルの数」を出して、対象としているすべてのセルの数から引き算をする方法です。2つ目は、先ほどの式を一部書き加えることでnotの式を作ります。『=COUNTIF(調べるセル範囲,”特定の文字“)』の「”」の間に「<>」を加えましょう(『shift』キーとそれぞれ「ね」「る」キーの同時押し)。「”<>特定の文字*”)」とすることで「特定の文字を部分一致でも含まないもの」という意味にできるのです。



●エクセルで特定の文字が出てきた際にカウントしたものを合計する流れ


エクセルで特定の文字が出てきた際にカウントができると合計も求められます。先ほどのカウントイフの検索条件を変えて、それぞれに当てはまるセルの個数を足していく方法です。たとえば、『=COUNTIF(調べるセル範囲,”特定の文字“)+COUNTIF(調べるセル範囲,”特定の文字”)』とすれば、「特定の文字が最初か最後にあるセルの範囲を求められます。特に、特定の文字が1文字目から3文字目のどこかで出てくる場合などに使うと有効でしょう。



◎エクセルで特定の文字をカウントするときに複数がセル内に含まれている場合は?


エクセルで複数のセルにある特定の文字列をカウントしたい場合には、調べるセル範囲を伸ばせばできます。Excelの離れた位置にあるセルを対象範囲として文字列を数える場合には、『=COUNTIF(範囲1,”特定の文字“)+COUNTIF(範囲2,”特定の文字“)』のように繋がっている範囲で当てはまるものを探してから合算する方法です。複数の範囲をカンマ,で区切って指定しようとすると「引数が多すぎる」としてエラーが出ますので注意しましょう。



●Excel/エクセルで同じ文字が出てくる回数をカウントするには?


Excel/エクセルで1つのセル内に同じ文字が何回出てくるかをカウントしたい場合には、カウントイフ関数は使えません。代わりに、LEN関数とSUBSTITUTE関数を組み合わせたものを利用します。数式は、『=SUM(LEN(セル番地)-LEN(SUBSTITUTE(セル番地,”特定の文字”,””)))/LEN(“特定の文字”)』です。また、範囲内で特定の文字列が何回出てくるかを調べる場合には、さらにSUM関数を組み合わせて『{=SUM(LEN(セル範囲)-LEN(SUBSTITUTE(セル範囲,”特定の文字”,””)))/LEN(“特定の文字”)}』で求められます。ただ、範囲内に空白が含まれている場合にはValue!エラーが出ますので注意しましょう。



◎まとめ


今回は、エクセルで何かの文字列が含まれているセルの数を数える方法をご紹介しました。カウント関数・カウントイフ関数を主に使いますが、用途によって必要なものが変わってくるのが特徴です。特に、調べたい文字が特定の位置のもののみにしたい場合や複数の場合には計算の方法が複雑になるため、違いを押さえておきましょう。最後までお読みいただきありがとうございました。

コメント

タイトルとURLをコピーしました