Excel(エクセル)で文字列の一部を抜き出して別のセルに表示させたい場合があります。
例えば、セル「A1」に
「あかさたなはまやらわ」
と入力されている場合に、その文字列の一部
「あかさたな」
の部分をセル「B1」に表示させたいような場合です。
セル「B1」の「あかさたな」をわざわざ手入力せずに、関数を使うことであらかじめ入力されたセル「A1」の文字列の一部を抽出できます。
1、文字列の一部を抽出する LEFT、RIGHT、MID 関数の使い方
文字列の一部を抽出する関数を3つ紹介します。
LEFT 関数
LEFT 関数は「=LEFT(文字列,文字数)」のように記述します。
●「文字列」は一部を抽出する対象となる文字列のことです。
●「文字数」は抽出する文字の数です。
この関数により「文字列」の一番左端から「文字数」分を抽出することになります。
さて、冒頭に示した例の場合で説明しますね。
セル「A1」に「あかさたなはまやらわ」と文字列が入力されています。
その文字列の一番左から5文字を抽出してセル「B1」に表示させるわけですね。
その場合セル「B1」に「=LEFT(A1,5)」と入力します。
これによりセル「B1」には「あかさたな」と表示されます。
RIGHT 関数
RIGHT 関数は「=RIGHT(文字列,文字数)」のように記述します。
●「文字列」は一部を抽出する対象となる文字列のことです。
●「文字数」は抽出する文字の数です。
この関数により「文字列」の一番右端から「文字数」分を抽出することになります。
さて、上と同じ例で今度はセル「A1」に入力された文字列「あかさたなはまやらわ」の後半の「はまやらわ」の部分を抽出したい場合を考えます。
上記の文字列の一番右から5文字を抽出してセル「B1」に表示させることになります。
その場合セル「B1」に「=RIGHT(A1,5)」と入力します。
これによりセル「B1」には「はまやらわ」と表示されます。
MID 関数
MID 関数は「=MID(文字列,開始位置,文字数)」のように記述します。
●「文字列」は一部を抽出する対象となる文字列のことです。
●「開始位置」は抽出を開始する文字が左端から数えて何番めかを表します。
●「文字数」は抽出する文字の数です。
この関数により「文字列」の一番左端から数えて「開始位置」番目を起点に「文字数」分を抽出することになります。
さて、上と同じ例で今度はセル「A1」に入力された文字列「あかさたなはまやらわ」の「さたなはま」の部分を抽出したい場合を考えます。
上記の文字列の一番左端から3文字目の「さ」を起点にして5文字を抽出してセル「B1」に表示させることになります。
その場合セル「B1」に「=MID(A1,3,5)」と入力します。
これによりセル「B1」には「さたなはま」と表示されます。
2、LEFT、RIGHT、MID 関数を使う実例
商品販売コードを分解する
さて、上で説明した LEFT、RIGHT、MID 関数をどのように使えるか、もう少し実例を示したいと思います。
商品販売について
・種類
・出荷日
・販売形態
を管理したデータシートを用意します。
A列に「商品販売コード」が並んでいるとします。
商品販売コードは全部で11文字
・最初の2文字のアルファベットが「種類」
・次の8文字の数値が「出荷日」
・最後の1文字のアルファベットが「販売形態」
を表すものとします。
例えば商品販売コードが「TA20170829S」の場合、
・種類は TA(テーブルのこと)
・出荷日は 20170829(2017年8月29日のこと)
・販売形態は S(店舗販売のこと)
となります。
さて、このA列の商品販売コードを「種類」「出荷日」「販売形態」に分解してみます。
C列に「種類」、D列に「出荷日」、E列に「販売形態」を表示します。
セル「C2」に「=LEFT(A2,2)」と入力します。
セル「D2」に「=MID(A2,3,8)」と入力します。
セル「E2」に「= RIGHT(A2,1)」と入力します。
3行目以下は同じ数式を入力すれば、良いので2行目を含めて下の行まで選択し「Ctrl + D」を押しましょう。
下の行までの選択は、セル「B3」上でウインドウ枠の固定(表示タブから選択)しておくとやりやすいです。
これで全ての行の商品販売コードを分解できました。
商品販売コードを分解し商品名、販売形態を表示する
さて、先ほどの商品販売コードの分解にもう一工夫加えたいと思います。
C列の「種類」は今はアルファベットでの表示になっていますが、これを日本語の商品名に変換します。
TA はテーブル
CA はイス
DE は勉強机
を意味するので表示をそのように変換したいと思います。
また、E列の「販売形態」については
S は店舗販売
N は通信販売
を意味するので表示をそのように変換したいと思います。
セル「C2」に「=IF(LEFT(A2,2)=”TA”,”テーブル”,IF(LEFT(A2,2)=”CH”,”イス”,IF(LEFT(A2,2)=”DE”,”勉強机”,””)))」と入力します。
IF 関数についての詳細な説明は今回は割愛しますが、上記式により
「一番左端から2文字」がTAの場合はテーブル、CHの場合はイス、DEの場合は勉強机
を表示します。
セル「D2」には先ほどと同じ式「=MID(A2,3,8)」を入力します。
セル「E2」に「=IF(RIGHT(A2,1)=”S”,”店舗販売”,IF(RIGHT(A2,1)=”N”,”通信販売”,””))」と入力します。
下の行にも同じ数式を入力(Ctrl + Dを使うと良いです)すれば、全ての行で表示させることができます。
3、まとめ
LEFT、RIGHT、MID 関数の使い方について実例をあげながら説明しました。
何かしらの規則性を持って並んでいる文字列であれば、同じ法則で分解できる場合が多いです。
今回の例の様に活用できる機会があれば是非使って見て下さい。