IF関数で他ブック/ファイル上の値を含む条件で判定する方法

IF関数の論理式で「文字列を含む条件」にするには、COUNTIF関数を使うとできる、と前のページで説明しました。

 

しかし、参照元の値が別のブック(ファイル)にある場合にはこの方法はエラーになってしまいます。

 

そこでここでは、別ブック上にある値をIF関数で含む条件の論理式にする方法を説明します。

本記事はアフィリエイト広告を含みます

1.まずはやりたいことを確認

まずは、やりたいことを例も含めて確認します。

 

1-1.他ブックの値を含む条件で判定したい

やりたいことは、「IF関数で他のファイルにある値を『含む条件』で判定する」です。

 

IF関数で「指定した文字が含まれている場合といない場合で返す値を変えたい」時で、「判定したいセル(値)が別ファイルにある時」に使えます。

 

前のページでは、同じファイル内にある値を含む条件で判定する方法を解説しましたが、「別のファイル」だと紹介した数式ではエラーになることがあります。

 

そこでここでは、判定したい値が別ファイルにあった時に「含む条件」にできる数式を紹介します。

 

1-2.例で確認

では、一つ例を見てみましょう。

IF関数「特定の文字列を含む(別ブック)」-例の表

上の表は、ファイル「Book1」にある「社内・社外研修実施一覧表」です。

 

研修名には「社内」または「社外」の文字が含まれています。

 

IF関数「特定の文字列を含む(別ブック)」-例の表2

先ほどのBook1の表にある研修が「社内研修」であるか「社外研修」であるかを、Book2にある上の表で分かるようにしてみましょう。

 

具体的には、Book1のセルB3にある研修名に「社内」の文字が含まれていたら、B列に●を入れます。

 

この時、前のページでIF関数の含む条件は次の数式でできると説明しました。

=IF(COUNTIF(B3,"*社内*"),"●","")

IF関数「特定の文字列を含む(別ブック)」-使い方の例

しかし結果は「#VALUE!エラー」になってしまいました。

 

このような状態を、他のファイル(例ではBook1)にある値(例ではセルB3」を含む条件でカウントする、と言います。

2.数式の紹介と作り方の説明

では、他のファイルにある値にIF関数で含む条件にできる数式を紹介し、作り方を解説します。

 

2-1.数式の紹介

他ブック上に値がある時、COUNTIF関数では#VALUE!エラーになってしまいます。原因は「COUNTIF関数が閉じたファイルの中身を見られないから」です。

 

ですから、この場合にはCOUNTIF関数ではなく別の関数を使えばいいのです。

 

使う関数は「FIND関数」です。FIND関数は、文字列の中に指定の文字があるかを検索できる関数です。

 

数式の形は、次のようになります。

=IF(FIND(条件値,判定対象セル番号),真の場合,偽の場合)

 ※分かりやすいよう、実際の数式の表示から一部変えています

 

条件値には、「*」を付けた条件の値を入れます。

 

ただし、数式内での直接指定と条件値の入ったセル番号の指定では形が異なり、それぞれ次の通りです。

 ・直接指定:”*条件値*”

 ・セル番号指定:"*"&セル番号&"*"

 

また、判定対象セル番号には、そのままですが、判定したいセル番号を入れます。

 

2-2.数式の作り方

では先ほどの例の条件で、数式を作ってみます。

 

条件は「Book1のセルB3に『社内』という文字が入っていたら●、なければ空白」です。

 

(1)結果を表示させたいセルをクリックし、「=IF(FIND(」と入力後、fxボタンを押す

IF関数「特定の文字列を含む(別ブック)」-数式の作り方1

 

(2)FIND関数の引数 検索文字列に「条件値」を入力する

IF関数「特定の文字列を含む(別ブック)」-数式の作り方2

 

(3)FIND関数の引数 対象に、「判定対象セル番号」を入力する

IF関数「特定の文字列を含む(別ブック)」-例の表3

 

(4)数式バー内のIF関数をクリックする

IF関数「特定の文字列を含む(別ブック)」-数式の作り方4

 

(5)IF関数の引数「真の場合」に入力する

IF関数「特定の文字列を含む(別ブック)」-数式の作り方5

 

(6)IF関数の引数「偽の場合」に入力する

IF関数「特定の文字列を含む(別ブック)」-数式の作り方6

 

(7)Enterを押して完了

IF関数「特定の文字列を含む(別ブック)」-数式の作り方7

このように、他ブック上の値にIF関数で含む条件を指定する場合には、FIND関数をIF関数と組み合わせれば、エラーを起こさず「含むか含まないか?」を判定することができます。

 

以上、参考になれば幸いです。

 


口コミ・評判のいいExcel本の紹介】


Top