Excelの書式・印刷 Excel一覧 色付き カウント 高度な書式と計算

【Excel】色付き文字をカウントする関数の使用方法

Excelでは、データの視認性を向上させるためにフォントの色を変更することがあります。例えば、赤色の文字をエラー、青色の文字を承認済みとする場合などです。
しかし、Excelの標準関数(COUNTIFやSUMIFなど)では、フォントの色を条件にカウントすることはできません

本記事では、「フィルター機能を使う方法(VBAなし)」と「VBAを活用したカスタム関数(UDF)」 を使って、色付き文字をカウントする方法について解説します。

Excelの標準関数で色付き文字をカウントできる?

結論: COUNTIF関数やSUMIF関数では、フォントの色を条件にカウントすることはできません
これらの関数はセル内の「数値や文字列」を条件にカウントするため、フォントの色を判定することはできません。

では、どうする?
以下の2つの方法で対応可能です。

✅ 色付き文字のカウント方法
  1. フィルター機能を使って色付き文字をカウントする(VBAなし)
  2. VBAを使って色付き文字をカウントするカスタム関数(UDF)

フィルター機能を使って色付き文字をカウントする(VBAなし)

VBAを使わずに色付き文字をカウントしたい場合、フィルター機能を活用するのが最も簡単です。

手順
  1. データ範囲を選択(例: A1:A100
  2. 「データ」タブ →「フィルター」
  3. フィルターのドロップダウンをクリック
  4. 「フィルターの色」オプションを探す
  5. 特定のフォント色を選択
  6. Excelの左下に表示される「件数」を確認

結果:
フィルターで表示されたセルの数が色付き文字のカウント数になります。

📌 【メリット】

  • VBA不要
  • 簡単に実行可能

📌【 デメリット】

  • 手動操作が必要
  • データ変更時に再適用が必要

VBAを使って色付き文字をカウントする関数を作成する

Excelの標準関数では色を判定できないため、VBAを使って「特定のフォント色のセルをカウントする関数」を作成します。

色付き文字をカウントするVBA関数

Function CountFontColorCells(rng As Range, colorCell As Range) As Integer

Dim cell As Range
Dim count As Integer
count = 0

' 範囲内のセルをループ
For Each cell In rng

If cell.Font.Color = colorCell.Font.Color Then

count = count + 1

End If

Next cell

CountFontColorCells = count

End Function

VBAの設定と実行方法
  1. VBAエディタを開く
    • Alt + F11 を押して VBAエディタ を開く
  2. 「挿入」→「モジュール」を選択
  3. 上記のVBAコードを貼り付け
  4. Excelに戻る
  5. 以下の数式を入力
    =CountFontColorCells(A2:A10, C1)

    • A2:A10 → 色付き文字のカウントを求める範囲
    • C1 → カウントしたいフォント色が設定されたセル
  6. Enterキーを押すと結果が表示される

結果:
C1セルと同じフォント色のセルの数がカウントされます。

条件付き書式のフォント色をカウントする方法(COUNTIF関数)

条件付き書式でフォントの色を変更している場合、VBAの Font.Color ではカウントできません。
この場合は、COUNTIF関数を使うことでカウントが可能 です。

✅ COUNTIF関数を使用する方法

  1. セルに条件を入力する
    • 例: "エラー", "警告", "承認済み" などの値
  2. COUNTIF関数を使用
    =COUNTIF(A2:A10, "エラー")

  3. 結果を確認
    • "エラー" に設定されたセルの数がカウントされる

結果:
条件付き書式でフォントの色を変更している場合は、COUNTIF関数が有効です。

色付き文字のカウントに関する注意点

条件付き書式でフォントの色が変更された場合、VBAではカウントできない

  • VBAの Font.Color は手動で設定したフォントの色しか取得できません。
  • 条件付き書式の色をカウントする場合はCOUNTIF関数を使うのが最適 です。

VBA関数は自動更新されない

  • セルの色を変更した場合、手動で再計算(F9キーを押す)する必要がある

フィルターの色でカウントする方法もある

  • フィルター機能を活用すれば、VBAを使わずに色付き文字をカウントできる
色付き文字のカウント方法の比較
方法メリットデメリット
フィルター機能を使う(VBAなし)簡単に実行できる手動操作が必要
VBAのカスタム関数(UDF)自動で色別にカウント可能VBAの知識が必要
条件付き書式 + COUNTIF関数標準関数だけで対応可能セルの色ではなく文字列をカウントする

まとめ

Excelで 色付き文字をカウントする方法 は、3つの方法 があります。

📌 おすすめの使い分け

VBAを使いたくないフィルター機能を使う
条件付き書式でフォントの色を変えているCOUNTIF関数を使う
色別に自動でセルをカウントしたいVBAのカスタム関数を使う

実際の活用例
方法使いどころ
フィルター機能手軽に色付き文字をカウントしたい場合
VBAのカスタム関数色別に自動でカウントしたい場合
COUNTIF関数条件付き書式の色をカウントしたい場合

-Excelの書式・印刷, Excel一覧, 色付き カウント, 高度な書式と計算