素材>ExcelVBA

セル範囲の中で「指定した色」かつ「指定した文字が入っている」セルの個数をカウントする

 

何のことやねん、日本語でしゃべれと。
・・・自分でも何言ってんのか分からないので画像で説明します。

 

 

この場合、「塗りつぶし色黄色でだいこんと入力されているセルの数は1個」ということになります。
なんかこういう仕様の関数ないかなと思ってもなかったので作成。
(○色で塗りつぶされているセルの数をカウントする、というユーザー定義関数は見かけるんですけどね。さらに指定の文字が入力されているセルとまで行くと見つからなかった)

以下コード

 

 

一カ所コメントアウトしていますが、このコメントアウトを外して次の行をコメントアウトすると完全一致になります。
(このままだと部分一致)
例えばの話デフォルトのままなら「だいこん」、「ぶりだいこん」両方がカウントされます。
コメントアウトの行を入れ替えると「ぶりだいこん」はカウントされません。

 

使い方

 

アクティブセルに関数「ColorCountIf」を挿入。

 

 

「ユーザー定義」を選択して・・・

 

 

関数を選択。(ヘルプがありません。とありますが、ヘルプ導入は色々と面倒なので省いています)

 

 

計算範囲はそのまま、カウントさせたい範囲です。
条件色セルは条件にしたい色で塗りつぶされたセルを選択(カラーコードには対応していません)
検索文字はスクショではセル範囲指定していますが文字列指定も可能です。

 

・・・簡単でしょ?