• ベストアンサー

[Excel]配色セル数のカウント

↓条件付き書式ルールで、緑色に配色されたセルが1000以上ございます。 まず、 =AND(C$1=$A2,C2>=2)に配色 緑色で書式設定 その後、単純に緑色セル数をカウントしようと、検索すると0セルが見つかったと メッセージがリターンされます。 検索する文字列はブランクで、プレビューを緑色にしています。 ColorCount()で範囲、緑色セルで計算してもエラーになります。 再度、マニュアルで対象セルを緑色すると、直したセルはカウントアップします 何か方法ございますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • SI299792
  • ベストアンサー率48% (714/1476)
回答No.5

まず、ColorCountというのは、Excel の関数にも、VBA にもありません。 ユーザー定義関数ですか? 条件付き書式でつけた色を調べるには、   Cell.DisplayFormat.Interior.Color を使う必要がありますが、これを使った関数は使用制限に引っかかり、セルからの呼び出せません。 対策ですが、この条件付き書式が、どの範囲に入れられたかが解らないとできません。 仮にC2:I8 に設定され、K1に結果を出すとします。 (1)緑色を数えるのはやめて、条件で数える。 =SUMPRODUCT((C1:I1=A2:A8)*(C2:I8>=2)) 大きさは実際の範囲に合わせて下さい。 (2)マクロであくまでも緑を数える。 Option Explicit ' Sub Macro1()   Dim Cell As Range   Dim Count As Integer '   For Each Cell In [C2:I8]     Count = Count - (Cell.DisplayFormat.Interior.Color = vbGreen)   Next Cell   [K1] = Count End Sub K1、C2:I8 は変更して下さい 但し、緑にもいろいろあり、実際にどの色を指定したか判らないので、動かない可能性もあります。色コードが解れば vbGreenを置き換えて下さい。解らない場合、ColorCountでどのように色を設定しているのか、又はどのように緑色を設定したか書いていただけますか。

genesis50
質問者

お礼

ありがとうございました。 条件付き書式ルールで、黄色に書式を変えました。 ↓ステートメントで、対象セル数のカウントできました。 緑色(65280)の設定が間違えているようです Cell.DisplayFormat.Interior.Color = vbYellow

その他の回答 (4)

  • masnoske
  • ベストアンサー率35% (67/190)
回答No.4

条件付き書式で変更された背景色は、 レンジ.Interior.Color では取得できません。 レンジ.DisplayFormat.Interior.Color で取得します。

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.3

>COUNTIFS()、これを使用してもカウントしませんでした。 カッコ内の範囲と条件を提示して頂ければ添削できると思います。 尚、模擬データを提示して頂ければ他の方法もアドバイスできます。

genesis50
質問者

補足

=COUNTIFS(C2:G8, ????) 緑色で書式設定された、セル数をカウントしたのですが、緑色セルの検索条件はどのように設定するれば良いでしょうか? 実際は緑色に配色された対象セル数が、他の方法でも良いでの単純に済ますことはできますでしょうか

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.2

条件付き書式で塗りつぶしたセルをカウントするのでしたら、その条件でカウントすれば良いと思います。 Excelの組み込み関数にCOUNTIFS関数があるので簡単に計数できるでしょう。 =COUNTIFS([範囲1],[条件1],[範囲2],[条件2]) 尚、[範囲1],[条件1],・・・,[範囲n],[条件n]はANDで判定されます。 ColorCount()関数はVBAの関数ですよね? この関数は条件付き書式で塗りつぶしたセルを検出できないのではないでしょうか?(未確認)

genesis50
質問者

補足

COUNTIFS()、これを使用してもカウントしませんでした。

回答No.1

VBAを使えば、すっきりかもしれない。昔を思い出しながら、ちょっとやってみた。2個とカウントできた。 単純なソースコードは、 Function セル色(y, x) セル色 = Cells(y, x).Interior.Color End Function Sub 色探し() c = 0 For y = 1 To 10 If セル色(y, 2) = 5287936 Then c = c + 1 Next Cells(1, 3) = c End Sub であった。 そのサブルーチンを実行したときのアクティブセルの列の緑をカウントするというようにソースコードを改善できそうな気がする。

関連するQ&A

  • Excel でセルの配色ができない

    お世話になります。 配色されているセルを変更しようと思ってセルの書式設定で色を確認すると、「色なし」に設定されています。これを変更しても反映されません。なぜでしょうか? あるテンプレートをダウンロードしたのですが、例えば、A1:E1の行セルが赤で配色されています。この色を変更できませんし、A:E列を挿入すると設定を引き継ぎますが、F1からは普通に変更できます。 マクロを確認しましたがありませんでした。 説明が下手で分かりにくいかと思いますが、どなたかご存知でしたら理由と対処法を教えていただけますでしょうか。 よろしくお願い致します。

  • 【Excel】 色の一致するセル数をカウントしたい。

    こんにちは。 ある条件にあてはまるセルに、書式でセルの色を設定してあります。 いくつかの条件で色分けしてあるのですが、これらのセルの色が「赤」は幾つ、「青」は幾つというふうに、 カウントすることは出来るのでしょうか。 よろしくお願いいたします。

  • Excel2007に関する質問です。

    列内の赤い文字(※セルは塗りつぶされていません)がついているセルの個数を数えたいのですが、その文字の色は条件付き書式(ルールを組んでいます)で色をつけています。 通常、セルの書式設定から色を変えた場合には、それらのセルの個数を数えるマクロは、過去の質問では以下のようになるそうです。 Function COUNTCOLOR(data As Range, color As Integer) Application.Volatile Count = 0 For Each c In data If c.Font.ColorIndex = color Then Count = Count + 1 End If Next c COUNTCOLOR = Count End Function それで使うときは =COUNTCOLOR(A:A,3) この場合だと赤文字のセルを数えることができるそうです。 ですが、ルールによって文字の色が変わっているセルをカウントできません。あくまでルールであり、書式上は通常の黒色になっています。どうしたら、ルールで色を付けたセルの個数を数えるマクロを組めるのでしょうか?? よろしくお願いします!!

  • Excel2003で、指定列に空白セルのある行の数をカウントしたいので

    Excel2003で、指定列に空白セルのある行の数をカウントしたいのですが。 下記の様なセルがあり、A列とC列が共に空白の行の数をカウントしたいのですが どの様にすれば良いでしょうか? (3行目と6行目がA列とC列のセルが空白なので、「2」を表示したいのです)  ABC 1あか 2い さ 3 き 4う 5え し 6 く 7 けす 宜しくお願い致します。

  • エクセルで文字色がついているセル数をカウント

    エクセル初心者です。 エクセルセルに 佐藤 鈴木 青山 渡辺 と入力されてあって佐藤と鈴木の文字の色が青だった場合文字色(青)がついているセルをカウントし,あるセルに2と表示することはできるのでしょうか。条件付書式や検索と思いましたがわかりません。よろしくお願いします。

  • Excel 2007 マクロ セルの色のカウント

    Excel 2007 マクロ セルの色のカウント 表に複数の色がセルについています。 色がついているセルの隣の列に「1」を返したいです。 どのようなマクロになりますでしょうか。 色がついている列は1行でC列になります。 ご回答よろしくお願いします。

  • EXCELでCOUNTIF(,,)のようにセルの書式を条件でセルの数をカウントする方法

    表計算ソフトのEXCELでCOUNTIF(,)関数では検索条件には数字や文字列だけのようですが、セルの書式(塗りつぶした色等)の検索条件でセルの数をカウントする方法はありませんか? 生産計画日程表に実績日を色塗りして日程毎に集計する場合に有効な気がします。計画日のセルに△を記入して、実績日のセルに○等を記入すればできることはできるのですが、計画日と実績日が同じ場合はうまくいきません。紙の上でやるように計画に△、実績日のセルを赤色に着色して、赤色のセルをカウントさせることができれば、計画と実績が同じでも問題なく好都合なのです。データーが少ない場合は紙の帳票なら簡単にできるのですが、データーが多いと大変です。

  • excel関数 参照したセルで始まるもの(同一ではなく)をカウントしたい

    お世話になっております! 例えば列Aに国名があり、列Bには国名プラス数字が入っています。 ・ A ・ B ・ C 1・アメリカ ・ アメリカ4 2・カナダ ・ アメリカ3 3・ブラジル・ 中国1 4・中国 ・ 中国1 5・・ ブラジル8 (注:中点はセルの区切りを表すもので、実際には付きません) C列にて、B列の、国別の数を数えたい(但し「中国1」のように国名・数字とも同じ場合は1とカウントする)のです。ですので正解はC1(アメリカ)に2、C2(カナダ)に0、C3(ブラジル)に1、C4(中国)に1と表示されるような関数を作りたいのです。 当HPで教えて頂いた知識により、例えばC1に入れる式は =SUMPRODUCT(1/COUNTIF(A:A,A1)) ここまでは思い付いたのですが、そうすると「アメリカ」しかカウントしてくれずゼロになってしまいます。 「A1」と同一ではなく、「A1」で始まるセルをカウントするにはどうしたらいいでしょうか? 長くなりすみません

  • EXCELで、色つきセルだけカウントしたい

    エクセルで「条件付書式」を使って、セルに色がつけてあります。 その色が付いたものだけを、カウントして、件数を表示させたいのです。色つきセルが、3個なら、別のセルに、3というぐあいに…可能でしょうか?

  • Excel2007でカウントしたいのですが

    Excel2007でカウントしたいですがご協力お願い致します。 今ところはセルU6~U4363にデータが入ってますが、それ以上にデータは増えていきます。 幾つか背景カラー(ミドリ)が入ってるセルがありまして、U列の6行目から下のカラーセルの合計個数をセルU4に表したいです。 どなたかご協力お願い致します。

専門家に質問してみよう