【Excel】エクセルで数字を一部だけ消す・抽出(削除の関数・まとめて抜き出す・文字列も・数字のみ) | ウルトラフリーダム

【Excel】エクセルで数字を一部だけ消す・抽出(削除の関数・まとめて抜き出す・文字列も・数字のみ)

本サイトでは記事内に広告が含まれています。

エクセルで入力されている数字や文字列の一部だけを消したい、特定の位置の数字だけを取り出したい、不要な文字を削除して必要な部分だけを抽出したいといった経験はありませんか。

この記事では【Excel】エクセルで数字を一部だけ消す・抽出する方法(関数・一部の文字列操作)について解説していきます。

ポイントは

・LEFT・RIGHT・MID関数で文字列の一部を抽出する方法
・SUBSTITUTE・REPLACE関数で特定の文字だけを削除・置換する方法
・FIND・LEN関数と組み合わせて動的に位置を特定して抽出する方法

です。

それでは詳しく見ていきましょう。

 

 

スポンサーリンク

エクセルで数字・文字列の一部を操作する関数の基本を理解する

エクセルで文字列の一部を消したり抽出したりするには、文字列操作専用の関数を組み合わせて使うことで、ほぼすべてのパターンに対応できます

主に使用する関数はLEFT・RIGHT・MID・SUBSTITUTE・REPLACE・FIND・LENの7種類で、これらを単独または組み合わせて使うことで、先頭から何文字を取り出す・特定の文字を削除する・特定の位置から何文字を抽出するといった操作が実現できます。

文字列操作関数では「文字の位置」を正確に把握することが重要で、FIND関数で文字の位置を動的に取得しLEN関数で文字数を把握することで、データの長さが変わっても正しく動作する柔軟な数式を作れます

それぞれの関数の使い方を実際のサンプルデータを交えながら詳しく解説していきます。

 

 

エクセルで数字を一部だけ消す・抽出する方法1【LEFT・RIGHT関数で先頭・末尾から抽出する】

文字列の先頭から指定した文字数を取り出したい場合はLEFT関数、末尾から取り出したい場合はRIGHT関数を使います。

LEFT関数とRIGHT関数は最もシンプルな文字列抽出関数で、固定の位置から固定の文字数を取り出す場合に最適です

 

LEFT関数・RIGHT関数の基本的な使い方

以下のようなサンプルデータを例に考えてみましょう。

LEFT関数の構文は以下の通りです。

=LEFT(文字列, 文字数)

たとえばB2セルに「SAK-001」が入力されている場合、先頭3文字の「SAK」を取り出すには以下のように記述します。

=LEFT(B2, 3)

RIGHT関数の構文は以下の通りです。

=RIGHT(文字列, 文字数)

末尾3文字の「001」を取り出すには以下のように記述します。

=RIGHT(B2, 3)

LEFT関数とRIGHT関数は取り出す文字数を固定で指定するため、データの文字数が常に一定の場合に最も効果的に活用できます

文字数が変動する場合はLEN関数やFIND関数と組み合わせることで対応できます(後述)。

LEFT関数を使った「一部を消す」操作としては、末尾の不要な文字を除いて残りを取得する方法があります。

たとえば末尾4文字(「-001」)を除いた先頭部分だけを取り出したい場合は以下のように記述します。

=LEFT(B2, LEN(B2)-4)

LEN(B2)で全体の文字数を取得し、そこから4を引いた文字数分だけ先頭から取り出すことで、末尾4文字を除いた文字列を得られます。

【操作のポイント】先頭から取り出すにはLEFT関数、末尾から取り出すにはRIGHT関数を使います。「=LEFT(B2, LEN(B2)-4)」のようにLEN関数と組み合わせることで、末尾N文字を除いた文字列の抽出も柔軟に対応できます。

エクセルで数字を一部だけ消す・抽出する方法2【MID関数で中間部分を抽出する】

文字列の中間部分(先頭でも末尾でもない位置)から特定の文字数を取り出したい場合はMID関数を使います。

MID関数は開始位置と文字数を指定することで、文字列のどこからでも任意の文字数を取り出せる汎用性の高い関数です

MID関数の基本的な使い方

以下のサンプルを例に解説します。

MID関数の構文は以下の通りです。

=MID(文字列, 開始位置, 文字数)

たとえばB2セルに「MG-SAK-050」が入力されている場合、4文字目から3文字(「SAK」)を取り出すには以下のように記述します。

=MID(B2, 4, 3)

7文字目から3文字(「050」)を取り出すには以下のように記述します。

=MID(B2, 7, 3)

MID関数の第2引数「開始位置」は1始まりで数えるため、先頭文字が「1」であることを意識して位置を計算することが重要です

開始位置が変動する場合はFIND関数で特定の区切り文字の位置を取得し、それに1を加えた値を開始位置に指定することで柔軟に対応できます。

たとえばハイフン(-)の後ろから3文字を取り出す場合は以下のように記述します。

=MID(B2, FIND(“-“, B2)+1, 3)

FIND(“-“, B2)でハイフンの位置を取得し、そこに1を加えた位置(ハイフンの次の文字)から3文字を取り出しています。

【操作のポイント】文字列の中間部分を取り出すにはMID関数で開始位置と文字数を指定します。開始位置が変動する場合はFIND関数で区切り文字の位置を取得し「FIND(“-“,B2)+1」のように組み合わせることで柔軟に対応できます。

エクセルで数字を一部だけ消す・抽出する方法3【SUBSTITUTE関数で特定の文字を削除・置換する】

文字列の中から特定の文字や数字だけを削除したい、別の文字に置き換えたいという場合はSUBSTITUTE関数を使います。

SUBSTITUTE関数は指定した文字列を別の文字列に置換する関数で、置換後の文字列に空文字(””)を指定することで、特定の文字を削除する操作として活用できます

SUBSTITUTE関数で特定文字を削除する使い方

以下のサンプルを例に解説します。

SUBSTITUTE関数の構文は以下の通りです。

=SUBSTITUTE(文字列, 検索文字列, 置換文字列, [置換対象])

B2セルの「MAG-900」からハイフンを削除するには以下のように記述します。

=SUBSTITUTE(B2, “-“, “”)

「個」という単位文字を削除するには以下のように記述します。

=SUBSTITUTE(B2, “個”, “”)

第4引数の「置換対象」を指定すると、同じ文字が複数ある場合に何番目の文字だけを置換するかを指定できます

たとえば「AAA」という文字列の2番目の「A」だけを「B」に置換する場合は以下のように記述します。

=SUBSTITUTE(“AAA”, “A”, “B”, 2)

結果は「ABA」になります。

複数の異なる文字を一度に削除したい場合はSUBSTITUTE関数を入れ子にします。

たとえばハイフンとスラッシュの両方を削除する場合は以下のように記述します。

=SUBSTITUTE(SUBSTITUTE(B2, “-“, “”), “/”, “”)
【操作のポイント】特定の文字を削除するにはSUBSTITUTE関数で置換文字列に「””」を指定します。複数の文字を削除したい場合はSUBSTITUTE関数を入れ子にしましょう。第4引数で何番目の文字だけを操作するかも指定できます。

エクセルで数字を一部だけ消す・抽出する方法4【REPLACE関数で位置指定で文字を削除・置換する】

SUBSTITUTE関数が「何という文字を」置換するのに対し、REPLACE関数は「何文字目から何文字分を」置換します。

REPLACE関数は文字の内容ではなく位置で操作するため、毎回異なる文字が入力されている場合でも位置さえ決まっていれば一定の操作ができます

REPLACE関数の基本的な使い方

以下のサンプルを例に解説します。

REPLACE関数の構文は以下の通りです。

=REPLACE(文字列, 開始位置, 文字数, 置換文字列)

B2セルの先頭2文字を削除(空文字に置換)するには以下のように記述します。

=REPLACE(B2, 1, 2, “”)

3文字目から3文字分を「XXX」に置換するには以下のように記述します。

=REPLACE(B2, 3, 3, “XXX”)

REPLACE関数は個人情報のマスキング処理にも活用でき、たとえば電話番号の中間4桁を「****」に置換してマスクする処理を簡単に実装できます

電話番号「090-1234-5678」の中間部分をマスクする場合は以下のように記述します。

=REPLACE(B2, 5, 4, “****”)

結果は「090-****-5678」になります。

【操作のポイント】位置指定で文字を削除・置換するにはREPLACE関数を使います。「=REPLACE(B2, 1, 2, “”)」で先頭2文字を削除、「=REPLACE(B2, 5, 4, “****”)」で5文字目から4文字をマスクといった使い方ができます。

エクセルで数字を一部だけ消す・抽出する方法5【FIND・LEN関数を組み合わせて動的に抽出する】

データの文字数や区切り文字の位置が一定でない場合、FIND関数でキーとなる文字の位置を動的に取得し、LEN関数で全体の文字数を把握してからLEFT・RIGHT・MID関数で抽出する組み合わせが有効です。

FIND関数とLEN関数を組み合わせることで、データの長さが変わっても正しく動作する汎用的な文字列抽出数式を作成できます

 

 

FIND・LEN関数を組み合わせた動的抽出の使い方

以下のサンプルを例に解説します。

「@」より前の商品名部分を取り出すには以下のように記述します。

=LEFT(B2, FIND(“@”, B2)-1)

FIND(“@”, B2)で「@」の位置を取得し、そこから1を引いた文字数分だけ先頭から取り出しています。

「@」より後の数量部分を取り出すには以下のように記述します。

=MID(B2, FIND(“@”, B2)+1, LEN(B2)-FIND(“@”, B2))

FIND(“@”, B2)+1で「@」の次の文字の位置を開始位置に指定し、LEN(B2)-FIND(“@”, B2)で「@」以降の文字数を計算して取り出す文字数に指定しています。

RIGHT関数とFIND・LEN関数を組み合わせてより簡潔に記述することもできます

=RIGHT(B2, LEN(B2)-FIND(“@”, B2))

LEN(B2)で全体の文字数を取得し、FIND(“@”, B2)で「@」の位置を引くことで「@」以降の文字数を計算し、末尾からその文字数分を取り出しています。

【操作のポイント】区切り文字の位置が動的に変わる場合はFIND関数で位置を取得してLEFT・MID・RIGHT関数と組み合わせましょう。「=LEFT(B2, FIND(“@”,B2)-1)」で区切り文字より前、「=RIGHT(B2, LEN(B2)-FIND(“@”,B2))」で区切り文字より後を取り出せます。

まとめ エクセルで数字を一部だけ消す・抽出する方法(一部の文字列操作・関数)

エクセルで数字・文字列の一部を消す・抽出する方法をまとめると

・先頭から抽出するにはLEFT関数、末尾から抽出するにはRIGHT関数を使い、LEN関数と組み合わせることで末尾N文字を除いた抽出にも対応できます。
・中間部分を抽出するにはMID関数で開始位置と文字数を指定します。開始位置が変動する場合はFIND関数と組み合わせて動的に位置を特定します。
・特定の文字を削除・置換するにはSUBSTITUTE関数を使い、置換文字列に「””」を指定することで削除操作として活用できます。複数文字の削除はSUBSTITUTE関数を入れ子にします。
・位置指定で文字を削除・置換するにはREPLACE関数を使います。マスキング処理など特定位置の文字を隠す用途にも活用できます。
・区切り文字の位置が変動する場合はFIND関数で位置を動的に取得し、LEFT・RIGHT・MID関数と組み合わせることで柔軟な抽出が可能になります。

これらの関数を状況に応じて組み合わせることで、文字列の一部削除・抽出に関するほとんどの操作に対応できます。

文字列操作の基本はLEFT・RIGHT・MID・SUBSTITUTE・REPLACEの5関数であり、これにFIND・LENを加えた7関数を習得することで、エクセルの文字列操作のほぼすべてのパターンに対応できるようになります

関数の組み合わせを活用して、データ整形や文字列操作をよりスムーズに進めていきましょう。

コメント

タイトルとURLをコピーしました