条件付き書式を使用すると、セルに含まれる値や他のセルの値に応じてセルの外観が動的に変化するようにセルをフォーマットできます。条件付き書式には、次のようなさまざまな用途があります。
- 特定のしきい値を超えるセルをハイライト表示する(たとえば、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
を使用して、指定されたインデックスのリストからルールを削除します。
例
次の例は、このページの上部にあるスクリーンショットに示す条件付き書式を作成する方法を示しています。その他の例については、条件付き書式のサンプル ページをご覧ください。