Excel 文字列が何個含まれているかを調べる方法

2020年5月18日

ExcelにはFIND関数のように特定の文字列が含まれているかを調べる関数はありますが

何個含まれているかを調べる関数はありません。

この記事では関数を組み合わせて実現する方法を紹介します。

手順

ISERROR関数LEN関数SUBSTITUTE関数を使用します。

=IFERROR((LEN(<文字列>)-LEN(SUBSTITUTE(<文字列>,<対象>,"")))/LEN(<対象>),0)

この数式で<文字列>中に<対象>が何個、含まれるかを算出します。

該当数を取得する数式の結果

「朗」は4回、「山田」は2回、「次郎」は3回、「山本」は1度も登場しません。

数式の詳細説明

式を分解するとこのようになります。

サンプル中の列数式説明
MLEN(<文字列>)<文字列>の文字数
NSUBSTITUTE(<文字列>,<対象>,"")<文字列>から<対象>を削除した文字数
OLEN()②の文字数
P①-③<文字列>から<対象>
削除前後の文字数の差。
<文字列>中に<対象>があるだけ
文字数に差が出ます。
<対象>が1文字であれば
この時点で個数になっています。
QLEN(<対象>)<対象>の文字数
R④÷⑤④は<対象>の文字数×該当数なので
<対象>の文字数を除算して
該当する個数のみにします。

該当する件数が0の場合は⑥の計算で#DIV/0!になるので、最後にIFERROR関数で0にします。

関連記事

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