Excel FIND関数で右(後ろ)からN文字目を取得する方法
開始位置(左・前)からの位置で取得します。
逆に終了位置(右・後)からの位置を取得する関数やオプション、
文字を反転させる関数もないので複数の関数を組み合わせる必要があります。
この記事ではFIND関数で紹介しますが、FINDB関数でも同様です。
方法
Yahoo!天気の東京都のURLの最後の/を取得する例で考えます。
https://weather.yahoo.co.jp/weather/jp/13/?day=1
LAMBDA関数を利用する方法
Microsoft365など新しい機能が反映されているExcelの場合、
後述する従来の方法と違い、テキストを逆さにする数式が1セルの数式で完結します。
そのためそれにFIND関数をかけるだけで完了します。
逆さにする部分はCONCAT、MAKEARRAY、LEN、LAMBDA、MIDを利用します。
(赤字部分はセル参照やテキストに変更)
=LEN(対象)-FIND("/",CONCAT(MAKEARRAY(1,LEN(対象),LAMBDA(row,col,MID(対象,LEN(対象)-col+1,1)))))+1

従来の方法
取得する数式

SUBSTITUTE関数とLEN関数を併用で実現できます。(文字色ありは可変な部分)
=FIND(処理用文字,SUBSTITUTE(対象,検索文字列,処理用文字,LEN(対象)-LEN(SUBSTITUTE(対象,検索文字列,""))-(右からN文字目-1)))
可変部分は今回の例ではこのように設定します。
可変部分 | 例 |
---|---|
処理用文字 | ※ |
対象 | https://weather.yahoo.co.jp/weather/jp/13/?day=1 |
検索文字列 | / |
処理用文字はなんでも構いませんが、
対象中になく処理用文字とも異なる文字である必要があります。
この結果とLEFT関数を組み合わせれば最後の/までのURLが取得されます。
https://weather.yahoo.co.jp/weather/jp/13/
右からN文字目の数字を変えるとより左の位置で検索します。
例えば3にすると右から3番目となりLEFT関数の結果がこうなります。
https://weather.yahoo.co.jp/weather/

数式の詳細説明
どのような動きをしているかを順を追って説明します。
結果さえ取れれば良いという方は読み飛ばしてくださって構いません。
まずLEN関数で対象の文字数を取得します。
セル | 項目名 | 数式 |
---|---|---|
H3 | 対象の文字数 | =LEN(対象) |

SUBSTITUTE関数で対象から検索文字列を全削除します。
今回の例ではこのような結果となります。
セル | 項目名 | 数式 |
---|---|---|
I3 | 対象から検索文字列を除外した文字列 | =SUBSTITUTE(対象,検索文字列,"") |
https:weather.yahoo.co.jpweatherjp13?day=1

LEN関数で対象から検索文字列を除外した文字数を取得します。
セル | 項目名 | 数式 |
---|---|---|
J3 | 対象から検索文字列を除外した文字数 | =LEN(対象から検索文字列を除外した文字列) |

先ほどの二つの文字数の差を算出し、検索文字列の数を求めます。
検索文字列の数=対象の文字数-対象から検索文字列を除外した文字数
セル | 項目名 | 数式 |
---|---|---|
K3 | 検索文字列の数 | 対象の文字数-対象から検索文字列を除外した文字数 |

それを右からN文字目から1を引いた数を引きます。
セル | 項目名 | 数式 |
---|---|---|
L3 | N文字目の検索文字列 | 検索文字列の数-(右からN文字目-1) |
()は計算上不要なのですが見た目上、
一まとまりにするために入れているだけです。

SUBSTITUTE関数でN文字目の対象を処理用文字に置換します。
セル | 項目名 | 数式 |
---|---|---|
M3 | N文字目の検索文字列を処理用文字に置換した対象 | SUBSTITUTE(対象,検索文字列,処理用文字,N文字目の検索文字列) |

置換した文字列から処理用文字の位置を、
FIND関数で出せば右からN文字目の検索となります。
セル | 項目名 | 数式 |
---|---|---|
N3 | 右からN文字目の検索文字列の位置 | =FIND(処理用文字,右からN文字目の検索文字列を処理用文字に置換した対象) |

処理用文字が対象中に別途含まれている場合、
FIND関数がそちらに反応する場合があるので
処理用文字は対象に存在しない文字である必要があります。
マクロ・VBA
数式を組み合わせるより、少ない手間と簡潔な記述で実現可能です。
Excelを効率的に習得したい方へ
当サイトの情報を電子書籍用に読み易く整理したコンテンツを
買い切り950円またはKindle Unlimited (読み放題) で提供中です。

Word-A4サイズ:1,400ページの情報量で
(実際のページ数はデバイスで変わります)
基本的な使い方、関数の解説(140種類)、
頻出テクニックと実用例(109種類)、
XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピルなど便利な新機能を紹介。
体系的に学びたい方は是非ご検討ください。
アップデートなどの更新事項があれば随時反映しています。
なお購入後に最新版をダウンロードするには
Amazonへの問い合わせが必要です。