• ベストアンサー

エクセルで文字列の個数を数える

ある範囲のエクセルデータから決まった文字列の個数をカウントする関数の使い方が判れば教えてください。 例えば、A1からH200までのデータより、”リンゴ”という文字列が何個あるかカウントしたいのですが。 COUNTIF(A1:H200,"*リンゴ*")とすると”リンゴ”という文字列が含まれるセルの個数は出たのですが、”リンゴ”という文字列が複数含まれるセルもあるので、”リンゴ”という文字列の個数とは 一致しないようなのです。 どなたか、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • msMike
  • ベストアンサー率20% (364/1804)
回答No.3

=SUMPRODUCT((LEN(A1:H200)-LEN(SUBSTITUTE(A1:H200,"リンゴ","")))/LEN("リンゴ"))

zabirunner
質問者

お礼

素晴らしい回答ありがとうございます。できました!! 当該範囲の全ての文字数から”リンゴ”以外の文字数を引いて、リンゴの文字数3で割った計算式なんですね!! 一点よく解らないのですが、LEN関数ではA1:H200のように跨ったエリアの文字数はカウントできないのに、SUMPRODUCTを付けるとカウントできるようになるという事が私には難しくてわかりませんでした。 とても助かりました!!有難うございました。

その他の回答 (2)

  • mimazoku_2
  • ベストアンサー率20% (1905/9108)
回答No.2

それだったら、こうしてください。 これが横方向(行)でカウントしますが、if文で”1”と表示されますので、何個あっても大丈夫。 =if(COUNTIF(A1:H1,"リンゴ*")<0,1,0) また列でカウントするなら、 =if(COUNTIF(A1:A200,"リンゴ*")<0,1,0) となります。 数式の入っているセルをSUM関数で集計すれば、文字が複数あろうが、バラバラでもカウントできます。

noname#249423
noname#249423
回答No.1

手元にエクセルがないので100%わかる方法としては、範囲を選択してワードにコピー。リンゴをカウントすればよろしいかと。

関連するQ&A