Excel FIND関数で2つ目以降の位置を取得する方法

2022年10月1日

FIND・FINDB関数は指定文字列の位置を取得する関数ですが、

最初の1個目のみ位置を取得が可能です。

この記事では任意の個数の(N個目)の位置を取得する方法を紹介します。

手順

従来の方法

サンプルファイル

このファイルを使用すれば利用可能です。

D3セルに検索文字、B5~8セルに対象文字列を入力すると

C5~O8セルに4行目の個数に該当する位置が表示されます。

対応する位置がない場合は「該当なし」と表示されます。

サンプルファイルの使用例

数式

1個目の数式にはこのように入力します。

IFERROR関数FIND関数を使用します。

=IFERROR(FIND(検索文字,対象文字列),"該当なし")

1個目は通常のFIND関数の使い方と変わりません。

1個目の数式

2個目以降の数式はこのようになります。

=IFERROR(FIND(検索文字,対象文字列,1個目の位置+1),"該当なし")

検索文字は行列共に$で固定し、対象文字列は列のみを$で固定します。

FIND関数の三つめの引数に(開始位置)1個目の位置+1を入れることにより

2個目の位置が結果となります。

2個めの数式

2個目の数式を任意の数だけコピーすれば完成します。

3個目以降に数式をコピーして完成

TEXTBEFORE関数を利用できる場合

2022年9月のアップデートで追加されたTEXTBEFOREを利用すると簡潔な数式で実現可能です。

また一つのセルの数式で完結します。

=LEN(TEXTBEFORE(対象文字列,検索文字,探す個数))+1

Excelを効率的に習得したい方へ

当サイトの情報を電子書籍用に読み易く整理したコンテンツを

買い切り950円またはKindle Unlimited (読み放題) で提供中です。

Word-A4サイズ:1,400ページの情報量で

(実際のページ数はデバイスで変わります)

基本的な使い方、関数の解説(140種類)、

頻出テクニックと実用例(109種類)、

XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピルなど便利な新機能を紹介。

体系的に学びたい方は是非ご検討ください。

アップデートなどの更新事項があれば随時反映しています。

なお購入後に最新版をダウンロードするには

Amazonへの問い合わせが必要です。

関連記事

FIND関数の使い方・活用方法の記事一覧