Excelで指定の文字列を含むかを判定するIF関数を使った方法
ここでは、IF関数を使った「指定の文字列が含まれているかを判定する方法」を解説します。
特に複数条件は「どちらにも当てはまる」、「どちらかに当てはまる」の両方説明します。
これでIF関数の論理式を「含む条件」で指定できるようになりますよ。
1.まずはやりたいことを確認
まずは、やりたいことを例も見ながら確認します。
1-1.IF関数で文字列を含む条件にしたい
やりたいことは、「IF関数で文字列を含む条件にする」ことです。
この時普段のIF関数の使い方と違ってくるのは、「条件値の指定の仕方」です。
逆にいうと、条件値の指定の仕方を覚えれば、「含む」条件で判定ができるようになります。
1-2
.例で確認
一つ例を見てみましょう。
![IF関数「特定の文字列を含む」-例の表](https://image.jimcdn.com/app/cms/image/transf/none/path/s6ea4f93ae509d495/image/i95dd34fa9d23f3c2/version/1658795343/if%E9%96%A2%E6%95%B0-%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%90%AB%E3%82%80-%E4%BE%8B%E3%81%AE%E8%A1%A8.jpg)
IF関数で含む条件ができると、例えば「B列の研修名に『社内』と入っているものだけに『○』を付ける」といったことができます。
![IF関数「特定の文字列を含む」-正しい結果](https://image.jimcdn.com/app/cms/image/transf/none/path/s6ea4f93ae509d495/image/ic67bf4b6f7c343e6/version/1658795346/if%E9%96%A2%E6%95%B0-%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%90%AB%E3%82%80-%E6%AD%A3%E3%81%97%E3%81%84%E7%B5%90%E6%9E%9C.jpg)
「特定の文字を含む/含まないで返す値を変えたい時」に便利です。
1-3
.ワイルドカードだけではダメ
エクセル関数で含む条件にする時、よく使われるのが「ワイルドカード」です。「*」や「?」を付けることで、含む条件にすることができます。
しかし、結論から言うと、「IF関数でワイルドカードは使えません」。
![IF関数「特定の文字列を含む」-間違った方法](https://image.jimcdn.com/app/cms/image/transf/none/path/s6ea4f93ae509d495/image/i60229de7196158bd/version/1658795352/if%E9%96%A2%E6%95%B0-%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%90%AB%E3%82%80-%E9%96%93%E9%81%95%E3%81%A3%E3%81%9F%E6%96%B9%E6%B3%95.jpg)
先程の例で、
=IF($B3="*社内*","○","")
と入れても「不一致(偽)」と判定されてしまいます。
そのため、ひと工夫が必要です。
2.「COUNTIF(S)関数」を組み合わせる
IF関数で「文字列を含む」の条件にするには、「COUNTIF関数」か「COUNTIFS関数」を組み合わせます。
2-1.COUNTIF(S)関数とは
COUNTIF関数やCOUNTIFS関数は、「条件に合うセルをカウント」できる関数です。
違いは「指定できる条件の数」で、COUNTIF関数は「条件一つ」、COUNTIFS関数は「複数条件」の指定ができます。
2-2.組み合わせるとなぜできるのか?
まず、IF関数はワイルドカードが使えません。対して、COUNTIF(S)関数は使えます。
そこで、IF関数の論理式にCOUNTIF(S)を組み合わせ、条件値を含むかどうかをカウントさせます。
IF関数の論理式は、「0は偽」、「0以外は真」と判定しますので、結果「含む」場合は真、「含まない」場合は偽の値が返ってくるのです。
3.「条件一つ」の数式の形と作り方
まず、「文字列を含む」の条件が一つの場合の数式の形と作り方です。
3-1.数式の形
数式の形は、条件値を「文字列」にするか「セル番号」にするかで変わってきます。
それぞれ次の通りです。
【文字列の場合】
条件値を文字列にする場合には、「条件値」に「含むかを確認したい文字列」を入れます。
【セル番号の場合】
条件値をセル番号にする場合には、「セル番号」に「含むかを確認したい文字列の入ったセル番号」を入れます。
なお、どちらも「判定対象」には、「条件値を含むかを確認したいセル番号」を入れます。
3-2.数式の作り方
次に、数式の作り方を見てみます。
![IF関数「特定の文字列を含む」-例の表](https://image.jimcdn.com/app/cms/image/transf/dimension=605x10000:format=jpg/path/s6ea4f93ae509d495/image/i4c2e9b77f1981bf2/version/1656842019/if%E9%96%A2%E6%95%B0-%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%90%AB%E3%82%80-%E4%BE%8B%E3%81%AE%E8%A1%A8.jpg)
先程の例のセルD3に、「『社内』という文字を含むなら○、含まないなら空白」という数式を作ってみます。
なお、例の画像は「条件値に文字列を入れる場合」ですが、セル番号の場合もほぼ変わりありません。
以下手順です。
(1)以下の数式をコピーし、セルに貼り付ける
【文字列の場合】
【セル番号の場合】
![IF関数「特定の文字列を含む」-数式の作り方1](https://image.jimcdn.com/app/cms/image/transf/dimension=605x10000:format=jpg/path/s6ea4f93ae509d495/image/i1dc33ee2050fa279/version/1656842048/if%E9%96%A2%E6%95%B0-%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%90%AB%E3%82%80-%E6%95%B0%E5%BC%8F%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B91.jpg)
(2)「判定対象」の文字を消し、「判定したいセル番号」を入れる
![IF関数「特定の文字列を含む」-数式の作り方2](https://image.jimcdn.com/app/cms/image/transf/dimension=605x10000:format=jpg/path/s6ea4f93ae509d495/image/id90f09ade2a3fef8/version/1656842075/if%E9%96%A2%E6%95%B0-%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%90%AB%E3%82%80-%E6%95%B0%E5%BC%8F%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B92.jpg)
(3)「条件値」または「セル番号」の文字を消し、「含むかを確認したい文字列」または「セル番号」を入れる
![IF関数「特定の文字列を含む」-数式の作り方3](https://image.jimcdn.com/app/cms/image/transf/dimension=605x10000:format=jpg/path/s6ea4f93ae509d495/image/i78e8af4b5465b102/version/1656842096/if%E9%96%A2%E6%95%B0-%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%90%AB%E3%82%80-%E6%95%B0%E5%BC%8F%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B93.jpg)
(4)「真の場合」と「偽の場合」の文字を消し、それぞれ入れる
![IF関数「特定の文字列を含む」-数式の作り方4](https://image.jimcdn.com/app/cms/image/transf/dimension=605x10000:format=jpg/path/s6ea4f93ae509d495/image/ide9abff4e0a881cd/version/1656842121/if%E9%96%A2%E6%95%B0-%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%90%AB%E3%82%80-%E6%95%B0%E5%BC%8F%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B94.jpg)
(5)Enterキーを押せば完了
![IF関数「特定の文字列を含む」-数式の作り方5](https://image.jimcdn.com/app/cms/image/transf/dimension=605x10000:format=jpg/path/s6ea4f93ae509d495/image/ia2fe851528a67b43/version/1656842147/if%E9%96%A2%E6%95%B0-%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%90%AB%E3%82%80-%E6%95%B0%E5%BC%8F%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B95.jpg)
必要に応じて他のセルにコピーします。
![IF関数「特定の文字列を含む」-数式を作った結果](https://image.jimcdn.com/app/cms/image/transf/dimension=605x10000:format=jpg/path/s6ea4f93ae509d495/image/i33d10c20572a7867/version/1656842188/if%E9%96%A2%E6%95%B0-%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%90%AB%E3%82%80-%E6%95%B0%E5%BC%8F%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%9F%E7%B5%90%E6%9E%9C.jpg)
セルD3に入れた数式は、それぞれ次のようになります。
【文字列の場合】
=IF(COUNTIF(B3,"*社内*"),"○","")
【セル番号の場合】
=IF(COUNTIF(B3,"*"&E1&"*"),"○","")
※条件値がセルE1にある場合
4.「複数条件でAND」の数式の形と作り方
続いて、「文字列を含む」の条件が複数で「AND(どれにも一致)」の場合の数式の形と作り方です。
4-1.数式の形
数式の形は、それぞれ次の通りです。
【文字列の場合】
「判定対象」と「条件値」が2つで1セットです。
やはり、「条件値」に「含むかを確認したい文字列」を入れます。
【セル番号の場合】
こちらも、「セル番号」に「含むかを確認したい文字列の入ったセル番号」を入れます。
なお、どちらも「判定対象」には、「条件値を含むかを確認したいセル番号」を入れます。
4-2.数式の作り方
次に、数式の作り方を見てみます。
![IF関数「特定の文字列を含む」-例の表](https://image.jimcdn.com/app/cms/image/transf/dimension=605x10000:format=jpg/path/s6ea4f93ae509d495/image/i41f99de37effa7f6/version/1656842275/if%E9%96%A2%E6%95%B0-%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%90%AB%E3%82%80-%E4%BE%8B%E3%81%AE%E8%A1%A8.jpg)
先程の例のセルD3に、「『エクセル』と『社内』という文字を含むなら○、含まないなら空白」という数式を作ってみます。
なお、例の画像は「条件値に文字列を入れる場合」ですが、セル番号の場合もほぼ変わりありません。
以下手順です。
(1)以下の数式をコピーし、セルに貼り付ける
【文字列の場合】
【セル番号の場合】
※条件が2つの場合
![IF関数「特定の文字列を含む」-数式の作り方and1](https://image.jimcdn.com/app/cms/image/transf/dimension=605x10000:format=jpg/path/s6ea4f93ae509d495/image/i96565d5b3cac14b1/version/1656842312/if%E9%96%A2%E6%95%B0-%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%90%AB%E3%82%80-%E6%95%B0%E5%BC%8F%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9and1.jpg)
(2)「判定対象」の文字を消し、「判定したいセル番号」を入れる
![IF関数「特定の文字列を含む」-数式の作り方and2](https://image.jimcdn.com/app/cms/image/transf/dimension=605x10000:format=jpg/path/s6ea4f93ae509d495/image/i77c5a4eda108815b/version/1656842335/if%E9%96%A2%E6%95%B0-%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%90%AB%E3%82%80-%E6%95%B0%E5%BC%8F%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9and2.jpg)
(3)「条件値」または「セル番号」の文字を消し、「含むかを確認したい文字列」または「セル番号」を入れる
![IF関数「特定の文字列を含む」-数式の作り方and3](https://image.jimcdn.com/app/cms/image/transf/dimension=605x10000:format=jpg/path/s6ea4f93ae509d495/image/i07b423b1a298badd/version/1656842370/if%E9%96%A2%E6%95%B0-%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%90%AB%E3%82%80-%E6%95%B0%E5%BC%8F%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9and3.jpg)
(4)「真の場合」と「偽の場合」の文字を消し、それぞれ入れる
![IF関数「特定の文字列を含む」-数式の作り方and4](https://image.jimcdn.com/app/cms/image/transf/dimension=605x10000:format=jpg/path/s6ea4f93ae509d495/image/i0e1953d38a335537/version/1656842397/if%E9%96%A2%E6%95%B0-%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%90%AB%E3%82%80-%E6%95%B0%E5%BC%8F%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9and4.jpg)
(5)Enterキーを押せば完了
![IF関数「特定の文字列を含む」-数式の作り方and5](https://image.jimcdn.com/app/cms/image/transf/dimension=605x10000:format=jpg/path/s6ea4f93ae509d495/image/i4aa1a5c9243231a9/version/1656842426/if%E9%96%A2%E6%95%B0-%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%90%AB%E3%82%80-%E6%95%B0%E5%BC%8F%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9and5.jpg)
必要に応じて他のセルにコピーします。
![IF関数「特定の文字列を含む」-数式を作った結果and](https://image.jimcdn.com/app/cms/image/transf/dimension=605x10000:format=jpg/path/s6ea4f93ae509d495/image/i7e152e165d0c45b7/version/1656842458/if%E9%96%A2%E6%95%B0-%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%90%AB%E3%82%80-%E6%95%B0%E5%BC%8F%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%9F%E7%B5%90%E6%9E%9Cand.jpg)
セルD3に入れた数式は、それぞれ次のようになります。
【文字列の場合】
=IF(COUNTIFS(B3,"*エクセル*",B3,"*社内*"),"○","")
【セル番号の場合】
=IF(COUNTIFS(B3,"*"&E1&"*",B3,"*"&F1&"*"),"○","")
※条件値がセルE1とF1にある場合
なお、条件を増やす場合には、COUNTIFS関数のカッコ内の最後に「,判定対象,"*条件値*"」、または「,判定対象,"*"&セル番号&"*"」を条件の数分だけ足せばOKです。
5.「複数条件でOR」の数式の形と作り方
最後に、「文字列を含む」の条件が複数で「OR(どれかに一致)」の場合の数式の形と作り方です。
5-1.数式の形
数式の形は、それぞれ次の通りです。
【文字列の場合】
「判定対象」と「条件値」が2つで1セットです。
やはり、「条件値」に「含むかを確認したい文字列」を入れます。
【セル番号の場合】
こちらも、「セル番号」に「含むかを確認したい文字列の入ったセル番号」を入れます。
なお、どちらも「判定対象」には、「条件値を含むかを確認したいセル番号」を入れます。
5-2.数式の作り方
次に、数式の作り方を見てみます。
![IF関数「特定の文字列を含む」-例の表](https://image.jimcdn.com/app/cms/image/transf/dimension=605x10000:format=jpg/path/s6ea4f93ae509d495/image/iadfed6aad107a248/version/1656842536/if%E9%96%A2%E6%95%B0-%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%90%AB%E3%82%80-%E4%BE%8B%E3%81%AE%E8%A1%A8.jpg)
先程の例のセルD3に、「『エクセル』か『ワード』という文字を含むなら○、含まないなら空白」という数式を作ってみます。
なお、例の画像は「条件値に文字列を入れる場合」ですが、セル番号の場合もほぼ変わりありません。
以下手順です。
(1)以下の数式をコピーし、セルに貼り付ける
【文字列の場合】
【セル番号の場合】
※条件が2つの場合
![IF関数「特定の文字列を含む」-数式の作り方or1](https://image.jimcdn.com/app/cms/image/transf/dimension=605x10000:format=jpg/path/s6ea4f93ae509d495/image/i4f588db261a9b204/version/1656842566/if%E9%96%A2%E6%95%B0-%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%90%AB%E3%82%80-%E6%95%B0%E5%BC%8F%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9or1.jpg)
(2)「判定対象」の文字を消し、「判定したいセル番号」を入れる
![IF関数「特定の文字列を含む」-数式の作り方or2](https://image.jimcdn.com/app/cms/image/transf/dimension=605x10000:format=jpg/path/s6ea4f93ae509d495/image/i17c83b33897f7978/version/1656842598/if%E9%96%A2%E6%95%B0-%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%90%AB%E3%82%80-%E6%95%B0%E5%BC%8F%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9or2.jpg)
(3)「条件値」または「セル番号」の文字を消し、「含むかを確認したい文字列」または「セル番号」を入れる
![IF関数「特定の文字列を含む」-数式の作り方or3](https://image.jimcdn.com/app/cms/image/transf/dimension=605x10000:format=jpg/path/s6ea4f93ae509d495/image/i363e576b4085dc39/version/1656842624/if%E9%96%A2%E6%95%B0-%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%90%AB%E3%82%80-%E6%95%B0%E5%BC%8F%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9or3.jpg)
(4)「真の場合」と「偽の場合」の文字を消し、それぞれ入れる
![IF関数「特定の文字列を含む」-数式の作り方or4](https://image.jimcdn.com/app/cms/image/transf/dimension=605x10000:format=jpg/path/s6ea4f93ae509d495/image/i2dc3907850aebbe5/version/1656842662/if%E9%96%A2%E6%95%B0-%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%90%AB%E3%82%80-%E6%95%B0%E5%BC%8F%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9or4.jpg)
(5)Enterキーを押せば完了
![IF関数「特定の文字列を含む」-数式の作り方or5](https://image.jimcdn.com/app/cms/image/transf/dimension=605x10000:format=jpg/path/s6ea4f93ae509d495/image/i17d71a388feb469f/version/1656842691/if%E9%96%A2%E6%95%B0-%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%90%AB%E3%82%80-%E6%95%B0%E5%BC%8F%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9or5.jpg)
必要に応じて他のセルにコピーします。
![IF関数「特定の文字列を含む」-数式を作った結果or](https://image.jimcdn.com/app/cms/image/transf/dimension=605x10000:format=jpg/path/s6ea4f93ae509d495/image/ie7f6a4b9914aa368/version/1656842717/if%E9%96%A2%E6%95%B0-%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%90%AB%E3%82%80-%E6%95%B0%E5%BC%8F%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%9F%E7%B5%90%E6%9E%9Cor.jpg)
セルD3に入れた数式は、それぞれ次のようになります。
【文字列の場合】
=IF(COUNTIF(B3,"*エクセル*")+COUNTIF(B3,"*ワード*"),"○","")
【セル番号の場合】
=IF(COUNTIF(B3,"*"&E1&"*")+COUNTIF(B3,"*"&F1&"*"),"○","")
※条件値がセルE1とF1にある場合
なお、条件を増やす場合には、COUNTIF関数を条件の数分だけ増やして足せばOKです。
6.判定対象が他ブックなら別の関数で
以上、IF関数で文字列を含む条件にする方法を解説しました。
ただし、「判定対象」が「他のブック(ファイル)」にある場合には、紹介した数式ではうまく判定できません。
なぜなら、COUNTIF関数やCOUNTIFS関数は「開いていない他のファイルの中身を見ることができない」からです。
別の方法は、次のページで紹介します。
⇒ 「IF関数で他ブック/ファイル上の値を含む条件で判定する方法」へはこちら
以上、参考になれば幸いです。
また、関数に関連したページもたくさんありますので、以下のリンクから参考にしてください。
【口コミ・評判のいいExcel本の紹介】
IF関数の、他の記事へのリンクはこちらです。
- IF関数その他の記事へのリンクはこちら
- ◎基本的な使い方
- ◎以上、以下等の比較演算子を使う方法
- ◎日付範囲や期間を簡単に指定する方法
- ◎日付を比較する時の数式の書き方
- ◎マイナスの場合は0、空白と指定する方法
- ◎空白セルを空白にする方法
- ◎#VALUE!等のエラーになる原因と対処法
- ◎結果がうまくいかない時の原因と対処法
- ◎パーセントを条件に指定する方法
- ◎複数条件のORをリストで指定する方法
- ◎曜日の条件指定がうまくいかない場合の対応方法
- ◎空白でもSUM関数でエラーにしない方法
- ◎値があれば、入っていたらの条件にする方法
- ◎範囲全てが条件値と一致するかを判定する方法
- ◎文字が入っていたらの条件にする方法
- ◎空白を判定する方法
- ◎別シートの値を参照する方法
- ◎複数条件を「かつ」で指定する方法
- ◎複数のうちのどれかに合えばとする方法
- ◎セルの値がいづれかの場合真とする方法
- ◎特定の文字列を含む条件を指定する方法
- ◎複数列全てが一致の条件にするテクニック
- ◎複数条件を指定して分岐させる方法
- ◎ROUND関数の正しい組み合せ方