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完全マスター: 関数・テクニック・新機能を網羅した決定版ガイド
本書は、Excelの基礎から応用まで、包括的に学べるガイドブックです。当サイトの豊富な情報を、電子書籍向けに最適化し、読みやすく再構成しました。
【本書の特徴】
- 情報量:Word-A4サイズ換算で1,400ページ相当
- 基本操作から高度なテクニックまで、段階的に学習可能
- 140種類の関数を詳細に解説
- 109種類の実用的なテクニックと具体例を紹介
- 最新機能(XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピル等)を徹底解説
【対象読者】
- Excel初心者からプロフェッショナルまで
- 体系的にExcelスキルを向上させたい方
- 業務効率化を目指すビジネスパーソン
- データ分析や可視化のスキルを磨きたい方
【本書の強み】
- 実務に即した例題と解説
- 視覚的な図表やスクリーンショットで理解を促進
- 最新のExcelバージョンに対応した内容
- 著者の長年の経験に基づく、実践的なTipsを多数収録
【更新とサポート】
- 常に最新の情報を反映するため、定期的に内容を更新
- 最新版の入手方法:Amazonカスタマーサポートへお問い合わせください
【入手方法】
- 買い切り:950円
- Kindle Unlimited:読み放題プランで利用可能
Excelマスターを目指す方、業務効率を劇的に向上させたい方に、自信を持っておすすめできる一冊です。この1冊で、Excelの可能性を最大限に引き出す力が身につきます。