- 公開日:
エクセルで特定の文字以降を抽出する方法
この記事では、エクセルに入力されているデータから特定の文字以降を抽出する方法をご紹介します。
関数を用いた数式で簡単に操作できますので、「住所録を番地以降でまとめたい」「メールアドレスのドメイン名だけでまとめたい」などの場合にお役立てください。
ただし、エクセルのバージョンによってはご紹介している関数を使用できない場合がありますので、ご注意ください。
エクセルで特定の文字以降を抽出する方法
入力されているデータから、RIGHT関数を使って特定の文字以降を抽出する方法をご紹介します。
今回は上記画像B2セルに入力されている「東京都渋谷区1234-567」から「1234-567」を抽出します。
任意のセル(例:D2セル)に「=RIGHT(B2,8)」を入力し、Enterを押します。
RIGHT関数の書式は「=RIGHT(文字列,[文字数])」です。
「文字列」には、抽出元のデータが入力されているセル(B2)を入力します。
そして「文字数」に、抽出元データの右側(文末)を起点に抽出したい文字数(8)を指定します。
今回の「=RIGHT(B2,8)」は、B2セルに入力されているデータの右側から8文字分を抽出するという意味になります。
RIGHT関数の詳細については以下の記事をご覧ください。
入力した数式により、D2セルに「1234-567」と表示されました。
RIGHT関数を使って、入力されているデータから特定の文字以降を抽出することができました。
関数を組み合わせて抽出する方法
入力されているデータの文字数が多く、数えることが難しい場合には、RIGHT関数、LEN関数、FIND関数を組み合わせることで簡単に特定の文字以降のデータを抽出することができます。
詳しい方法は以下の通りです。
今回は上記画像B2セルに入力されている「東京都渋谷区1234-567シルバーリーフハイツ505号室」から、「区」より後の「1234-567シルバーリーフハイツ505号室」を抽出します。
任意のセル(例:D2セル)に「=RIGHT(B2,LEN(B2)-FIND("区",B2))」を入力し、Enterを押します。
RIGHT関数の書式は「=RIGHT(文字列,[文字数])」です。
「文字列」には、抽出元のデータが入力されているセル(B2)を入力します。
そして「文字数」に、LEN関数とFIND関数を用いて「右側から何文字抽出するか」を指定します。
まず、LEN関数の書式は「=LEN(文字数)」です。
「文字数」には、抽出元のデータが入力されているセル(B2)を入力することで、抽出元データの文字数が返ります。
LEN関数の詳細については以下の記事をご覧ください。
ExcelのLEN関数の使い方|半角と全角の区別なく文字数を返す
次に、FIND関数の書式は「=FIND(検索文字列,対象,[開始位置])」です。
「検索文字列」にて、「〇より後」という条件になる文字列("区")を指定することで、該当の文字が左から何文字目かを求めます。
そして「対象」には、抽出元のデータが入力されているセル(B2)を入力します。
FIND関数の詳細については以下の記事をご覧ください。
ExcelのFIND関数の使い方|文字列が最初に現れる位置を検索
最後に、LEN関数からFIND関数を「-」することで、RIGHT関数の「文字数」が指定されます。
今回の「LEN(B2)-FIND("区",B2)」は、「B2セルのデータ文字数(29)-左側(文頭)を起点に『区』までの文字数(6)」という意味になり、RIGHT関数の「文字数」には「23」が入力されることになります。
そのため「=RIGHT(B2,LEN(B2)-FIND("区",B2))」は、B2セルに入力されているデータの右側から23文字分が抽出されます。
入力した数式により、D2セルに「1234-567シルバーリーフハイツ505号室」と表示されました。
RIGHT関数、LEN関数、FIND関数を組み合わせることで、入力されているデータから特定の文字以降を抽出することができました。
TEXTAFTER関数で抽出する方法
Microsoft 365以降のバージョンでのみ「TEXTAFTER関数」という関数を利用することができます。
TEXTAFTER関数を活用することで、非常にシンプルな数式で簡単に特定の文字以降のデータを抽出することができます。
詳しい方法は以下の通りです。
今回はTEXTAFTER関数を使って、上記画像B2セルに入力されている「東京都渋谷区1234-567シルバーリーフハイツ505号室」から、「区」より後の「1234-567シルバーリーフハイツ505号室」を抽出します。
任意のセル(例:D2セル)に「=TEXTAFTER(B2,"区")」を入力し、Enterを押します。
TEXTAFTER関数は、参照したデータのうち、指定した文字の後に入力されているデータを抽出する関数です。
TEXTAFTER関数の書式は「=TEXTAFTER(text,delimiter,[instance_num], [match_mode], [match_end], [if_not_found])」です。
今回は「text」「delimiter」のみ指定します。
まず「text」には、抽出元のデータが入力されているセル(B2)を入力します。
そして「delimiter」には、「〇より後」という条件になる文字列("区")を指定します。
今回の「=TEXTAFTER(B2,"区")」は、B2セルのデータから「区」より後に入力されているデータを抽出するという意味になります。
入力した数式により、D2セルに「1234-567シルバーリーフハイツ505号室」と表示されました。
TEXTAFTER関数を使って、入力されているデータから特定の文字以降を抽出することができました。