エクセルでコードの左から3文字を削除したいときはないでしょうか。
けど、そんな中で悩むことは、
・「A001」のようなコードの先頭の記号だけをきれいに取りたい
・コードの長さがバラバラで位置がずれてしまう
ですよね。
今回はそんなお悩みを解決する
についてまとめます!
完成イメージ
商品コードや管理番号の先頭には、分類を表す「A00」のような記号が付いていることがあります。
今回は
・左から3文字(A00 など)を削除して、必要な部分だけを取り出す方法
をゴールにします。
RIGHT関数・MID関数・REPLACE関数の3つを使い分けられるようになります。
なお、「中央の文字だけ残す」やり方と、うまくいかないときの対処法(トラブルシュート)もあわせてご紹介します。
早速実装して試してみましょう!

上の画像が完成形です。左から3文字の「A00」が消えて、必要な部分だけが残りました。
もくじ
STEP1. 元データを用意する
まずは左から3文字を削除したいコード一覧を用意します。
A列が元の文字列、B列が削除後、C列が抽出後の列です。
今回は「A001-東京」のようなコードを10件用意しました。
先頭の「A00」が削除したい3文字、そのあとの「1-東京」が残したい部分です。
この一覧を、これから関数で加工していきましょう。

下の表をコピーして、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(A2,LEN(A2)-3) と入力するだけです。
実際の入力画面がこちらです。
入力中は引数のヒントが表示されるので、順番を確認しながら進められます。

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

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

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 の位置から取り出すのがポイントです。

左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文字目を空にして削除」とそのまま書きたいとき |
「左から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
結果を入れたい列に合わせて数字を変えてみてくださいね。
何十行も数式をコピーする手間がなくなるので、カンタンですね。
うまくいかないときの対処法(トラブルシュート)
実際に試すと、思ったようにいかないこともあるかもしれません。
よくあるつまずきと対処法をまとめました。
| 症状 | 原因 | 対処 |
|---|---|---|
| 結果が「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なら自動で追従するので、毎回の編集がぐっとラクになります。

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












コメントを残す