Excel 文字列が何個含まれているかを調べる方法
ExcelにはFIND関数のように特定の文字列が含まれているかを調べる関数はありますが
何個含まれているかを調べる関数はありません。
この記事では関数を組み合わせて実現する方法を紹介します。
目次
手順
新バージョン(TEXTSPLIT関数が利用可能な場合)
2022年9月にMicrosoft365(Office365)の追加されたTEXTSPLIT関数を利用すると実現可能です。
この数式で<文字列>中に<対象>が何個、含まれるかを算出します。
=COLUMNS( TEXTSPLIT(<文字列>,<対象>) ) - 1

旧バージョン(TEXTSPLIT関数が利用できない場合)
ISERROR関数とLEN関数とSUBSTITUTE関数を使用します。
=IFERROR((LEN(<文字列>)-LEN(SUBSTITUTE(<文字列>,<対象>,"")))/LEN(<対象>),0)
この数式で<文字列>中に<対象>が何個、含まれるかを算出します。

「朗」は4回、「山田」は2回、「次郎」は3回、「山本」は1度も登場しません。
数式の詳細説明
式を分解するとこのようになります。

№ | サンプル中の列 | 数式 | 説明 |
---|---|---|---|
① | M | LEN(<文字列>) | <文字列>の文字数 |
② | N | SUBSTITUTE(<文字列>,<対象>,"") | <文字列>から<対象>を削除した文字数 |
③ | O | LEN(②) | ②の文字数 |
④ | P | ①-③ | <文字列>から<対象>の 削除前後の文字数の差。 <文字列>中に<対象>があるだけ 文字数に差が出ます。 <対象>が1文字であれば この時点で個数になっています。 |
⑤ | Q | LEN(<対象>) | <対象>の文字数 |
⑥ | R | ④÷⑤ | ④は<対象>の文字数×該当数なので <対象>の文字数を除算して 該当する個数のみにします。 |
該当する件数が0の場合は⑥の計算で#DIV/0!になるので、最後にIFERROR関数で0にします。
Excelを効率的に習得したい方へ
当サイトの情報を電子書籍用に読み易く整理したコンテンツを
買い切り950円またはKindle Unlimited (読み放題) で提供中です。

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