エクセルで左から3文字削除する方法!RIGHT関数・MID関数・REPLACE関数の使い分け

エクセルで左から3文字削除する方法!
エクセルでコードの左から3文字を削除したいときはないでしょうか。

けど、そんな中で悩むことは、

・LEFT関数や置換で消そうとしてもうまくいかない
・「A001」のようなコードの先頭の記号だけをきれいに取りたい
・コードの長さがバラバラで位置がずれてしまう

ですよね。

今回はそんなお悩みを解決する

・エクセルで左から3文字を削除する方法(RIGHT関数・MID関数・REPLACE関数)

についてまとめます!

完成イメージ

商品コードや管理番号の先頭には、分類を表す「A00」のような記号が付いていることがあります。
今回は
・左から3文字(A00 など)を削除して、必要な部分だけを取り出す方法
をゴールにします。
RIGHT関数・MID関数・REPLACE関数の3つを使い分けられるようになります。

なお、「中央の文字だけ残す」やり方と、うまくいかないときの対処法(トラブルシュート)もあわせてご紹介します。
早速実装して試してみましょう!
左から3文字を削除した完成表
上の画像が完成形です。左から3文字の「A00」が消えて、必要な部分だけが残りました。

STEP1. 元データを用意する

まずは左から3文字を削除したいコード一覧を用意します。
A列が元の文字列、B列が削除後、C列が抽出後の列です。
今回は「A001-東京」のようなコードを10件用意しました。
先頭の「A00」が削除したい3文字、そのあとの「1-東京」が残したい部分です。
この一覧を、これから関数で加工していきましょう。
左から3文字を削除する前のコード一覧

下の表をコピーして、Excelのシートに貼り付けるとそのまま試せます。

元の文字列 削除後 抽出後 中央だけ残す
A001-東京
B012-大阪
C003-名古屋
D044-福岡
E025-札幌
F007-仙台
G031-広島
H058-神戸
I012-千葉
J099-京都

※ 数式で求める列は空にしています。すでに値が入っている列はそのまま残して試せます。

STEP2. RIGHT関数で右側を取り出す

左から3文字を削除するには、逆の発想で右側だけを取り出すのがコツです。
削除後の B2セル を選び、=RIGHT(A2,LEN(A2)-3) と入力します。
LEN(A2) でA2の文字数を数え(この場合は7)、そこから3を引いた「4文字分」を右から取り出します。
結果は 1-東京 になりました。
あとはフィルハンドルでB11までコピーすれば、全件の左3文字が消えます。
「全体の文字数から3を引く」と覚えると、コードの長さが変わっても対応できますね。
RIGHT関数で左3文字を削除した一覧

数式はどのセルに入れる?

削除後のセルを選び、数式バーに =RIGHT(A2,LEN(A2)-3) と入力するだけです。
実際の入力画面がこちらです。
入力中は引数のヒントが表示されるので、順番を確認しながら進められます。
RIGHT関数の入力画面

STEP3. MID関数でも同じことができる

同じ結果は、MID関数でも出すことができます。
MID関数は「何文字目から何文字分」を取り出す関数です。
抽出後の C2セル に =MID(A2,4,LEN(A2)) と入力します。
「4文字目から最後まで」を取り出す指定なので、結果はRIGHT関数と同じ 1-東京 になります。
どちらでも同じ結果になるので、書きやすいほうを選んでOKです。
MID関数で左3文字を削除した一覧

MIDの数式はどう入れる?

抽出後のセルを選び、数式バーに =MID(A2,4,LEN(A2)) と入力します。
実際の入力画面がこちらです。
開始位置の 4 は「左3文字の次の位置」という意味です。
MID関数の入力画面

STEP4. 削除ではなく「中央だけ残す」(MID)との使い分け

ここまでは「左3文字を削除」する方法でした。
ですが、取り出したいのがコードの中央にある「東京」のような部分なら、文字数を数えるより区切り文字を目印にするほうが確実です。
「A001-東京」の「-(ハイフン)」を目印に、その右側だけを取り出します。
D2セルに =MID(A2,SEARCH(“-“,A2)+1,LEN(A2)) と入力します。
SEARCH(“-“,A2) でハイフンの位置(5文字目)を探し、その次の文字から取り出す指定です。
結果は 東京 になりました。
先頭が「A001」でも「AB0001」でも、ハイフンの位置を探すのでズレません。
「位置で削除」か「区切りで抽出」かで使い分けるとよいですね。
区切り文字から中央だけを取り出した一覧

中央だけ残す数式はどう入れる?

区切り文字で探すときは、数式バーに =MID(A2,SEARCH(“-“,A2)+1,LEN(A2)) と入力します。
実際の入力画面がこちらです。
SEARCH でハイフンの位置を調べ、その +1 の位置から取り出すのがポイントです。
SEARCHを使ったMID関数の入力画面

左3文字を削除する3つの方法の比較

同じ「左3文字を削除」も、3通りの書き方があります。
書きやすさと、コードの長さが変わったときの強さで選ぶと迷いません。

方法 数式 結果 こんなときに
RIGHT+LEN =RIGHT(A2,LEN(A2)-3) 1-東京 「左から3文字削除」と決まっているとき。いちばん分かりやすい
MID =MID(A2,4,LEN(A2)) 1-東京 「4文字目から最後まで」と位置で指定したいとき
REPLACE =REPLACE(A2,1,3,””) 1-東京 「1〜3文字目を空にして削除」とそのまま書きたいとき
POINT

「左から3文字削除」なら =RIGHT(A2,LEN(A2)-3) がいちばん直感的です。
「◯文字目から取り出す」なら =MID(A2,4,LEN(A2))、
「決まった位置を消す」と書きたいなら =REPLACE(A2,1,3,””) がおすすめです。
中央の「東京」だけを取りたいときは、位置ではなく SEARCHで区切り文字を探すのがコツですよ。

VBAで左3文字を一括削除する

毎回数式をコピーするのが手間なときは、VBAでまとめて処理するのもおすすめです。
Alt+F11でVBAエディターを開き、標準モジュールに次のコードを貼り付けます。
ボタン1つで、指定した列の左3文字をまとめて削除できます。

Sub DelLeft3()
    Dim r As Long
    For r = 2 To 11
        Cells(r, 3).Value = Right(Cells(r, 1).Value, Len(Cells(r, 1).Value) - 3)
    Next r
End Sub

タカヒロ

タカヒロ
「Cells(r, 1)」はA列(元の文字列)、「Cells(r, 3)」はC列(結果)という意味です。
結果を入れたい列に合わせて数字を変えてみてくださいね。
何十行も数式をコピーする手間がなくなるので、カンタンですね。

うまくいかないときの対処法(トラブルシュート)

実際に試すと、思ったようにいかないこともあるかもしれません。
よくあるつまずきと対処法をまとめました。

症状 原因 対処
結果が「1-東京」のように中途半端になる 左3文字を削除すると、区切り文字の手前の数字が残ってしまう 市名だけ取りたいなら =MID(A2,SEARCH(“-“,A2)+1,LEN(A2)) で区切り文字の右側を取り出す
コードの文字数がバラバラで位置がずれる 先頭の管理コードの長さが行ごとに違う SEARCHで区切り文字の位置を探す(例:=MID(A2,SEARCH(“-“,A2)+1,LEN(A2)))
結果が数値になって先頭の0が消える 元データが数値として入力されている(「012」→「12」) 元データを文字列として入力する/=TEXT(A2,”@”) で文字列に変換してから処理する
区切り文字がうまく見つからない 全角「-」と半角「-」が混在している(SEARCHで拾えない) データをどちらかに統一する/=SUBSTITUTE(A2,”-”,”-“) で半角に置き換えてから処理する
先頭や末尾の空白で結果がずれる コードの前後に余分なスペースが入っている =RIGHT(TRIM(A2),LEN(TRIM(A2))-3) のように TRIM で空白を除いてから処理する

関数の説明

今回使う関数の概要です。
どれも文字列の取り出しでよく使う関数なので、違いを押さえておきましょう。

RIGHT関数(ライト)

書式 =RIGHT(文字列, [文字数])
できること 文字列の右端から指定した文字数分を取り出します。
戻り値 取り出した文字列
こんなときに =RIGHT(A2,LEN(A2)-3) のようにして、左3文字を除いた残りを取り出したいとき。
注意 文字数を省略すると1文字だけ返ります。全角も半角も1文字として数えます。
=RIGHT(A2,LEN(A2)-3)

MID関数(ミッド)

書式 =MID(文字列, 開始位置, 文字数)
できること 文字列の指定した位置から、指定した文字数分を取り出します。
戻り値 取り出した文字列
こんなときに =MID(A2,4,LEN(A2)) で4文字目から最後までを取り出したいとき。
注意 開始位置が文字数より大きいと空欄になります。文字数に LEN(A2) を指定すると「最後まで」の意味になります。
=MID(A2,4,LEN(A2))

LEN関数(レン)・SEARCH関数(サーチ)は応用で

関数 役割 使い方の例
LEN 文字列の文字数を数えます。 =LEN(A2) … 「A001-東京」なら7。RIGHTやMIDの「何文字分」に使います。
SEARCH 文字列の中で探したい文字の位置を返します。 =SEARCH(“-“,A2) … ハイフンの位置(5)を返します。位置が決まっていないときの目印に使います。

完成

左から3文字の「A00」が消えて、必要な部分だけが残りました。
B列とC列はRIGHT関数・MID関数で同じ「1-東京」に、D列は区切り文字から 東京 だけを取り出しています。
思ったとおりに動きましたか?
コードの長さが変わっても、RIGHT+LENやSEARCH+MIDなら自動で追従するので、毎回の編集がぐっとラクになります。
左から3文字を削除した完成表

さいごに

いかがでしょうか。

今回は、

・エクセルで左から3文字を削除する方法(RIGHT関数・MID関数・REPLACE関数)

についてまとめました。

まずは今回のサンプル表で、ぜひ一度試してみてください。
「左から◯文字削除」ならRIGHT+LEN、位置で指定するならMID、区切り文字で取り出すならSEARCH+MIDと使い分けてみてくださいね。
また、他にも便利なExcelの時短テクニックがありますので、よろしければご参照頂ければと思います。



この記事の関連キーワード

こちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。






コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

CAPTCHA ImageChange Image