Excel FIND関数に複数の検索条件を指定する方法

2019年10月14日

文字列中に指定した文字が

何文字目に存在するかを検索する

FIND関数は検索文字列として

一つの文字しか指定できません。

当記事では複数の文字列を

検索対象とする方法を

「IFERROR関数を重ねる方法」と

「配列数式を使用する方法」の

2種類に分けて紹介します。

手順

IFERROR関数を重ねる方法

FIND関数は対象がないと

#VALUEエラーを返すので

それをIFERRORで取得し

エラーであれば次のFIND関数を

指定する方法です。

IFERROR(FIND(検索文字列1,対象),IFERROR(FIND(検索文字列2,対象),……))

もっとも左に指定した検索文字列の

文字数が数式の結果となります。

IFERROR関数を重ねた結果

利点

後述の配列数式と違い、

ありふれた関数の使い方のため

他の人や期間が経った時に数式を読む際、

非常に理解しやすいのが利点です。

欠点

検索文字列が多くなると

数式が長く、読みづらくなり

変更も大変になります。

配列数式を使用する方法

配列数式を使用すると

IFERRORを重ねずに

検索文字列をセル範囲で

一括で指定できます。

MAX(IFERROR(FIND(検索文字列の範囲,対象),0))

この状態で[Ctrl]+[Shift]+[Enter]と押すと

数式が{}で囲まれて配列数式の状態になります。

{}をキーボードで打っても配列数式にはなりません。

配列数式にすると範囲で指定した

検索文字列のFINDを全て試し、

MAX関数で最大の結果が取得されます。

(#VALUEを除くためIFERRORは一つ必要です)

この方法の場合、

対象の最も後ろにヒットする

(結果の文字数が多い)

検索文字列の開始位置が結果となります。

配列数式を使うと

コピー&ペーストが出来ませんが

オートフィルであれば複製可能です。

配列数式を使用した結果

利点

検索文字列が増えても

セル範囲を広げるだけのため

数式が短いままで

読みやすいものになります。

方法さえ知っていれば

IFERRORを重ねるより

作る手間が少ないのも利点です。

欠点

配列数式自体を知っている人は

少数派のためぱっと見、

数式の意味がわからないことが

多いのが欠点です。

また間違えてセル入力モードにして

普通にENTERをすると

配列数式が解除されてしまい

セル範囲の最初の検索文字列のみが

対象となってしまう点にも

注意が必要です。

関連記事

FIND関数の使い方・活用方法の記事一覧

記事内で使用した機能の詳細

配列数式の利用方法とメリット・デメリット

各種エラーの発生条件と判定関数

フォローする