EXCEL仕事術 指定した文字列を抽出する方法(複数も可)

入力データに対して「指定した文字のみ」が探索範囲内にあったとき、1つのセルに結果を出力させるためにエクセルで行う方法を紹介します。
サンプルデータは複数のセルに入力データがあり、探索したいデータ(文字列)があったときのみを出力したものです。

セルに○○という文字を含めばA、そうでないときはBを出力

出力したいデータ(探索したい文字)が1種類のみの場合は次の数式で実行できます。

=IFERROR(IF(FIND(”〇〇”,セル),”真の場合”),”偽の場合”)

セルの中に「〇〇」があったら”真の場合”を出力します。無ければ”偽の場合”を出力します。(出力に文字を想定しています。数値や数式を使いたい場合はダブルクォーテーション「””」を削除して下さい。)

出力したい文字データが複数ある場合、そのまま「&」を足して条件を追加します。

=IFERROR(IF(FIND(”〇〇”,セル1),”真の場合”),”偽の場合”)
&IFERROR(IF(FIND(”**”,セル2),”真の場合”),”偽の場合”)…

サンプルのように抽出した文字データの間にスペースを挿入するのであれば、「真の場合」に「真の値&” ”」と入力します。入力データごとに出力したい項目を分ける場合は「真の値」を書き換えて下さい。

解説

IFERROR(数式,エラーの場合の値)
IFERROR関数は、もしエラーがあったときエラーを表示しないようにすることができます。上記のサンプルだとIF関数以降で指定した文字列を検出しなかった場合「#VALUE!エラー」が起こります。IFERROR関数を使うことで、指定した文字見つけなければそのまま何もせず(エラーと表示させず)次の処理へ進むようにします。


IF(条件式,真の場合,偽の場合)
条件式を満たす場合は「真の場合」を行う、満たさない場合は「偽の場合」の処理を行います。探索した文字を見つけない場合は空文字である「””」を使います。


FIND(検索文字,セル)
FIND関数は指定したセル内の文字列を探索することができます。SEARCH関数に代用することも可能です。
IF関数と組み合わせてセルから指定文字を見つける役割として機能させます。

FIND関数かSEARCH関数かの使い分けは下リンクが参考になります。

前回・前々回と任意の文字列が対象データの何文字目にあるかカウントするための方法としてFIND関数とSEARCH関数をそれぞれ解説してきました。 FIND関数で任意の文字列が対象データの何文字目にあるかカウントする方法 | …

実践的な使用方法

探索したい文字列と出力する文字列をリスト化しておくと、入出力データをそれぞれ参照セルにできます。

抽出リストは元データの文字列と完全一致する必要があります。対応コードは文字列があったとき、結果に出力する項目です。

参照するデータを対応させておくと、以下の式を用いて処理できます。

=IFERROR(IF(FIND(抽出リストのセル1,探索範囲のセル),対応コードのセル1&” ”),””)& IFERROR(IF(FIND(抽出リストのセル2,探索範囲のセル),対応コードのセル2&” ”),””)

データを追加するには「&」以下にある「& IFERROR(IF(FIND(抽出リストのセル2,探索範囲のセル),対応コードのセル2&” ”),””)」を列挙していきます。

「&」で結合することで、探索(参照)範囲に対して複数の検索ワードと一致したら1つのセルに出力を返すことができます。

探索範囲のセルは複数でも設定できます。複数の探索範囲にする場合、条件式を追記させます。サンプルのように列ごとに「抽出A」「抽出B」と分けて後から結合することもできます。

文字列を結合する(足し合わせる)場合、演算子に「&」を使います。

=セル1&セル2

文字列のみを操作するのは限られたシーンかもしれません。ビジネスで管理職として使うと非常に便利なので活用できれば幸いです。

スポンサーリンク

シェアする

フォローする