『colorcount関数』(けい) 色付のセルの数を数えるのに、ColorCount関数を使用しましたが、 #NAME?エラーが出てしまいます。 =colorcount(B7:B26,$A$2) ● 色付セルは条件付書式です。 ● ColorCount と入力しても小文字になってしまいます。 ● 関数の引数 ダイアログボックスも ”未定義”の表示になります。 netで調べても、最新情報が得られませんでした。 もう廃止された関数なのでしょうか? セルの色の数を数える関数は、違ったものになったのでしょうか? よろしくお願いいたします。 < 使用 Excel:Excel2016、使用 OS:Windows10 > ---- それは【ユーザー定義関数】であって、Excelにもともと用意されている関数ではありません。 VBA(マクロ)を使ったものです。 >netで調べても、最新情報が得られませんでした。 ほんとですか?たくさんヒットしますが・・・ http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_color.html https://hamalabo.net/excel-countcolor (もこな2) 2022/02/03(木) 14:06 ---- すみません。書き忘れました。 ちなみに、↓ならその条件自体を数えたほうが良いと思います。(無理してマクロを導入する必要もないですし) >色付セルは条件付書式です。 (もこな2) 2022/02/03(木) 14:14 ---- >色付セルは条件付書式です。 条件をCOUNTIFS関数の条件で出来そうだけど (どん) 2022/02/03(木) 14:23  ---- もこな様 どん様 すぐにお礼を投稿したのですが、反映されていないことに 今、気付きました。 回答いただいていたのにすみませんでした。 お二人の言われる通り、条件自体を数えることにしました。 (ご提示いただいたURLも質問前に確認したのですが、解決できず) もう少し柔軟に考えられるよう、努力します。 本当にありがとうございました。 (けい) 2022/02/04(金) 14:07 ---- 私ももこな2さん、どんさんの提案に賛成です。 といいつつ、昔議論したもの([[20210325141131]])を思い出したので、 参考までに挙げておきます。 紹介のあったサイトのユーザー定義関数は、条件付き書式によるものは対象外です。 条件付き書式にも対応したものが下記のユーザー定義関数CountColorAです。 ・以下を標準モジュールにコピーしてください。 ・ユーザー定義関数としての使い方はサイトのものと同じです。 =CountColorA(B1:D10,A1) A1と同色の塗りつぶしのセルの数を返します。 (色は条件付き、手作業付与いずれも対象) 【参考コード】 Rem セル範囲aRngの中で、 基準セル範囲cRngと同一の塗りつぶし色のセルの数を返します。 Rem 色は条件付き書式を含めたものすべてがカウントの対象です。 Function CountColorA(aRng As Range, cRng As Range) As Long Dim sh As Worksheet Dim r As Range Dim col As Long Dim colorCnt As Long Application.Volatile Set sh = aRng.Parent col = sh.Evaluate("AColor(" & cRng.Address & ")") '基準セルの色 For Each r In aRng If sh.Evaluate("AColor(" & r.Address & ")") = col Then colorCnt = colorCnt + 1 End If Next r CountColorA = colorCnt End Function Rem DisplayFormatがUDFの中では使えない制約を回避するため、あえてUDFから外に出したもの Function AColor(r As Range) As Long AColor = r.DisplayFormat.Interior.ColorIndex End Function このユーザー定義関数は自動再計算関数なので、 対象セルなどと無関係のセル(別シートも含む)であっても、 変更があるたびに再計算が行われます。(無駄といえば無駄です) ですから、結果が得られたら別セルに値のみコピーして、 '=CountColorA(B1:D10,A1) などと単なる文字列にしておくと、無駄な再計算は回避できます。 必要な時に関数に戻します。 (γ) 2022/02/04(金) 15:18