オーロラさんの勉強帳

IT企業勤務。データベース、Excel、Excel VBA、ネットワーク、LinuxなどIT関連のことを主に書いていきます。少しでもお役に立てたら幸いです。

【Excel】1セル内の特定の1文字を数える方法 (LEN関数・SUBSTITUTE関数で1セル内の特定の1文字を数える)

本記事では、Excelにて、1セル内の特定の1文字を数える方法を紹介します。
※今回紹介する方法は、複数の文字には対応していません。

1セル内の特定の1文字を数える

<目次>

LEN関数とSUBSTITUTE関数で1セル内の特定の1文字を数える方法

例えば「B2」セル内の「★」の数を数えるには、以下の数式を使用します。

=LEN(B2)-LEN(SUBSTITUTE(B2,"★",""))

1セル内の特定の1文字を数える


上記の数式にて、「B2」部分には特定の文字を検索するセルを指定、「★」部分指定したセル内で数える任意の1文字を指定します。

以下画像では、「★」部分を「●」に変更し、「B2」セル内の「●」の数を数えています。

LEN関数・SUBSTITUTE関数で1セル内の特定の1文字を数える

=LEN(B2)-LEN(SUBSTITUTE(B2,"",""))


解説

今回紹介した数式では、「1セル内の文字数」から「特定の文字を削除した文字数」を減算し、特定の文字を数えます。

LEN関数・SUBSTITUTE関数で1セル内の特定の1文字を数える

<関数の説明>

LEN関数は対象セルの文字数を返します。
SUBSTITUTE関数は対象セルの文字を別の文字に置換する関数です。""(ブランク)に置換することで、文字を削除することができます。

=LEN(B2)-LEN(SUBSTITUTE(B2,"",""))

LEN(B2) → 対象の1セル内の文字数を返します。
LEN(SUBSTITUTE(B2,"●","") → 対象の1セル内から特定の1文字を削除した文字数を返します。SUBSTITUTE関数で「●」を「""」(ブランク)に置換することで、削除しています。
=LEN(B2)-LEN(SUBSTITUTE(B2,"●","")) → 対象1セルの文字数から特定の1文字を削除した文字数を除算。特定の1文字の数を返します。

使用例

階層構造のフォルダ、フォルダ内のドキュメントを一覧で出力し、階層ごとに整理する際に使用しました。
「/」の数で階層を数えています。

LEN関数・SUBSTITUTE関数で1セル内の特定の文字を数える 使用例

以上、お読みいただきありがとうございました。