Excel:フォント色が赤字の場合、特定のテキストを返す、または他の操作を行う
実際のExcel 操作では、フォント色(特に赤字)は警告、例外、検証エラー、または優先度の高いメモを示すためによく使われます。こうした色付けは、手動でも条件付き書式でも簡単に適用できますが、逆にフォント色を検出してそれに応じた数式を適用するのは簡単ではありません。たとえば、セルの文字が赤字かどうかに基づいてカスタムメッセージを表示したり、関連セルを強調表示したり、書式を調整したい場合があるでしょう(下記参照)。
本記事では、Excel で赤字テキストに基づいて操作を行うための実用的なソリューションをいくつかご紹介します。ここでは、VBA による検出や条件付き書式の活用から、Excel 標準の「検索と置換」機能までを網羅。さらに、ユースケースごとの適性やよくある落とし穴も解説し、最適な方法を選びやすくサポートします。

フォント色が赤字の場合、別のセルに特定のテキストを返す
参照セルのフォント色が赤字かどうかに応じて、別のセルに特定のテキスト(例:「Fail」または「Pass」)を表示したい場合、標準のExcel 数式では対応できません。なぜなら、Excel の組み込み関数はフォント色を直接判定できないからです。このような要件を実現するには、ユーザー定義関数(UDF)としてカスタム VBA 関数を作成する必要があります。この方法は、フォント色の変更に即座に反応して結果を動的に表示したいシーンに最適です。ただし、この関数を利用するには、ワークブックを開くすべてのユーザーがマクロを有効にする必要がある点にご注意ください。
1.Alt + F11キーを同時に押して、Microsoft Visual Basic for Applicationsエディターを開きます。
2.次に、挿入>標準モジュールを選択します。開いたモジュールウィンドウに、次の VBA コードをコピー&ペーストしてください:
VBA コード:フォント色が赤字の場合、特定のテキストを返す
Function FontColorisRed(Rng As Range)
'Updateby ExtendOffice
Application.Volatile
If Rng.Font.ColorIndex = 3 Then
FontColorisRed = "Fail"
Else
FontColorisRed = "Pass"
End If
End Function
3.VBA エディターを閉じて、ワークシートのセル(例:C2)に次の数式を入力してください:=FontColorISRed(B2)。その後、フィルハンドルを下にドラッグして他の行にも数式を適用すると、参照セルのフォント色が赤字の場合、「Fail」と即座に表示されます。

参照セル内のフォント色を変更した後、数式の結果が更新されないように見える場合は、F9キーを押すか、数式を再入力して結果を更新してみてください。なお、すべての VBA ソリューションと同様に、この機能を使用するにはファイルをマクロ有効ブック().xlsm)として保存し、マクロを有効にする必要があります。

KUTOOLS AI でExcel の魔法を解き放ちましょう
- スマート実行:セル操作、データ分析、チャート作成をすべてシンプルなコマンドで実現します。
- カスタム数式:ワークフローの効率化に役立つ、あなただけのカスタマイズ数式を生成します。
- VBA コーディング:VBA コードを簡単に記述・実装できます。
- 数式の解釈:複雑な数式が簡単に理解できます。
- テキスト翻訳:スプレッドシート内で言語の壁を乗り越えましょう!
フォント色が赤字の場合、セルを強調表示する
赤字のフォント色を持つセルを強調表示したい場合(視覚的な管理を強化したり、さらなる操作を行ったりするため)、VBA 関数とExcel の条件付き書式を組み合わせて使用できます。このソリューションは、特定のセルに視覚的な強調を加えたいときや、既存の書式ルールと連携させたいときに特に効果的です。ただし、このアプローチにはマクロが必要となるため、ファイルを共有する際はマクロのセキュリティ設定を適切にご確認ください。
1.Alt + F11キーを押して、VBA エディターを開きます。
2.挿入>標準モジュールをクリックし、モジュールウィンドウに次の VBA コードを貼り付けます:
VBA コード:フォント色が赤字の場合、セルを強調表示する
Function HighlightRedFont(pRg As Range) As Boolean
'Updateby ExtendOffice
Dim xRg As Range
Dim xBol As Boolean
xBol = False
For Each xRg In pRg
If xRg.Font.Color = vbRed Then
xBol = True
End If
Next
HighlightRedFont = xBol
End Function
3.VBA エディターを閉じてExcel に戻り、ホーム>条件付き書式を使用する>新規ルールに移動します(下図参照):
![[ホーム] > [条件付き書式] > [新しいルール] をクリック](http://cdn.extendoffice.com/images/stories/doc-excel/red-font-then/doc-if-font-color-red-3.png)
4.新しい書式ルールダイアログボックスで、次の手順を実行します:
- ルールの種類の選択で、数式を使用して書式設定するセルを決定するを選択します。
- 数式ボックスに次の数式を入力します(例:B2 に適用):=highlightredfont(B2)
- 書式設定ボタンをクリックして、お好みのハイライトを設定しましょう。

5.セルの書式設定ダイアログで、塗りつぶしタブに移動し、セルを強調表示する色を選択してから、OKをクリックして設定を確定します。

6.OKを2 回クリック(各ダイアログで1 回ずつ)してルールを適用します。これにより、赤字フォントのセルが設定に従って自動的に強調表示されます(下図参照):

条件付き書式を使ってフォント色を変更したのに反映されない場合は、該当セルを編集するか、F9キーを押して更新してみてください。ただし、この方法はカスタム VBA 関数が利用可能で、かつマクロが有効になっている場合にのみ機能しますのでご注意ください。
フォント色が赤字の場合、フォント色を変更する
赤字フォントのテキストをすべて別の色に変更したい場合があります。これは、書式を統一したり、データをより適切に強調したりするためです。Excel にはこの要件を満たすいくつかの方法があり、標準の「検索と置換」機能や「Kutools for Excel」などのサードパーティ製アドインが含まれます。それぞれのアプローチには独自のメリットと注意点があります。
フォント色が赤字の場合、検索と置換機能でフォント色を変更する
Excel の検索と置換機能では、書式に基づく検索と置換が可能で、特定のフォント色(たとえば赤字)を持つすべてのセルを一括で選択し、別の色に効率よく変更できます。この方法はワークシートや指定範囲全体で素早く操作したいときに最適で、マクロやアドインは一切不要です。
1.フォント色を変更したい範囲を選択し、Ctrl + Hキーを押して検索と置換ダイアログを開きます。オプション >>をクリックして詳細設定を表示します(下図参照):
![ダイアログ ボックスで [オプション] をクリック](http://cdn.extendoffice.com/images/stories/doc-excel/red-font-then/doc-if-font-color-red-7.png)
2.展開されたダイアログで、次の操作を行います:
- 検索する文字列と置換後の文字列のフィールドを空白のままにして、書式設定に集中しましょう。
- 検索する文字列ボックスの横にある書式設定>セルから書式を選択をクリックし、赤字フォントのターゲットとなるセルをクリックします。
- 置換後の文字列の横にある書式設定>書式設定をクリックすると、フォーマットを置換ダイアログが開きます。
![[書式] > [セルから書式を選択] を選択し、赤いフォントのセルをクリック](http://cdn.extendoffice.com/images/stories/doc-excel/red-font-then/doc-if-font-color-red-8.png)
![[書式] > [書式] を選択して [置換書式] ダイアログに移動](http://cdn.extendoffice.com/images/stories/doc-excel/red-font-then/doc-if-font-color-red-9.png)
3.フォーマットを置換ダイアログで、フォントタブの色ドロップダウンから、置換後の希望の色を選択し、設定を確定します:

4。OKをクリックしてフォーマットを置換ダイアログを閉じ、最後に検索と置換ダイアログですべて置換をクリックします。赤字で特定されたすべてのセルが、即座に選択した新しいフォント色に変わります。

この方法は、マクロを有効にせずに一回限りの一括操作を行いたい場合に特に便利です。ただし、ワークブック内のフォント色がワークフローの一環として定期的に変更される場合は、自動化または選択的なソリューションをご検討ください。
フォント色が赤字の場合、フォント色を便利な機能で変更する
お使いの環境にKutools for Excelがインストールされている場合、類似の書式を持つセルを選択する機能を使えば、完全に同じフォント色(たとえば赤字)を持つすべてのセルを瞬時に選択し、新しいフォント色を一括で適用できます。この方法は標準の「検索と置換」よりも柔軟性に優れており、選択範囲をフォント色だけに絞ったり、必要に応じて他の特定の書式属性を含めたり除外したりすることも可能です。Kutools はこうした操作を直感的なインターフェースでサポートしており、大規模なデータセットでリッチな書式設定を頻繁に扱うユーザーに最適です。
Kutools for Excelをインストール後、以下の手順に従ってください。
1。操作対象の範囲を選択し、次に下図のようにKutools>選択>類似の書式を持つセルを選択するをクリックします。
![Kutools > [選択] > [書式を持つセルを選択] をクリック](http://cdn.extendoffice.com/images/stories/doc-excel/red-font-then/doc-if-font-color-red-12.png)
2。類似の書式を持つセルを選択するダイアログで、セルから書式を選択をクリックして赤字のセルを選択します。一致させる書式プロパティは自由に調整できますが、ここでは他の書式にかかわらず赤字のセルすべてに一致させるため、フォント色のみをチェックしたままにしてください。

3。OKをクリックし、プロンプトボックスではいをクリックして続行します。
![ダイアログ ボックスで [はい] をクリック](http://cdn.extendoffice.com/images/stories/doc-excel/red-font-then/doc-if-font-color-red-14.png)
4。赤字のフォント色を持つすべてのセルが一括で選択されました。これらのセルが選択された状態で、必要に応じてExcel のフォント色ドロップダウンから手動でフォント色を変更できます。

このアプローチは、大規模な範囲や、色だけに基づいて選択的に書式を調整する必要がある状況で特に効率的です。この機能を使用する際は、目的の書式設定属性のみが選択されていることを確認してください。そうでないと、見た目は似ていてもわずかな書式の違いにより一部のセルが除外される可能性があります。
ヒント:Kutools にはバッチ処理機能と元に戻す機能も搭載されており、選択や書式設定の操作中に誤りが発生してもエラーを防ぎ、変更を素早く元に戻すのに役立ちます。
予期しない結果が表示されたり、目的のセルが選択されない場合は、ダイアログ内で正しい書式属性(例:フォント色)のみにチェックが入っているかを再度ご確認ください。また、対象のデータ範囲内で作業を行っているかもあわせてご確認ください。
上記の方法以外にも、Excel ではフォント色に基づいてデータを処理する別の方法があります。
- VBA によるバッチ処理コード:大規模なデータセットで頻繁に操作が必要な場合は、カスタム VBA スクリプトを使ってすべてのセルを走査し、赤字フォントを検出した時点でアクションを実行できます。一括での書式設定、マーク付け、該当セルのログ記録など、柔軟な対応が可能ですが、基本的な VBA プログラミング知識が必要です。
- 手動レビューと並べ替えの組み合わせ:Excel の「セルの色で並べ替え」機能やフォント色(Excel 2007 以降で利用可能)を活用すれば、赤字フォントのデータを一か所に集めて、レビューも編集もラクラク!一回限りのタスクや、マクロ/アドインが使えない環境にぴったりです。
どの方法を使用する場合でも、事前に必ず作業内容を保存してください。特にバッチ処理やマクロを利用する際は、データのサンプルコピーで事前に試行することを強くお勧めします。一般的なトラブルシューティングとしては、計算結果を更新するためにF9キーを押すこと、および VBA ベースの手法が期待通りに動作しない場合はExcel のトラストセンターでマクロ設定を確認することが挙げられます。
まとめると、Excel でフォント色に基づく操作には、組み込み関数以上の機能が必要です。VBA、Excel の標準機能、Kutools のようなアドインのいずれか適切なツールを選択するかどうかは、ワークフローの頻度と複雑さによります。どの方法を選んでも、効率的かつ正確な結果を得るために、常にカラーコード、書式属性の選択、マクロのセキュリティ設定を二重確認してください。
最高のオフィス生産性ツール
Kutools for Excel は、あなたの課題のほとんどを解決し、生産性を80% 向上させます
- スーパー数式バー(複数行のテキストや数式を簡単に編集可能);リーディングレイアウト(多数のセルを簡単に読み書き可能);フィルタリング範囲に貼り付け…
- 結合セル/行/列とデータ保持;セルの分割コンテンツ;重複行を結合して合計/平均を計算…重複の入力を防止セル;範囲を比較…
- 重複または一意の行を選択;空白行を選択(すべてのセルが空);スーパー検索とあいまい検索多数のワークブック内で実行;ランダム選択…
- 正確にコピー複数セルを数式参照を変更せずに移動;複数シートへの参照を自動作成;箇条書きの挿入、チェックボックスなど…
- お気に入りの数式を保存して素早く挿入、範囲、チャート、画像;セルの暗号化パスワード付きで保護;メーリングリストの作成メール送信など…
- テキストの抽出、テキストの追加、特定の位置の文字を削除、スペースを削除;データページ統計を作成・印刷;セルの内容とコメントを相互変換…
- スーパーフィルター(フィルタースキームを保存し、他のシートに適用可能);高度なソート月/週/日、頻度などでグループ化;特殊フィルタ太字、イタリック体などで強調表示…
- ワークブックとワークシートを統合;テーブルのマージをキーカラムに基づいてマージ;データの分割を複数のシートに分割;xls、xlsx、PDF を一括変換…
- PivotTable を以下でグループ化:週番号、曜日など…ロック解除済みセルと選択範囲をロックを異なる色で表示;数式/名前を持つセルをハイライト表示…

- Word、Excel、PowerPoint でタブを使った編集と閲覧を有効化。Publisher、Access、Visio、Project でもご利用いただけます。
- 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
- 生産性が50%向上し、毎日数百回のマウスクリックを削減できます!
