dポイントプレゼントキャンペーン実施中!

添付画像シートのとおり、
A1からG6のセル範囲に、1から43の数字がランダムに入力されています。

また、I1からK6のセル範囲にも、1から43の数字がランダムに入力されています。
A1からG1の6つの数字のいずれかが、I1からK1のセル範囲の数字と合致した場合、該当するI1からK1のセルをピンク色に自動的に塗りつぶしています。

I2からK2、I3からK3,I4からK4、I5からK5、I6からK6も同様です。

自動塗りつぶしの方法としては、
I1の「条件付き書式」-「新しいルール」-で、「数式を使用して、書式設定するセルを決定」-「次の数式を満たす場合に値を書式設定」項目に「=COUNTIF(A1:G1,I1)」と入力し、「書式」の「塗りつぶし」で薄いピンク色(R255 G204 B255)に設定しています。

そして、I1をI1からK6のセル範囲にオートフィルしています。

そこで、質問です。

I1からI6のセル範囲で、ピンク色のセルの個数をカウントして、その個数をI8に、
J1からJ6のセル範囲で、ピンク色のセルの個数をカウントして、その個数をJ8に、
K1からK6のセル範囲で、ピンク色のセルの個数をカウントして、その個数をK8に、自動入力したいのですが、I8などにはどのような計算式を入力すればいいでしょうか?

もし計算式が無理なら、セル範囲(I1からK6)を指定して、実行するVBAマクロでもいいです。

「特定の色の塗りつぶしのセル個数をカウント」の質問画像

A 回答 (2件)

こんにちは



塗りつぶしの判定式を作れているのですから、例えば I1セルに関して言えば、
 (判定式>0)
を計算すると、該当する場合(=ピンクになる場合)はTRUE、それ以外はFALSEとなります。
論理値のTRUE、FALSEは、加減乗除の際に1、0に換算されますので、
 (判定式>0)*1
とすることで、ピンクなら1、そうでなければ0という式にすることができます。
あとは、これをI1~I6セル分の6個分を加算すればお求めの結果が得られることはお分かりと思います。


上記の計算は、同じ内容の式を繰り返すことになるので、うまく調整して配列計算をさせれば、式を少し簡略化することができます。
ご提示のレイアウトで、I8セルに
=SUMPRODUCT((COUNTIF(OFFSET($A$1:$G$1,ROW(I1:I6)-1,0),I1:I6)>0)*1)
の式を入力し、右方にフィルコピーすることでも同様の結果を得ることができるでしょう。
    • good
    • 0

別の列に塗りつぶし条件の式を入力して、その列をsum関数で集計すれば希望は叶うように読めるのですが如何でしょうか?

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています