- ベストアンサー
エクセルで一致する数をカウントしたい
- エクセルでセルに入っている単語、文章で一致するものの数をカウントしたいです。
- 例1のように一致する単語の数を数える方法は簡単ですが、例2のようにセル内改行がある場合はどうすればよいか悩んでいます。
- countif関数では、一文字目から最終文字まで完全一致する場合にのみカウントされるため、例2のような場合では正確な結果が得られません。特定の単語を部分一致でカウントする方法をご教示ください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
=countif(A$1:A$8,"*りんご*") 「ワイルドカード」という言葉をインターネットで検索してください。なおこの式では、1つのセルの中に「りんご」が複数存在しても、そのセルを「1」と数えます。
その他の回答 (3)
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
何をやりたいのか良く判らない。 文章を検索して単語の出現数をカウントしたい(だけ)? 単語と文章のシートは分けるべき。 シートその1:単語のリスト シートその2:文章のコレクション(シート名:「文章」) 単語のリストの右隣、 B2に、 =IF($A2="","",COUNTIF(文章!$A$2:$A$1000,"*"&$A2&"*")) 以下、コピー(単語リストのMAXと相談して好きなだけ)
お礼
ご回答ありがとうございます。
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
No.2です。一つ言い忘れました。セル参照とワイルドカード文字を組み合わせたい場合は、次式のように、つなげてください。 =countif(A$1:A$8,"*"&c1&"*") ※C1セルに「りんご」などが入力されている場合。絶対参照の「$」は適当にくっつけてください。
お礼
ご回答ありがとうございます。 さらなるご説明、ありがとうございます。
- Cupper-2
- ベストアンサー率29% (1342/4565)
関数では…一発で答えを出すには配列関数を使うしかないでしょう。 検索したい文字が含まれるかをB列に返す B列の結果を数える。 FIND関数を使うことになりますね。 =FIND("りんご",A1,1) 結果を数えるのはCOUNT関数かCOUNTIF関数になると思います。 エラーを無視して数値をカウントできれば、COUNT関数のほうが楽。 …この一連の操作を配列関数で組めば良いんですけどね。 ですが手元にExcelを扱える環境がないので確かめることができません。 作業列としてB列などを使うなら、これでも十分対応できると思います。 余力があれば配列関数にチャレンジしても良いでしょう。 ってことでアドバイスでした。
お礼
ご回答ありがとうございます。
お礼
ご回答ありがとうございます。 これがベストです。