毎日のExcel作業の中で、「特定の文字が含まれているセルを素早く見つけたい」「含まれている位置や数を一括でカウントしたい」と思ったことはありませんか?関数だけでは限界を感じてしまうこの問題、実はVBAを使えば劇的に効率化できます。しかも、ちょっとした工夫で「含まれる/含まれない」だけでなく、先頭・末尾・複数回出現の検出や件数集計まで自在に操れるのです。本記事では、単なる基礎解説ではなく、現場で即使える実務レベルの活用法をわかりやすく解説します。
InStr関数の基本と応用
InStr関数は「文字列の中で特定の文字が何文字目に現れるか」を返すシンプルな関数です。結果が0の場合は含まれないことを意味します。
基本構文とサンプル
InStrの基本形は以下の通りです。
InStr, 対象文字列, 検索文字列)
「開始位置」を省略すると先頭から検索します。例えば「りんごジュース」に対して「りんご」を検索すれば1が返り、「ジュース」であれば4が返ります。
If文と組み合わせた条件分岐
実務では「含まれていれば処理を行う」「含まれていなければ別処理を行う」という流れが定番です。
If InStr(Range("A1"), "りんご") > 0 Then Range("A1").Interior.Color = vbRed End If
これだけで「りんご」を含むセルを赤く塗ることができます。
特定文字のカウントと件数集計
単に含まれているかではなく、「何回出現するかを数えたい」という場面も多いはずです。
セル内での出現回数を数える
以下の手順で繰り返し検索することで、セル内に複数回登場する特定文字をすべてカウント可能です。
- InStrで最初の位置を取得します。
- 見つかったら位置を更新し、次の検索を繰り返します。
- 見つからなくなるまでループを回して件数を加算します。
こうすることで「りんごりんごジュース」のようなセルでも、正しく2回とカウントできます。
シート全体での件数集計
ループ処理を行ごとに適用すれば、シート全体で「りんご」が何件存在するかを合計できます。例えば以下のように結果を表で整理すると便利です。
商品名 | りんご出現回数 |
---|---|
りんごジュース | 1 |
りんごりんごパイ | 2 |
みかんゼリー | 0 |
Like演算子で「始まり」「終わり」を判定
InStrでは位置はわかっても「始まり」「終わり」かどうかまでは直接判定できません。そんな時に便利なのがLike演算子です。
~で始まるかを調べる
If Range("A1") Like "りんご*" Then 'りんごで始まるセルへの処理 End If
「*」はワイルドカードで「任意の文字列」を意味します。
~で終わるかを調べる
If Range("A1") Like "*ジュース" Then 'ジュースで終わるセルへの処理 End If
このように先頭・末尾を意識した振り分けが簡単にできます。
excel 特定 の 文字 カウント VBAに関する疑問解決
Q1: 大文字小文字を区別せずに検索できますか?
可能です。InStr関数の第4引数にvbTextCompareを指定すると、大文字小文字を無視して判定できます。
Q2: 複数の文字列を同時にチェックしたい場合は?
一度に複数はできませんが、配列に検索対象を格納してループ処理することで対応可能です。例えば「りんご」「みかん」「バナナ」をまとめて検出し、それぞれの出現件数を集計できます。
Q3: 高速化のコツはありますか?
大量データを扱う場合は、ループごとにセルを参照するより、配列に一括で読み込んでから処理すると劇的に速度が向上します。
今すぐパソコンやスマホの悩みを解決したい!どうしたらいい?
いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」
あなたはこんな経験はありませんか?
✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦
平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。
LINEでメッセージを送れば即時解決!
すでに多くの方が私の公式LINEからお悩みを解決しています。
最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。
誰でも無料で使えますので、安心して使えます。
問題は先のばしにするほど深刻化します。
小さなエラーがデータ消失や重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。
あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。
ぜひ、あなたの悩みを私に解決させてください。
まとめ
「excel 特定 の 文字 カウント VBA」というテーマは一見シンプルに思えますが、InStr関数やLike演算子を正しく組み合わせることで、検索・カウント・判定が一気に効率化できます。単なる文字列検出にとどまらず、件数集計や条件分岐、先頭・末尾判定まで使いこなせば、日々のExcel作業が驚くほどスムーズになります。ぜひこの記事で学んだ方法を自分の業務に取り入れてみてください。
コメント