Excelの書式・印刷 Excel一覧 色付け 条件 高度な書式と計算

【Excel】セルの色を変更する関数と設定方法

Excelでは、セルの色を変えることでデータを視覚的に整理し、見やすくすることができます。しかし、関数だけでは直接セルの色を変更することはできません。そこで、本記事では、条件付き書式を活用した色変更や、VBAを使用した色変更関数について解説します。

Excelの関数だけでセルの色を変更できるか?

答え: Excelの標準関数だけではセルの色を変更できない

Excelの関数(SUM、IFなど)では、セルの色そのものを変更することはできません。しかし、条件付き書式を活用することで、特定の条件を満たしたセルの色を自動的に変更できます。

条件付き書式を使ってセルの色を変える方法

「ホーム」→「条件付き書式」→「新しいルール」からルールを作成します。条件を設定し、適用する書式を指定すると、指定した条件に応じてセルの色が自動で変わります。

特定の値に基づいてセルの色を変更する

例えば、数値が 100以上なら緑、100未満なら赤 にする場合の手順です。

手順
  1. 対象のセル範囲を選択(例: B2:B10
  2. **「条件付き書式」→「新しいルール」**をクリック
  3. **「セルの値が」→「次の値以上」**を選択し、「100」と入力
  4. 「書式」ボタンをクリックし、塗りつぶしの色を緑に設定
  5. 同じ手順で「次の値未満」で赤色を設定
  6. 「OK」を押して適用

結果

商品名売上額色付け
商品A120緑色
商品B80赤色
商品C150緑色

別のセルの値に基づいてセルの色を変更する

例えば、列Bの値が 「完了」なら青、未完了なら赤 にする場合。

手順
  1. セル範囲(例: A2:A10)を選択
  2. 「条件付き書式」→「新しいルール」
  3. 「数式を使用して書式を設定するセルを決定」 を選択
  4. 次の数式を入力
    =$B2="完了"

  5. 書式ボタン→塗りつぶしで青色を選択
  6. 「OK」を押して適用
  7. 同じ手順で「$B2="未完了"」を追加し、赤色を設定
タスクステータス色付け
レポート作成完了
データ入力未完了

VBAを使ってセルの色を変更する関数を作成する

条件付き書式だけでなく、VBAを使えば関数のようにセルの色を変更することが可能です。

VBA関数でセルの色を変更

以下のVBA関数を使うと、セルの値に応じて自動的に色を変更できます。

手順
  1. VBAエディタを開く(Alt + F11
  2. 「挿入」→「モジュール」を選択
  3. 以下のコードを貼り付け

Function SetCellColor(rng As Range, colorIndex As Integer) As String

rng.Interior.ColorIndex = colorIndex
SetCellColor = "色変更済"

End Function

  1. VBAを閉じる
  2. Excelのセルで以下のように入力
    =SetCellColor(A1, 3) ' A1のセルを赤色に変更

カラーインデックス一覧

ColorIndex
3
4
5
6
7

セルの値に基づいて色を変更するVBA

以下のVBAを使用すると、指定の列の値に応じてセルの色を変更できます。

手順
  1. VBAエディタを開く(Alt + F11
  2. 「挿入」→「モジュール」を選択
  3. 以下のコードを貼り付け
Sub ChangeCellColor()

Dim ws As Worksheet
Dim rng As Range
Dim cell As Range

' シートと範囲を指定
Set ws = ThisWorkbook.Sheets("Sheet1")
Set rng = ws.Range("B2:B10") ' 条件を適用する列

' 条件に基づいて色を変更
For Each cell In rng

If cell.Value >= 100 Then

cell.Interior.Color = RGB(144, 238, 144) ' 緑色

Else

cell.Interior.Color = RGB(255, 182, 193) ' 赤色

End If

Next cell

MsgBox "色変更が完了しました!"

End Sub

  1. VBAを閉じる
  2. Excelで Alt + F8 を押して「ChangeCellColor」を実行

結果

  • 列Bの値が 100以上なら緑色
  • 列Bの値が 100未満なら赤色
商品名売上額色付け
商品A200
商品B50

まとめ

  • 関数だけではセルの色を直接変更できないが、条件付き書式を使えば自動で色付け可能
  • VBAを使えば、関数のようにセルの色を変更できる
  • VBAマクロを活用すれば、大量データでも効率的に色変更が可能
おすすめの使い分け
方法メリットデメリット
条件付き書式設定が簡単、マクロ不要柔軟性が低い
VBA関数セルの色を関数で変更可能マクロ有効化が必要
VBAマクロ大量データを一括で色変更可能初心者向けではない

-Excelの書式・印刷, Excel一覧, 色付け 条件, 高度な書式と計算