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・・・

実践的な使用方法

探索したい文字列と出力する文字列をリスト化しておくと入出力データをそれぞれ参照セルとすることができるため、作業がはかどります。

抽出リストは元データにある必要な文字列と完全一致している必要があります。対応コードは文字列があったとき、結果に出力したい項目です。
参照するデータを対応させておくと、以下の式を用いて処理できます。

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

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

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

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

=セル1&セル2

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

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする