• 公開日:

Excelで特定の文字より前を抽出する方法

この記事では、Excelに入力されているデータから、特定の文字より前のデータを抽出する方法をいくつかご紹介します。

どの方法も関数を用いた数式を入力する必要がありますが、誰でも簡単に扱えるものとなっていますので、初心者の方も安心してお試しいただけます。

ぜひ「住所録から都道府県のみを取り出したい」「名前データを名字だけでまとめたい」場合などにご活用ください。

Excelで特定の文字より前を抽出する方法

入力されているデータから、LEFT関数を使って特定の文字より前を抽出する方法をご紹介します。

データが入力されている

今回は上記画像B2セルに入力されている「東京都渋谷区1234-567」から「東京都渋谷区」を抽出します。

数式を入力する

任意のセル(例:D2セル)に「=LEFT(B2,6)」を入力し、Enterを押します。

LEFT関数の書式は「=LEFT(文字列,[文字数])」です。

「文字列」には、抽出元のデータが入力されているセル(B2)を入力します。

そして「文字数」に、抽出元データの左側(文頭)を基準に抽出したい文字数(6)を指定します。

今回の「=LEFT(B2,6)」は、B2セルに入力されているデータの左側から6文字分を抽出するという意味になります。

LEFT関数の詳細については以下の記事をご覧ください。

ExcelのLEFT関数の使い方|指定した数の文字を左/先頭から取り出す

抽出できた

入力した数式により、D2セルに「東京都渋谷区」と表示されました。

LEFT関数を使って、入力されているデータから特定の文字より前を抽出することができました。

関数を組み合わせて抽出する方法

入力されているデータの文字数が多く、数えることが難しい場合には、LEFT関数、FIND関数を組み合わせることで、簡単に特定の文字以前のデータを抽出することができます。

詳しい方法は以下の通りです。

データが入力されている

今回は上記画像B2セルに入力されている「東京都渋谷区1234-567シルバーリーフハイツ505号室」から、「7」以前の「東京都渋谷区1234-567」を抽出します。

数式を入力する

任意のセル(例:D2セル)に「=LEFT(B2,FIND("7",B2))」を入力し、Enterを押します。

数式については、以下の「関数を組み合わせて抽出する数式について」セクションで詳しくご説明します。

抽出できた

入力した数式により、D2セルに「東京都渋谷区1234-567」と表示されました。

LEFT関数、FIND関数を組み合わせることで、入力されているデータから特定の文字以前を抽出することができました。

関数を組み合わせて抽出する数式について

数式について

上記「関数を組み合わせて抽出する方法」セクションで使用した「=LEFT(B2,FIND("7",B2))」という数式についてご説明します。

まず、LEFT関数の書式は「=LEFT(文字列,[文字数])」です。

「文字列」には、抽出元のデータが入力されているセル(B2)を入力します。

そして「文字数」に、FIND関数を用いて「左側から何文字抽出するか」を指定します。

FIND関数の書式は「=FIND(検索文字列,対象,[開始位置])」です。

「検索文字列」にて、「〇以前」という条件になる文字列("7")を指定することで、該当の文字が左から何文字目かを求めます。

そして「対象」には、抽出元のデータが入力されているセル(B2)を入力します。

FIND関数の詳細については以下の記事をご覧ください。

ExcelのFIND関数の使い方|文字列が最初に現れる位置を検索

今回の「FIND("7",B2)」では、「B2セルに入力されているデータの左側(文頭)を基準に『7』までの文字数(14)」がLEFT関数の「文字数」に入力されることになります。

そのため「=LEFT(B2,FIND("7",B2))」は、B2セルに入力されているデータの左側から14文字分が抽出されます。

TEXTBEFORE関数で抽出する方法

Microsoft 365以降のバージョンでのみ「TEXTBEFORE関数」という関数を利用することができます。

TEXTBEFORE関数を活用することで、非常にシンプルな数式で簡単に特定の文字より前のデータを抽出することができます。

詳しい方法は以下の通りです。

データが入力されている

今回はTEXTBEFORE関数を使って、上記画像B2セルに入力されている「東京都渋谷区1234-567シルバーリーフハイツ505号室」から、「シルバー」より前の「東京都渋谷区1234-567」を抽出します。

数式を入力する

任意のセル(例:D2セル)に「=TEXTBEFORE(B2,"シルバー")」を入力し、Enterを押します。

TEXTBEFORE関数は、参照したデータのうち、指定した文字より前に入力されているデータを抽出する関数です。

TEXTBEFORE関数の書式は「=TEXTBEFORE(text,delimiter,[instance_num], [match_mode], [match_end], [if_not_found])」です。

今回は「text」「delimiter」のみ指定します。

まず「text」には、抽出元のデータが入力されているセル(B2)を入力します。

そして「delimiter」には、「〇より前」という条件になる文字列("シルバー")を指定します。

今回の「=TEXTBEFORE(B2,"シルバー")」は、B2セルのデータから「シルバー」より前に入力されているデータを抽出するという意味になります。

抽出できた

入力した数式により、D2セルに「東京都渋谷区1234-567」と表示されました。

TEXTBEFORE関数を使って、入力されているデータから特定の文字より前を抽出することができました。