Excelでは、セルの色を変えることでデータを視覚的に整理し、見やすくすることができます。しかし、関数だけでは直接セルの色を変更することはできません。そこで、本記事では、条件付き書式を活用した色変更や、VBAを使用した色変更関数について解説します。
目次
Excelの関数だけでセルの色を変更できるか?
✅ 答え: Excelの標準関数だけではセルの色を変更できない
Excelの関数(SUM、IFなど)では、セルの色そのものを変更することはできません。しかし、条件付き書式を活用することで、特定の条件を満たしたセルの色を自動的に変更できます。
条件付き書式を使ってセルの色を変える方法
「ホーム」→「条件付き書式」→「新しいルール」からルールを作成します。条件を設定し、適用する書式を指定すると、指定した条件に応じてセルの色が自動で変わります。
特定の値に基づいてセルの色を変更する
例えば、数値が 100以上なら緑、100未満なら赤 にする場合の手順です。
手順
- 対象のセル範囲を選択(例:
B2:B10) - **「条件付き書式」→「新しいルール」**をクリック
- **「セルの値が」→「次の値以上」**を選択し、「100」と入力
- 「書式」ボタンをクリックし、塗りつぶしの色を緑に設定
- 同じ手順で「次の値未満」で赤色を設定
- 「OK」を押して適用
結果
| 商品名 | 売上額 | 色付け |
|---|---|---|
| 商品A | 120 | 緑色 |
| 商品B | 80 | 赤色 |
| 商品C | 150 | 緑色 |
別のセルの値に基づいてセルの色を変更する
例えば、列Bの値が 「完了」なら青、未完了なら赤 にする場合。
手順
- セル範囲(例:
A2:A10)を選択 - 「条件付き書式」→「新しいルール」
- 「数式を使用して書式を設定するセルを決定」 を選択
- 次の数式を入力
- 書式ボタン→塗りつぶしで青色を選択
- 「OK」を押して適用
- 同じ手順で「$B2="未完了"」を追加し、赤色を設定
| タスク | ステータス | 色付け |
|---|---|---|
| レポート作成 | 完了 | 青 |
| データ入力 | 未完了 | 赤 |
VBAを使ってセルの色を変更する関数を作成する
条件付き書式だけでなく、VBAを使えば関数のようにセルの色を変更することが可能です。
✅ VBA関数でセルの色を変更
以下のVBA関数を使うと、セルの値に応じて自動的に色を変更できます。
手順
- VBAエディタを開く(
Alt + F11) - 「挿入」→「モジュール」を選択
- 以下のコードを貼り付け
- VBAを閉じる
- Excelのセルで以下のように入力
カラーインデックス一覧
| 色 | ColorIndex |
|---|---|
| 赤 | 3 |
| 緑 | 4 |
| 青 | 5 |
| 黄 | 6 |
| 紫 | 7 |
✅ セルの値に基づいて色を変更するVBA
以下のVBAを使用すると、指定の列の値に応じてセルの色を変更できます。
手順
- VBAエディタを開く(
Alt + F11) - 「挿入」→「モジュール」を選択
- 以下のコードを貼り付け
- VBAを閉じる
- Excelで
Alt + F8を押して「ChangeCellColor」を実行
結果
- 列Bの値が 100以上なら緑色
- 列Bの値が 100未満なら赤色
| 商品名 | 売上額 | 色付け |
|---|---|---|
| 商品A | 200 | 緑 |
| 商品B | 50 | 赤 |
まとめ
- 関数だけではセルの色を直接変更できないが、条件付き書式を使えば自動で色付け可能
- VBAを使えば、関数のようにセルの色を変更できる
- VBAマクロを活用すれば、大量データでも効率的に色変更が可能
✅ おすすめの使い分け
| 方法 | メリット | デメリット |
|---|---|---|
| 条件付き書式 | 設定が簡単、マクロ不要 | 柔軟性が低い |
| VBA関数 | セルの色を関数で変更可能 | マクロ有効化が必要 |
| VBAマクロ | 大量データを一括で色変更可能 | 初心者向けではない |