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