Excelで数式を使って文字色を変更する2つの方法(条件付き書式・VBA)
Excelで文字色を変更することは、データを目立たせたり分析しやすくしたりするうえで非常に重要な作業です。手動でも変更は可能ですが、文字色を直接変更できる組み込み関数や数式は用意されていません。そこで役立つのが、条件付き書式に数式を組み合わせる方法と、VBAマクロでユーザー定義関数を作成する方法の2つです。本記事では、Excelで数式を使って文字色を変更する2つの方法を、初心者にもわかりやすい手順で解説します。
練習用ブックのダウンロード
以下から無料のExcelテンプレートをダウンロードして、実際に操作しながら練習することができます。
Excelで数式を使って文字色を変更する2つの方法
まず、今回使用するサンプルデータを確認しましょう。2か年にわたる書籍名とそのオンライン販売価格の一覧です。この価格部分の文字色を数式で変更していきます。

方法1:条件付き書式の数式で文字色を変更する
条件付き書式を使えば、指定した条件に応じてセルに自動的に色やアイコンを適用でき、データの強調表示に非常に便利です。ここでは「セルの強調表示ルール」と「新しいルール」の2つの機能を使って文字色を変更します。
#1 「セルの強調表示ルール」を使う方法
「セルの強調表示ルール」には、数式のような働きをする組み込みコマンドが複数用意されています。これらを活用して文字色を変更してみましょう。
共通の基本手順:
⏩ データ範囲C5:D12を選択します。
⏩ 次の順にクリックします:ホーム > 条件付き書式 > セルの強調表示ルール
⏩ 表示される4つのオプション(指定の値より大きい/指定の値より小さい/次の値の間/次の値に等しい)から、目的に合ったものを選択します。

「指定の値より大きい」の手順:
まず、「指定の値より大きい」オプションの使い方を紹介します。
⏩ 「次の値より大きいセルを書式設定」の入力ボックスに基準値を入力します。
ここでは基準値を$120に設定しました。これにより、$120より大きい値のみが選択した色で強調表示されます。
⏩ 適用したい色を選択します。
⏩ 最後にOKをクリックします。

すると、選択した色で該当する値だけが強調表示されます。

「指定の値より小さい」の手順:
次に、特定の値より小さい数値の文字色を変更してみます。
⏩ 「次の値より小さいセルを書式設定」のボックスに基準値を入力します。
ここでは基準値を$110に設定しました。つまり、$110より小さい値だけが選択した色に変わります。
⏩ 好みの色を選択します。
⏩ OKをクリックします。

選択した色で文字色が変更されていることが確認できます。

「次の値の間」の手順:
続いて、2つの値の間にある数値の文字色を変更してみましょう。
⏩ 「次の値の間でセルを書式設定」のボックスに開始値と終了値を入力します。
ここでは$105と$135を設定しました。これにより、$105~$135の間にある値だけが強調表示されます。
⏩ 適用したい色を選択します。
⏩ OKをクリックします。

実行結果は以下の通りです。

「次の値に等しい」の手順:
最後に、特定の値と一致するセルの文字色を変更します。
⏩ 「次の値に等しいセルを書式設定」のボックスに対象の値を入力します。
ここでは$150を設定しました。
⏩ 好みの色を選択します。
⏩ OKをクリックします。

文字色が変更されたことを確認できます。

#2 「新しいルール」を使う方法
条件付き書式の「新しいルール」を使えば、自由に作成した数式で文字色を変更できます。ここでは、C列の値がD列より大きい場合に行全体の文字色を変える例を紹介します。
ステップ1:
⏩ データ範囲C5:D12を選択します。
⏩ 次の順にクリックします:ホーム > 条件付き書式 > 新しいルール
するとダイアログボックスが表示されます。

ステップ2:
⏩ 「ルールの種類を選択してください」から「数式を使用して、書式設定するセルを決定」を選びます。
⏩ 「次の数式が真である場合に値を書式設定」のボックスに、下記の数式を入力します。
⏩ 続けて「書式」ボタンをクリックします。
別のダイアログボックスが開きます。

ステップ3:
⏩ 「フォント」タブの「色」で好みの色を設定します。ここではオレンジ色を選択しました。
⏩ OKをクリックすると、前のダイアログボックスに戻ります。

ステップ4:
⏩ 最後にもう一度OKをクリックします。

選択した文字色が適用された結果は以下の通りです。

関連記事:Excelで別のセルより大きい値の場合にセルを強調表示する6つの方法
あわせて読みたい関連記事:
- 行ごとに個別に条件付き書式を適用する3のコツ
- 別の列に基づいて列全体に条件付き書式を設定する6ステップ
- Excelで複数の単語を含むテキストに条件付き書式を適用する方法
- 複数の条件で条件付き書式を設定する11の方法
- ピボットテーブルで別の列に基づく条件付き書式を設定する8つの方法
方法2:VBAマクロで文字色を変更する
ExcelのVBAを使えば、文字色を変更するための独自のユーザー定義関数を作成できます。ここでは、TextColorという名前の関数を作成します。具体的なコードと手順を見ていきましょう。
ステップ1:
⏩ シート見出し上で右クリックします。
⏩ ショートカットメニューから「コードの表示」を選択します。
VBE(Visual Basic Editor)の画面が開きます。

ステップ2:
⏩ 下記のコードを入力します。
Function TextColor(n1 As Double, n2 As Double) As Boolean
If n1 <= n2 Then
Application.Caller.Font.ColorIndex = 3
Else
' Set font to normal
Application.Caller.Font.ColorIndex = xlAutomatic
End If
End Function
Sub Tcolor()
End Sub
⏩ 実行(Run)アイコンを押すと、マクロダイアログボックスが表示されます。

ステップ3:
⏩ マクロ名を入力します。
⏩ 「作成」をクリックします。

ステップ4:
⏩ 再度実行(Run)アイコンを押して、コードを実行します。

これで関数が使えるようになりました。C5>D5という条件を満たす場合は通常色で「1」が表示され、満たさない場合は赤色で「0」が表示されます。
ステップ5:
⏩ セルD14に次の数式を入力します。
=IF(C5>D5,1,0)+TextColor(C5,D5)
⏩ Enterキーを押します。

条件を満たしていないため、赤色で「0」が返されていることがわかります。

関連記事:Excelで値に基づいて文字色を変更する数式(+おまけのテクニック)
まとめ
本記事では、Excelで数式を使って文字色を変更する2つの方法を解説しました。どちらの方法も状況に応じて使い分けることで、データの視認性が大きく向上します。ご不明な点があれば、ぜひコメント欄でお気軽にお尋ねください。フィードバックもお待ちしております。
関連記事
- Excelでセル内のテキスト値に基づいて行の色を変更する方法
- Excelで文字色と背景色を変更する――フォント&塗りつぶしカラー完全ガイド
- Excelで指数表記をテキストに変換する3つの方法
- Excel VBAでセル内の特定のテキストを強調表示する6つの方法
- 条件付き書式で文字色を設定する3つの簡単な方法
-
Excelの数式でテキストを自動的に列に分割する3つの方法
Excelでデータを管理していると、1つのセルに入力されたテキストを複数の列に分割して整理したい場面がよくあります。「区切り位置」ウィザードやVBAマクロを使う方法もありますが、数式を使えば元データを変更せずに自動的に分割でき、データを更新しても結果が自動で反映されるという大きなメリットがあります。この記事では、Excelの数式でテキストを自動的に列に分割するための3つのシンプルな方法を、具体的な手順とともにわかりやすく解説します。 数式でテキストを列に自動分割する3つの方法 ここからは、Excelの数式を使ってテキストを列に分割する3つの方法を順番に紹介します。目的やデータの形式に応じて、最
-
Excelで列データを区切り文字付きテキストに変換する5つの方法
Excelのシートで、縦方向(列)に入力されたリストを横並びのテキストとして整理したい場面はよくあります。その際、各項目をつなぐために区切り文字が必要になります。最も一般的なのはカンマ(,)ですが、セミコロンなどを使う場合もあります。残念ながら、Excelには列を区切り文字付きテキストへ一発で変換する専用機能は用意されていません。そこで本記事では、5つの簡単な方法で列データを区切り文字付きテキストに変換する手順を詳しく解説します。 Excelで列を区切り文字付きテキストに変換する5つの方法 この記事では、以下の5つのアプローチを順番に紹介します。 TEXTJOIN関数を使う方法 CONCAT