条件付き書式を使用すると、セルに含まれる値や他のセルの値に応じて外観が動的に変化するようにセルを書式設定できます。条件付き書式には、次のようなさまざまな用途があります。
- 特定のしきい値を超えるセルをハイライト表示する(たとえば、2,000 ドルを超えるすべての取引を太字で表示する)。
- セルの値を基準に色が変わるように書式設定します(たとえば、2,000 ドルを超える金額が増えるほど背景色が濃い赤になるように設定します)。
- 他のセルの内容に基づいてセルを動的に書式設定します(たとえば、「販売期間」フィールドが 90 日を超える物件の住所をハイライト表示します)。
セルの値や他のセルの値に基づいてセルを書式設定することもできます。たとえば、範囲の中央値と比較した値に基づいて、セルの範囲の書式を設定できます。
図 1. 年齢の中央値より上または下の値をハイライトする書式設定。
この例では、各行のセルは、age
列の値がすべての年齢の中央値と比較してどうなるかに応じて書式設定されます。年齢が中央値より上の行はテキストが赤色になり、中央値より下の行は背景が赤色になります。2 つの行の age
の値が年齢の中央値(48)と一致しているため、これらのセルには特別な書式設定は適用されません。(この条件付き書式を作成するソースコードについては、下記の例をご覧ください)。
条件付き書式ルール
条件付き書式は、書式ルールを使用して表現されます。各スプレッドシートには、これらのルールのリストが保存され、リストに表示される順序で適用されます。Google Sheets API を使用すると、これらの書式設定ルールを追加、更新、削除できます。
各ルールでは、ターゲット範囲、ルールのタイプ、ルールをトリガーする条件、適用する書式設定を指定します。
対象範囲 - 単一のセル、セルの範囲、複数の範囲を指定できます。
ルールの種類 - ルールには次の 2 つのカテゴリがあります。
- ブール値ルールは、特定の条件が満たされた場合にのみ書式を適用します。
- グラデーション ルールは、セルの値に基づいてセルの背景色を計算します。
評価される条件と適用できる形式は、次のセクションで説明するように、これらのルールタイプごとに異なります。
ブール値のルール
BooleanRule
は、true
または false
に評価される BooleanCondition
に基づいて、特定の形式を適用するかどうかを定義します。ブール値ルールの形式は次のとおりです。
{
"condition": {
object(BooleanCondition)
},
"format": {
object(CellFormat)
},
}
条件には、組み込みの ConditionType
を使用することも、より複雑な評価を行うためにカスタム数式を使用することもできます。
組み込みの型を使用すると、数値のしきい値、テキストの比較、セルが入力されているかどうかに応じて書式を適用できます。たとえば、NUMBER_GREATER
は、セルの値が条件の値より大きい必要があることを意味します。ルールは常にターゲット セルに対して評価されます。
カスタム数式は、任意の式に従って書式を適用できる特別な条件タイプです。このタイプでは、対象のセルだけでなく、任意のセルを評価することもできます。条件の数式は true
に評価される必要があります。
ブール値ルールで適用される書式設定を定義するには、CellFormat
型のサブセットを使用して、次のものを定義します。
- セルのテキストが太字、斜体、取り消し線のいずれであるか。
- セル内のテキストの色。
- セルの背景色。
グラデーション ルール
GradientRule
は、値の範囲に対応する色の範囲を定義します。グラデーション ルールの形式は次のとおりです。
{
"minpoint": {
object(InterpolationPoint)
},
"midpoint": {
object(InterpolationPoint)
},
"maxpoint": {
object(InterpolationPoint)
},
}
各 InterpolationPoint
は、色とその対応する値を定義します。3 つの点のセットでカラー グラデーションを定義します。
条件付き書式ルールを管理する
条件付き書式ルールを作成、変更、削除するには、適切なリクエスト タイプで spreadsheets.batchUpdate
メソッドを使用します。
AddConditionalFormatRuleRequest
を使用して、指定されたインデックスのリストにルールを追加します。UpdateConditionalFormatRuleRequest
を使用して、指定されたインデックスにあるリスト内のルールを置き換えるか、並べ替えます。DeleteConditionalFormatRuleRequest
を使用して、指定されたインデックスのリストからルールを削除します。
例
次の例は、このページの上部のスクリーンショットに示されている条件付き書式を作成する方法を示しています。その他の例については、条件付き書式のサンプルページをご覧ください。