月商100万円を達成するヒント満載!楽天市場・Yahooショッピング・ECサイト運営のマニュアル

【Excel】知ってて損しない!特定の文字の前後を取り出せる関数

こんにちは。デザイナーの真琴です。3月ですね。
もう2018年の1/6が終わってしまいました。1日が30時間くらいだったらいいのにとここ最近モンスターハンターワールドをしながら思っています。
実際のところ、時間を伸ばしたり縮めたりなんてできないので効率よく仕事を終わらす方を考えてきます。
ということで、今回もまたまたExcelネタです。
エクセルで特定の文字の前まで取り出す・特定の文字以降を取り出す方法を紹介していきます。

  1. 特定の文字より前の文字を取り出す
  2. 特定の文字より後の文字を取り出す
  3. まとめ

特定の文字より前の文字を取り出す

やりたいこと

下記の文字列を『-0』の前までを取り出したい場合

g-note8-antique-01CML
gala7edge-2tone-02GLD
moto-g4-antique-04GRY
xpr-xz-antique-03BLK
gala8-mtlcase-03PNK
ipx-ring-case-02SLV

↓↓↓↓↓

g-note8-antique
gala7edge-2tone
moto-g4-antique
xpr-xz-antique
gala8-mtlcase
ipx-ring-case

記述方法

A2に文字列があり、B2に表示したい場合。

=LEFT(A2,FIND(“-0”,A2)-1)

  A B C D
1 商品コード 代表商品コード    
2 g-note8-antique-01CML =LEFT(A2,FIND(“-0”,A2)-1)    
3 gala7edge-2tone-02GLD =LEFT(A3,FIND(“-0”,A3)-1)    
4 moto-g4-antique-04GRY moto-g4-antique    
5 xpr-xz-antique-03BLK xpr-xz-antique    
6 gala8-mtlcase-03PNK gala8-mtlcase    
7 ipx-ring-case-02SLV ipx-ring-case    
8        

説明

【LEFT関数】・・・左端から何文字かを取り出す

引数

=LEFT(文字列, 文字数)

文字列 もとになる文字列を指定。数値を直接指定することも可能。
文字数/
バイト数
取り出したい文字数またはバイト数を指定。省略すると、1が指定されたものとみなされます。

=LEFT(“moto-g4-antique-04GRY”,4)
と入力すると、先頭から4文字目までの「moto」が取り出せます。

【FIND関数】・・・文字列の位置を調べる

引数

=FIND(検索文字列, 対象, 開始位置)

検索文字列 検索する文字列を指定。
対象 検索の対象となるもとの文字列を指定。
開始位置 [対象]のどの位置から検索を開始するかを指定。[対象]の先頭を1として文字単位またはバイト単位で数えます。省略したときは1が指定されたものとみなされます。(先頭から検索されます)

=FIND(“-“,”moto-g4-antique-04GRY”)
と入力すると、「-」がある位置は先頭(左から)5文字目なので「5」が取り出せます。

=LEFT(A2,FIND(“-0”,A2)-1)

と入力した場合、FIND関数で「-0」の一つ前の位置の文字数を指定して
LEFT関数でその数字までを取り出します。

関数が2つ・3つ組み合わすことで複雑に見えて考えたくなくなるかも知れませんが、一つ一つの関数を理解することでわかりやすくなります。

特定の文字より後の文字を取り出す

やりたいこと

下記の文字列を『-0』以降を取り出したい場合

xpr-xz-tpu-01CLR
xpr-xz-tpu-02GRY
xpr-xz-tpu-03PPL
xpr-xz-tpu-04SKY
xpr-xz1-tpu-05PNK
xpr-xz1-tpu-06BLU
xpr-xz1-tpu-07RED

↓↓↓↓↓

-01CLR
-02GRY
-03PPL
-04SKY
-05PNK
-06BLU
-07RED

よく使うのが、カラー別の売上件数や売れ筋などの分析する時などに使います。

記述方法

A2に文字列があり、B2に表示したい場合。

=RIGHT(A2,LEN(A2)-(FIND(“-0”,A2)-1))

  A B C D
1 商品コード 代表商品コード    
2 xpr-xz-tpu-01CLR =RIGHT(A2,LEN(A2)-(FIND(“-0”,A2)-1))    
3 xpr-xz-tpu-02GRY =RIGHT(A3,LEN(A3)-(FIND(“-0”,A3)-1))    
4 xpr-xz-tpu-03PPL -03PPL    
5 xpr-xz-tpu-04SKY -04SKY    
6 xpr-xz1-tpu-05PNK -05PNK    
7 xpr-xz1-tpu-06BLU -06BLU    
8 xpr-xz1-tpu-07RED -07RED    

説明

【RIGHT関数】・・・右端から何文字かを取り出す

引数

=RIGHT(文字列, 文字数)

文字列 もとになる文字列を指定。数値を直接指定することも可能。
文字数/
バイト数
取り出したい文字数またはバイト数を指定。省略すると、1が指定されたものとみなされます。

=RIGHT(“xpr-xz-tpu-07RED”,3)
と入力すると、末尾から3文字目までの「RED」が取り出せます。

【LEN関数】・・・文字列の文字数を求める

引数

=LEN(文字列)

文字列 文字数を求めたい文字列を指定。

=LEN(xpr-xz-tpu-07RED)
と入力すると文字数「16」が取り出せます。※半角・全角どちらも1でカウントされます。

あとは、先程使った【FIND関数】をつかいます。

=RIGHT(A2,LEN(A2)-(FIND(“-0”,A2)-1))

FIND関数で「-0」がはじめに出てくる場所からマイナス1をして
「-0」の1つ前の場所を指定する、
それをLEN関数で取り出した数字を全体の文字数から引くと
残りの「-0」以降の文字数が取り出せます。
RIGHT関数で、その文字数まで取り出す仕組みになっています。

まとめ

今回は、よくつかってる関数なんですがよく忘れてしまうので備忘録的にも紹介しました。
機種別・カラー別・シリーズ別などでデータ分析などする時にかなり使えます。

by
株式会社 松平商会 デザイナーのマコトです。制作関係の記事を主に初級~あまり知られていなテクニックまで幅広く書いていきます。
SNSでフォローする