【Excel】関数で後ろから(右から)指定範囲を抽出する方法

【Excel】関数で後ろから(右から)指定範囲を抽出する方法

Excelの関数で後ろから(右から)対象文字を探して、指定範囲を抽出する方法

Excel関連記事

関連記事をもっとみる

右からの抽出はRIGHT関数でできる

単純に右からの抽出はRIGHT関数を使います。あとは指定位置を可変にしてやればいいだけです。

=RIGHT(A1,可変の数値)

1.区切り文字を数える

指定範囲を抽出したいなら区切り文字を数えましょう。
LEN関数を使うと文字列の文字数を出してくれます。
この文字列の文字数を使って計算していきます。

例えば「<br>」が区切り文字だとしたら「<br>」をSUBSTITUTE関数で消すと
消えた文字数 = 区切り文字の数といえます。
ですが今回の場合、「<br>」は4文字なので、
SUBSTITUTE関数で消すと1回消すごとに4文字消えてしまいます。
すると区切り文字の数が4倍になってしまうので、
最後にこの数字を4で割ると正しい出現回数が出せます。

=(LEN(A1)-LEN(SUBSTITUTE(A1,”<br>”,””)))/4

2.取り出したい箇所に区切り文字に目印をつける

上の関数で区切り文字の数がわかったので、最後の区切り文字が何個目になるかもわかりました。
なので最後の区切り文字に目印をつけます。
普段使わないような目印がいいので、ここでは「@」とします。
「1.区切り文字を数える」の関数と組み合わせます。

=SUBSTITUTE(A1,”<br>”,”@”,B1)

3.目印を頼りに切り取り(RIGHT関数)

目印がついたらあとはそれを頼りに検索し、RIGHT関数で文字数を指定すれば完了です。
FIND関数は左から検索するので、そのままではRIGHT関数が使えません。
なので一度LEN関数で対象の全文字数を出し、FIND関数で見つかった位置を引けば正しく取り出せます。

=RIGHT(C1,LEN(C1)-FIND(“@”,C1))

4.目印を頼りに切り取り(REPLACE関数)

「3.」以外のやり方でもできます。
REPLACE関数を使って、目印の部分までを消すという方法です。
こっちの方がわかりやすいと思います。

=REPLACE(C1,1,FIND(“@”,C1),””)

文字列の最後であればこれらの方法で対応できます。
抽出場所が固定ならSUBSTITUTE関数で簡単にできそうですね!

コメント

タイトルとURLをコピーしました