LEFT・RIGHT・MIDでコードを分解する方法

LEFT・RIGHT・MIDでコードを分解する方法 IT

コード分解の基本:LEFT・RIGHT・MIDで何ができるのか

Excelで社員番号や商品コード、管理番号などを扱っていると、「このコードの一部だけ取り出したい」と思う場面はよくあります。
たとえば、「TOKYO-001-2024」というコードから、拠点を表す「TOKYO」だけを抜き出したり、末尾の「2024」だけを取り出したりするケースです。

こうした文字列の分解に便利なのが、ExcelのLEFT関数・RIGHT関数・MID関数です。
これらは、セルに入力された文字列の中から、指定した位置の文字だけを取り出すための関数です。
コード管理やデータ整理をするうえで、覚えておくとかなり作業効率が上がります。

  • LEFT関数:文字列の左側、つまり先頭から指定した文字数を取り出す
  • RIGHT関数:文字列の右側、つまり末尾から指定した文字数を取り出す
  • MID関数:文字列の途中から、指定した文字数を取り出す

たとえば、セルA1に「ABCD1234」というコードが入っているとします。
このとき、先頭の「ABCD」を取り出したいならLEFT関数、末尾の「1234」を取り出したいならRIGHT関数を使います。
さらに、真ん中の「CD12」のように途中だけを抜き出したい場合はMID関数が便利です。

基本的な考え方はシンプルです。
「どこから」「何文字」取り出すのかをExcelに指示するだけです。
コードの桁数や構成が決まっているデータであれば、関数を一度設定するだけで、何百件・何千件のデータも一気に分解できます。
手作業でコピーしたり、目視で確認したりする必要がなくなるため、ミスの削減にもつながります。

特に実務では、社員番号の部署コード、商品コードのカテゴリ番号、請求番号の日付部分など、コードの中に意味を持たせているケースが多くあります。
LEFT・RIGHT・MIDを使えるようになると、こうした情報を必要な形に整理しやすくなります。

次の章からは、それぞれの関数について具体的な使い方を見ていきます。
まずは、コードの先頭部分を取り出すLEFT関数から確認していきましょう。

LEFT関数の使い方:コードの「先頭部分」を取り出す

LEFT関数は、セルに入力された文字列の左端から指定した文字数を取り出す関数です。
コードの先頭に「部署」「拠点」「カテゴリ」などの情報が入っている場合、その部分だけを抜き出したいときに使えます。

基本の書き方は次のとおりです。

=LEFT(文字列, 文字数)
  • 文字列:取り出したい元のデータが入っているセル
  • 文字数:左から何文字取り出すか

たとえば、セルA2に「TOKYO001」というコードが入っているとします。
このコードの先頭5文字である「TOKYO」だけを取り出したい場合は、次のように入力します。

=LEFT(A2,5)

すると、結果として「TOKYO」が表示されます。
このように、LEFT関数では「左から何文字ほしいか」を指定するだけで、コードの先頭部分を簡単に切り出せます。

実務では、商品コードや社員番号の先頭に意味を持たせているケースがよくあります。
たとえば、次のようなコードがあるとします。

コード LEFT関数 取得結果
SALES-1024 =LEFT(A2,5) SALES
HR-0035 =LEFT(A3,2) HR
IT2024001 =LEFT(A4,2) IT

このように、先頭の数文字が部署名や分類コードになっている場合、LEFT関数を使えば必要な情報だけを別の列に取り出せます。
あとはその列を使ってフィルターをかけたり、部署別・カテゴリ別に集計したりできるため、データ整理がかなり楽になります。

注意点として、LEFT関数は文字数を固定して取り出す関数です。
そのため、コードによって先頭部分の長さがバラバラな場合は、単純に「左から何文字」と指定するだけではうまくいかないことがあります。
たとえば「TOKYO-001」と「OSAKA-002」は拠点名が5文字ですが、「NY-003」は2文字です。
このような場合は、区切り文字である「-」の位置を探す関数と組み合わせる必要があります。

まずは、コードの桁数やルールが決まっているデータに対してLEFT関数を使ってみるのがおすすめです。
「先頭から何文字取り出せばよいか」が分かっていれば、数式はとてもシンプルです。
大量のコードから先頭情報を一括で抜き出したいときは、ぜひLEFT関数を活用してみてください。

RIGHT関数の使い方:コードの「末尾部分」を取り出す

RIGHT関数は、セルに入力された文字列の右端から指定した文字数を取り出す関数です。
LEFT関数が「先頭部分」を取り出すのに対して、RIGHT関数は「末尾部分」を抜き出したいときに使います。

基本の書き方は次のとおりです。

=RIGHT(文字列, 文字数)
  • 文字列:取り出したい元のデータが入っているセル
  • 文字数:右から何文字取り出すか

たとえば、セルA2に「TOKYO001」というコードが入っているとします。
このコードの末尾3文字である「001」だけを取り出したい場合は、次のように入力します。

=RIGHT(A2,3)

すると、結果として「001」が表示されます。
RIGHT関数では、「右から何文字ほしいか」を指定するだけで、コードの後ろにある番号や年度、連番などを簡単に取り出せます。

実務では、コードの末尾に連番・年度・枝番・バージョン番号などが入っているケースがよくあります。
たとえば、次のようなデータです。

コード RIGHT関数 取得結果
SALES-1024 =RIGHT(A2,4) 1024
ITEM-2024 =RIGHT(A3,4) 2024
USER-0007 =RIGHT(A4,4) 0007

たとえば「USER-0007」のような管理番号では、末尾の「0007」がユーザーの連番になっていることがあります。
この部分だけを別列に取り出しておけば、番号順に並べ替えたり、特定の番号だけを検索したりしやすくなります。

また、「ITEM-2024」のように末尾が年度になっているコードであれば、RIGHT関数で年度だけを取り出し、年度別の集計に使うこともできます。
手作業で末尾をコピーする必要がなくなるため、データ件数が多いほど効果を実感しやすい関数です。

注意したいのは、RIGHT関数もLEFT関数と同じく、指定した文字数を固定で取り出すという点です。
末尾の番号が必ず4桁、年度が必ず4文字のようにルールが決まっていれば問題ありません。
しかし、「A-1」「A-12」「A-100」のように末尾の桁数がバラバラな場合は、単純に右から何文字と指定するだけでは、必要な部分を正確に取り出せないことがあります。

もうひとつ覚えておきたいのが、Excelでは先頭に0が付いた番号を扱うときです。
RIGHT関数で「0007」を取り出した場合、結果は文字列として表示されるため、見た目上は「0007」のまま保持できます。
ただし、その後に数値として計算したり別の処理をしたりすると、先頭の0が消えることがあるため注意しましょう。

RIGHT関数は、コードの末尾に意味のある情報が入っているデータを整理するときに非常に便利です。
「末尾の何文字を取り出したいのか」が分かっている場合は、まずRIGHT関数を使えばシンプルに解決できます。
次の章では、先頭でも末尾でもなく、コードの途中部分を抜き出せるMID関数について見ていきます。

MID関数の使い方:コードの「途中部分」を指定して抜き出す

MID関数は、セルに入力された文字列の指定した位置から、指定した文字数を取り出す関数です。
LEFT関数は先頭、RIGHT関数は末尾を取り出す関数でしたが、MID関数はコードの真ん中にある情報を抜き出したいときに使います。

基本の書き方は次のとおりです。

=MID(文字列, 開始位置, 文字数)
  • 文字列:取り出したい元のデータが入っているセル
  • 開始位置:左から何文字目から取り出すか
  • 文字数:開始位置から何文字取り出すか

たとえば、セルA2に「TOKYO0012024」というコードが入っているとします。
この中から、6文字目から3文字分の「001」を取り出したい場合は、次のように入力します。

=MID(A2,6,3)

この数式では、A2の文字列を左から数えて6文字目から取り出しを開始し、そこから3文字分を取得します。
結果として、「001」が表示されます。

MID関数を使うときのポイントは、開始位置を正確に数えることです。
Excelでは、文字の位置を左から1、2、3……と数えます。
つまり、最初の文字は「1文字目」です。
プログラミングに慣れている人だと「0番目」から数える感覚があるかもしれませんが、ExcelのMID関数では1文字目スタートなので注意しましょう。

コード MID関数 取得結果
ABCD1234EF =MID(A2,5,4) 1234
SALES-24-001 =MID(A3,7,2) 24
ITEM2024A001 =MID(A4,5,4) 2024

たとえば「ITEM2024A001」のようなコードでは、先頭の「ITEM」が商品分類、途中の「2024」が年度、後半の「A001」が管理番号というように、コードの中間部分に意味が含まれていることがあります。
この場合、MID関数で年度だけを取り出しておけば、年度別の集計やフィルターがしやすくなります。

また、社員番号や受注番号でも、途中に部署コードや年月が入っているケースがあります。
たとえば「EMP240501」のようなコードで、3文字目から2文字が入社年度を表しているなら、次のように書けます。

=MID(A2,4,2)

このように、MID関数は「左から何文字目に、どんな情報が入っているか」が決まっているデータにとても強い関数です。
コードの桁数や構成ルールが統一されているほど、シンプルな数式で必要な情報を抜き出せます。

一方で、コードによって文字数や区切り位置がバラバラな場合は、開始位置を固定すると正しく取り出せないことがあります。
たとえば「TOKYO-001」と「NY-001」では、同じ場所から取り出しても結果がずれてしまいます。
そのような場合は、区切り文字の位置を探すFIND関数などと組み合わせると、より柔軟に分解できます。

まずは、桁数がそろったコードに対してMID関数を使い、途中部分を抜き出す感覚をつかみましょう。
LEFT・RIGHTとあわせてMIDを使えるようになると、コードの先頭・末尾・途中を自在に分解できるようになります。

実務で使えるコード分解例:社員番号・商品コード・管理番号を整理する

ここまで見てきたLEFT・RIGHT・MID関数は、実務のデータ整理でそのまま使えます。
特に、社員番号・商品コード・管理番号のようにコードの桁数やルールが決まっているデータでは、必要な情報を別列に分けるだけで、検索・集計・チェックがかなり楽になります。

たとえば、社員番号が「HR240015」のような形式だとします。
先頭2文字が部署、3〜4文字目が入社年度、末尾4文字が社員の連番というルールであれば、次のように分解できます。

取り出したい情報 数式 取得結果
部署コード =LEFT(A2,2) HR
入社年度 =MID(A2,3,2) 24
社員連番 =RIGHT(A2,4) 0015

このように分解しておけば、「部署別に人数を確認する」「入社年度ごとに並べ替える」といった作業がしやすくなります。
元の社員番号を見ただけでは分かりにくい情報も、列を分けることで一気に扱いやすくなります。

商品コードでも同じ考え方が使えます。
たとえば「PC2024A001」というコードで、先頭2文字がカテゴリ、3〜6文字目が年度、7文字目がランク、末尾3文字が商品番号だとします。

=LEFT(A2,2)   // カテゴリ
=MID(A2,3,4)  // 年度
=MID(A2,7,1)  // ランク
=RIGHT(A2,3)  // 商品番号

カテゴリや年度を別列にしておくと、売上データと組み合わせたときに「PCカテゴリだけ集計する」「2024年の商品だけ抽出する」といった分析ができます。
営業資料や在庫管理表を作るときにも便利です。

また、管理番号の整理にも役立ちます。
たとえば「TOKYO-2405-089」のように、拠点・年月・連番が決まった位置に入っている場合は、LEFTやMID、RIGHTで分解できます。

  • =LEFT(A2,5):拠点「TOKYO」を取得
  • =MID(A2,7,4):年月「2405」を取得
  • =RIGHT(A2,3):連番「089」を取得

実務で使うコツは、まずコードのルールを確認することです。
「何文字目から何文字分が、どんな意味を持っているのか」を把握してから数式を作ると、ミスを防げます。
分解後の列に「部署」「年度」「連番」など分かりやすい見出しを付けておくと、チーム内で共有するときにも親切です。

LEFT・RIGHT・MIDは単体でも便利ですが、コードを意味ごとに分けて管理することで、Excelのフィルター、並べ替え、集計機能と組み合わせやすくなります。
手作業で確認していたコード整理を、関数で自動化していきましょう。

コメント

NewsTowerをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む