こんなあなたにおすすめ
・Excel VBAで2つの文字列を比較したい
Excelを使っていると、2つの文字列を比較したいということがあります。
1. 2つの文字列を比較
比較したい2つの値を”=”でつなぐことで、一致していればTrue、不一致であればFalseを返します。
Sub test1() If Range("A1").Value = "東京" Then MsgBox "A1セルの値は、東京です" Else MsgBox "A1セルの値は、東京ではありません" End If End Sub
If文については、下記の記事で解説していますので、ご参照ください。
>>【ExcelVBA】If文 条件分岐 超便利 & 簡単
比較したい2つの値を”>“でつなぐことで、不一致であればTure、一致していればFalseを返します。
Sub test2() If Range("A1").Value > "東京" Then MsgBox "A1セルの値は、東京ではありません" Else MsgBox "A1セルの値は、東京です" End If End Sub
2. 指定した文字列が含まれているか確認する InStr関数
InStr関数を使うことで、指定した文字列が含まれているか確認することができます。
基本的な書き方は、以下の通りです。
Sub test3() MsgBox InStr(Range("A1").Value, "東京") End Sub
指定した文字列が含まれていた場合、その文字列の位置を返します。
例えば、「ここは東京です。」の場合、戻り値は、4です。
指定した文字列が含まれていない場合、0を返します。
つまり、InStr関数の戻り値が0のとき、指定した文字列は含まれていません。
Sub test4() If InStr(Range("A1").Value, "東京") > 0 Then MsgBox "文字列に東京を含んでいます。" Else MsgBox "文字列に東京を含んでいません。" End If End Sub
3. ワイルドカードで探す
一部わからないところには、*、?などのワイルドカードを使うことができます。
これにより、A1セルの値が「東京都立川市」だった場合、Like “東京都*”で戻り値は、Trueになります。
Sub test5() If Range("A1").Value Like "東京都*" Then MsgBox "東京都在住です" Else MsgBox "東京都在住ではありません" End If End Sub
4. 複数の文字列で探す
複数の文字列の内、どれかで始まる場合、Trueを返す方法は、以下の通りです。
Sub test6() If Range("A1").Value Like "[東京, 神奈川, 埼玉, 茨城, 栃木, 群馬, 千葉, 山梨]*" Then MsgBox "首都圏です" Else MsgBox "首都圏ではありません" End If End Sub
Sub test07() If Range("A1").Value Like "[1-3]*" Then MsgBox "頭文字は、1~3です" Else MsgBox "頭文字は、1~3ではありません" End If End Sub
5. まとめ
ここまで、2つの文字列を比較する方法について解説しました。
2つの文字列を比較して一致したら、Aの処理をする、不一致だったらBの処理をするというように使うことができるので、ぜひ使ってみてください。
If文については、下記の記事で解説していますので、ご参照ください。
>>【ExcelVBA】If文 条件分岐 超便利 & 簡単
Excelで作業効率をアップしたい方は、下記の記事もご参照ください。
>>Excelのショートカット一覧 覚えて作業効率アップ!!
>>Excelで覚えておくべき関数 作業効率アップ間違いなし
オンラインスクール受講者数No.1!
・自宅にいながらオンライン完結で勉強できる
➡スクールへの移動時間を削減するため、効率的に学習可能!
・受講生に1人ずつ現役のプロのパーソナルメンターがつく
➡分からないことがわかるまで徹底的にメンターに質問可能!
・チャットで質問すればすぐに回答が返ってくる
➡レスポンスが速いから、わからないことをその場で解決!
・オリジナルサービスやオリジナルアプリなどの開発までサポート
➡就職、転職のときに役立つポートフォリオを開発可能!
無料で体験できるので、まずはお試し
>>TechAcademyの無料体験はこちら