Home » Excel(エクセル)の関数・数式の使い方 » 文字列 » IF関数で「○○を含む」の指定−COUNTIF関数

IF関数で「○○を含む」の指定−COUNTIF関数

対象:Excel97, Excel2000, Excel2002, Excel2003

IF関数が使えるようになった方から、よくいただく質問があります。

IF関数であいまい検索はできないのでしょうか?
IF関数であいまいな条件指定はできないのでしょうか?

この疑問を感じたことがない方にはわかりにくい質問だと思いますが、IF関数の第1引数・論理式に「*」(アスタリスク)などのワイルドカードを利用した指定はできないのか?という質問です。

[スポンサードリンク]

例えばA列に住所が入力されているときに、「中野区」という文字列があれば「○」を、そうでない場合に「−」をB列に表示させたいとします。

IF関数を使って「=IF(A1="*中野区*","○","−")」とB1セルに入力して下に向かってオートフィルすれば、住所に「中野区」を含んでいれば「○」、そうでない住所には「−」が表示されそうな気がします。けれどもこれではダメなのです。

「=IF(A1="*中野区*","○","−")」では、A1セルが「*中野区*」という文字列であるときにのみ「○」と表示されるのです。つまりこの指定では「*」はワイルドカードではなく通常の文字列として扱われているわけです。それなら「=IF(A1="*" & "中野区" & "*","○","−")」という数式を試す方がいらっしゃいますがこれも同じことです。
▼操作手順:IF関数の論理式にあいまい条件を指定する
※A1セルに住所が入力されていて、「中野区」という文字列が含まれているときに「○」そうでない場合は「−」をB1セルに表示させる例
B1セルに「=IF(COUNTIF(A1,"*中野区*"),"○","−")」という数式を入力する

COUNTIF関数は、第1引数で指定された範囲の中から、第2引数で指定した条件に合致するセルの個数を数えてくれます。

「COUNTIF(A1,"*中野区*")」とすれば、第1引数にセルを一つしか指定していませんから、「中野区」という文字列が含まれていれば「1」、そうでなければ「0」という数値が返されてきます。

Excelでは「1」は「TRUE」、「0」は「FALSE」として扱われますから、上記の数式で「○」「−」が表示されることになります。

上記の数式がピンと来ない場合は
「=IF(COUNTIF(A1,"*中野区*")>0,"○","−")」
としてください。
IF関数に慣れていないうちは、こちらの方がわかりやすいでしょう。

[スポンサードリンク]

Home » Excel(エクセル)の関数・数式の使い方 » 文字列 » IF関数で「○○を含む」の指定−COUNTIF関数

「文字列」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.
.