こんばんは
またたびです。
今回は、またまたExcelより、
「色のついたセルをカウントする方法」について
ご紹介します!
今回も『開発』タブを使用しますので、
入れてないよ~~という方は別の記事で紹介してますので
追加してみてくださいね✨
セルの色をカウントする
空白のセルや、文字があるセルの数をカウントする方法はありますが、
色付きのセルをカウントする方法ってご存じでしょうか?
例えば、

このように、黄色セルは1つ、オレンジセルは3つ、
ピンクセルは4つと数える方法です。
上の画像は実際にカウントした数を表示しています。
以降ではカウントする方法についてご紹介します(^^♪
Visual Basicにコードを入力する
①『開発』タブ→『Visual Basic』を選択します。

②『挿入』タブ→『標準モジュール』を選択します。

③Module1(コード)に以下コードを入力します。
(空白がうまくいかず左詰めになっていますが、
そのままコピペして正常に動作することは確認済です(_ _))
Function ColorCnt(rng As Range) As Double
Dim RngObj As Range
For Each RngObj In rng
If RngObj.Interior.Color = RGB(255, 255, 0) Then
ColorCnt = ColorCnt + 1
End If
Next
End Function
★RGB(255,255,0)→カウントしたい色のRGB値を入力します。今回は黄色なので、(255,255,0)です。

★コード中の「ColorCnt」は任意の関数を指定します。
つまり、後々Excelシートで自分で入力する関数を作成してあげます。

④『ファイル』タブ→『終了してMicrosoftExcelへ戻る』を選択します。

Excelで関数を入力する
実際に先ほど作成した関数を入力してみましょう!
上記では、『ColorCnt』関数で黄色セルの数を求めるコードを作成しました。
①セルに関数を入力します。

=ColorCnt(カウントするセルの範囲)
②コード設定した色のカウントが完了します。

おまけ1:複数の色をカウントしたいときは『関数を変える』だけ!
今回は黄色セル1色の場合で説明しましたが、
冒頭のように1色以上の場合は、関数のパターンを増やすだけです!
3色ならば、ひとまとまりのコードをコピペして、
(1)RGB値を変える
(2)任意の関数を変える
これでOKです(^^♪
冒頭の3色のコードの例を貼っておきます。

おまけ2:セルに色を塗ってもカウントされない場合
色付きのセルをカウントしたいけど、
先に関数を作った後、色を塗っただけではカウントされません。
例えば、下のように範囲D2:G11に色を塗り、黄色のセルだけ数えたい場合。
コードを作り、セルB2で関数を入れておきます。

まだ何も塗っていないので、セルB2には「0」と表示されます。

次に、範囲D2:G11に適当に色を付けてみます。

最後に空いたセルに黄色を塗ってみます。

しかし、セルB2は「0」のままです。

なんでよ
ここからは、解決方法を説明します。
セルB2に黄色のセルの数を表示させる方法の一つに、
関数を入れているセルB2を入力状態にする→Enterキーを押す方法があります。
結論から言うと、この方法はおススメしません!理由は面倒だからです。
セルB2をダブルクリックもしくはF2を押して入力状態に。

Enterキーを押すと、ちゃんと「11」と表示されました。

せっかく関数を入れたのに、いちいちこんな操作したくないですよね…

自動計算の関数の意味…
またたびが使っている方法は、
Ctrlキー+Altキー+F9
を押す方法です!
Ctrlキー+Altキー+F9
Excelの開いているワークブックのすべてのシートにある、
すべてのセルを再計算できます。
では実際にやってみます。
この状態から、「Ctrl+Alt+F9」を押してみます。

「Ctrl+Alt+F9」を押すと、ちゃんと「11」と表示されました!

さいごに
いかがだったでしょうか?
ほかにも便利なExcelのワザがあれば教えてください✨
ならばい!👋
【おまけ】もし、興味がございましたら以下情報も見て頂けると幸いです。

ご自身のブログや会社のホームページを作ろうと考えている方でしたら
次の2つのサービスでお安くドメインを取得可能です。




法人様で経理や総務のご担当者は
「電子帳簿保存法」の対策はもうお済でしょうか?
まだでしたらぜひチェックしてみてください。

一般社団法人が運営している無料相談所です。
自分ひとりで悩んでいることや誰に相談すればいいかわからない方は
ぜひチェックしてみてください。

コメント