こんにちは。デザイナーの真琴です。3月ですね。
もう2018年の1/6が終わってしまいました。1日が30時間くらいだったらいいのにとここ最近モンスターハンターワールドをしながら思っています。
実際のところ、時間を伸ばしたり縮めたりなんてできないので効率よく仕事を終わらす方を考えてきます。
ということで、今回もまたまたExcelネタです。
エクセルで特定の文字の前まで取り出す・特定の文字以降を取り出す方法を紹介していきます。
下記の文字列を『-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」が取り出せます。
と入力した場合、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関数で、その文字数まで取り出す仕組みになっています。
今回は、よくつかってる関数なんですがよく忘れてしまうので備忘録的にも紹介しました。
機種別・カラー別・シリーズ別などでデータ分析などする時にかなり使えます。