こちらの記事では、MID 関数 と FIND 関数 を組み合わせて、特定の文字を基準とした文字列を抜き出す方法をご紹介しています。
なお、当サイトでは Excel ではなく Numbers を使って解説しています。
目次
MID 関数 と FIND 関数
MID 関数 は文字列の特定の位置から「指定の文字数分」を抜き出す関数、そして FIND 関数 は「検索した文字」がその文字列内で最初に現れる位置を求めることができる関数です。
MID 関数 | 文字列の特定の位置から、指定の文字数分を抜き出す |
FIND 関数 | 検索する文字列が最初に現れる位置を求める |
この2つの関数を組み合わせることにより、特定の文字を基準にした文字列を抜き出すことが出来ます。
特定の文字を基準に文字列を抜き出す
ここでは例として、メールアドレスの中から「ドメイン」つまり「@より後ろの文字列」を抜き出してみましょう。
MID 関数 の式の確認
= MID ( 対象文字列, 開始位置, 文字列の長さ )
対象文字列 | 抜き出す文字列のセルを指定 |
開始位置 | 「対象文字列」から抜き出す文字の開始位置を指定 |
文字列の長さ | 抜き出す文字列の数を指定 |
FIND 関数 の式の確認
= FIND ( 検索文字列, 対象文字列 [, 開始位置] )
※ 開始位置 は省略できます。
検索文字列 | 検索する文字列をのセルを指定 ※ テキストを検索する場合はダブルクォーテーション「 ” 」で囲む |
対象文字列 | 「検索文字列」の位置を求める文字列を指定 |
(開始位置) | 「対象文字列」内で検索を開始する位置を指定 |
関数を書く
まず、関数の式の立て方を順を追って整理してみましょう。
- MID 関数の「対象文字列」を指定
- MID 関数の「開始位置」に FIND 関数を入れ子にする
- FIND 関数の「検索文字列」に “@” を指定
- FIND 関数の「対象文字列」に「検索文字列」の位置を求める文字列のセルを指定
- 抽出に「検索文字列」を含むかどうか確認し、MID 関数の「開始位置」を完了させる
- 最後に MID 関数の「文字列の長さ」を指定
Step 1
セルにカーソルを合わせ、「= MID」と入力するか、「挿入」メニューから「新規数式」を選択します。
フォーマットメニューに関数が出現しますので、「テキスト」から MID を選択するか、「検索窓に「MID」と入力しても探すことが出来ます。「関数を挿入」をクリックします。
Step 2
まずは MID 関数の「対象文字列」を指定しましょう。ここではメールアドレスが入力されているセル「A2」を選択します。
= MID ( A2, 開始位置, 文字列の長さ )
Step 3
MID 関数の「開始位置」に FIND 関数を入れ子にします。直接 FIND と入力するか、フォーマットメニューの「テキスト」から FIND を選択します。
こうすることで、検索する文字列(ここでは「@」)が最初に現れる位置を指定できます。
= MID ( A2, FIND ( 検索文字列, 対象文字列, 開始位置 ), 文字列の長さ )
Step 4
「検索文字列」に “@“ を入力します。
= MID ( A2, FIND ( “@“, 対象文字列, 開始位置 ), 文字列の長さ )
・関数で文字列(テキスト)を指定するときは、ダブルクォーテーション「 ” 」で囲むのを忘れないようにしましょう。
Step 5
「対象文字列」に「検索文字列」の位置を求める文字列のセルを指定します。
※ なお、ここでは FIND 関数の「開始位置」は省略するため削除します。
= MID ( A2, FIND ( “@“, A2 ), 文字列の長さ )
Step 6
今回の例では「@」の次の文字から抽出するため、「+1」を入力します。
これで、MID 関数の「開始位置」を指定できたことになります。
= MID ( A2, FIND ( “@“, A2 ) + 1, 文字列の長さ )
今回 抜き出したいのは 検索文字列「 @ 」のあとからなので、MID 関数の「開始位置」に「 +1 」を付け加えましたが、「検索文字列」を含みたい場合はこの「 +1 」は必要ありません。
Step 7
MID 関数の「文字列の長さ」を指定します。ドメインの文字数は一定ではないため、ここでは多めに50としています。
= MID ( A2, FIND ( “@“, A2 ) + 1, 50 )
Step 8
Enter を押して式を反映させたら、黄色のハンドルを下にドラッグしてセルを自動入力させます。
入力結果
指定した条件の通りになっているか確認しましょう。