空白とゼロを区別する条件付き形式(Microsoft Excel)
別のプログラムからExcelに情報を定期的にインポートするとします。情報には数値が含まれますが、空白を含めることもできます。インポートされた情報に条件付き形式を使用して、ゼロ値を強調表示することをお勧めします。問題は、セルを強調表示してゼロかどうかを確認する条件付きフォーマットを追加するだけの場合、「ゼロ」値も含まれているため、条件によって空白のセルも強調表示されることです。
この窮状にはいくつかの異なる解決策があります。 1つの解決策は、2つの条件を使用する条件付き形式を適用することです。最初の条件はブランクをチェックし、2番目の条件はゼロ値をチェックします。
空白をチェックする条件ではフォーマットを調整する必要はありませんが、ゼロ値をチェックする条件では調整できます。これが機能するのは、最初の条件が満たされた場合(セルが空白の場合)、2番目の条件がテストされないためです。次の手順を実行します:
。条件付きでフォーマットする範囲を選択します。 (この例では、範囲A2:A99を選択したと仮定します。)
。リボンの[ホーム]タブが表示された状態で、[スタイル]グループの[条件付き書式]オプションをクリックします。 Excelは、条件付き書式に関連するオプションのパレットを表示します。
。 [ルールの管理]をクリックします。 Excelは、[条件付き書式ルールマネージャー]ダイアログボックスを表示します。
。 [新しいルール]をクリックします。 Excelは、[新しい書式設定ルール]ダイアログボックスを表示します。
。ダイアログボックスの上部にある[ルールタイプの選択]領域で、[含むセルのみをフォーマットする]を選択します。 (図1を参照)
。ルールの最初のドロップダウンリストを使用して、[空白]を選択します。
。 [OK]をクリックします。 Excelは、[新しい書式設定ルール]ダイアログボックスを閉じ、[条件付き書式設定ルールマネージャー]ダイアログボックスを再度表示します。今回は、新しいルールが表示されます。 (このルールのフォーマットを指定しなかったことに注意してください。それで問題ありません。)
。ルールで[Trueの場合に停止]チェックボックスがオンになっていることを確認します。
。 [新しいルール]をクリックします。 Excelは、[新しい書式設定ルール]ダイアログボックスを再度表示します。
。ダイアログボックスの上部にある[ルールタイプの選択]領域で、[含むセルのみをフォーマットする]を選択します。
。ルールの最初のドロップダウンリストを使用して、[セル値]を選択します。
。ルールの2番目のドロップダウンリストを使用して、[等しい]を選択します。
。条件2の値ボックスに0を入力します。
。 [フォーマット]ボタンをクリックします。 Excelに[セルの書式設定]ダイアログボックスが表示されます。
。ダイアログボックスのコントロールを使用して、必要に応じてフォーマットを変更します。
。 [OK]をクリックして、[セルの書式設定]ダイアログボックスを閉じます。
。 [OK]をクリックして、[新しい書式設定ルール]ダイアログボックスを閉じます。 Excelに再び条件付き書式ルールマネージャーが表示され、定義したルールがリストの最初のルールになります。 (これも選択する必要があります。)
。下矢印をクリックして、作成したルールをルールリストの2番目の位置に移動します。
。 [OK]をクリックして、[条件付き書式ルールマネージャー]ダイアログボックスを閉じます。
書式設定は、手順1で選択したセルの範囲に適用されます。
もう1つの解決策は、2つの条件を1つの条件に結合することです。次の手順に従ってください:
。条件付きでフォーマットする範囲を選択します。 (この例では、範囲A2:A99を選択したと仮定します。)
。リボンの[ホーム]タブが表示された状態で、[スタイル]グループの[条件付き書式]オプションをクリックします。 Excelは、条件付き書式に関連するオプションのパレットを表示します。
。 [新しいルール]をクリックします。 Excelは、[新しい書式設定ルール]ダイアログボックスを表示します。
。ダイアログボックスの上部にある[ルールタイプの選択]領域で、[数式を使用してフォーマットするセルを決定する]を選択します。
。数式ボックスに数式= AND(A2 = 0、A2 <> “”)を入力します。
。 [フォーマット]ボタンをクリックします。 Excelに[セルの書式設定]ダイアログボックスが表示されます。
(図2を参照)
。ダイアログボックスのコントロールを使用して、必要に応じてフォーマットを変更します。
。 [OK]をクリックして、[セルの書式設定]ダイアログボックスを閉じます。
。 [OK]をクリックして、[新しい書式設定ルール]ダイアログボックスを閉じます。書式設定は、手順1で選択したセルの範囲に適用されます。
手順5で使用した数式は、値が0であり、セルが空白でないことを確認します。 AND関数は、両方の基準が満たされた場合にのみ、数式がTrueを返し、形式が適用されることを確認します。
他にも使用できる数式はいくつもあります。たとえば、次の各式は、ステップ5で置き換えることができます。
-
= AND(COUNT(A2)= 1、A2 = 0)
-
= AND(A2 = 0、NOT(ISBLANK(A2)))
-
= AND(A2 = 0、LEN(A2)> 0)
NOT(ISBLANK(A2))(A2 = 0)
空白を無視してゼロ値を強調表示するさらに高速な方法が必要な場合は、マクロの使用を検討してください。マクロをインポートして実行するだけなので、マクロはより高速になります。セルの範囲を選択して、条件付き書式の数式を入力する必要はありません。次のマクロは、使用できるマクロの例です。
Sub FormatRed() TotalRows = 5000 ColNum = 1 For i = 1 To Cells(TotalRows, ColNum).End(xlUp).Row Cells(i, ColNum).Interior.ColorIndex = xlAutomatic If IsNumeric(Cells(i, ColNum).Value) Then If Cells(i, ColNum).Value = 0 Then Cells(i, ColNum).Interior.ColorIndex = 3 End If End If Next End Sub
マクロは列Aのセルをチェックします(行1から5,000のセルをチェックします。必要に応じてこれを変更できます)。セルに数値が含まれ、その値がゼロの場合、セルは赤で塗りつぶされます。
セルに他のものが含まれている場合、セルは通常の色に戻されます。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(7131)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。
link空白とゼロを区別する条件付きフォーマット。