Google Sheets API を使用すると、条件付き書式ルールを作成、更新できます。 可能です。特定の書式タイプ(太字、斜体、取り消し線、 (前景色、背景色など)を条件付きで制御できる 適用できます。このページの例では、一般的な Sheets API の条件付き書式オペレーションについて説明します。
これらの例では、言語に依存しない HTTP リクエストとして記載しています。学習内容 Google API を使用してさまざまな言語でバッチ アップデートを実装する方法 クライアント ライブラリについては、 スプレッドシート。
これらの例では、プレースホルダ SPREADSHEET_ID と SHEET_ID は、
は、これらの ID を指定する場所を示しています。そのスプレッドシートの
ID を入力します。取得できるもの:
シート ID
spreadsheets.get
メソッドを使用します。「
範囲は A1 表記で指定します。「
Sheet1!A1:D5 です。
行全体に条件付きカラー グラデーションを追加する
次の
spreadsheets.batchUpdate
メソッドコードサンプルは、
AddConditionalFormatRuleRequest
新しいグラデーションの条件付き書式ルールを、
できます。1 つ目のルールは、その行のセルに背景色を付けることです。
値に応じて設定されます。行の最小値は濃い赤
最大値は明るい緑色になります他の値の色
補間されます2 番目のルールも同じことをしますが、特定の数値を使用します。
グラデーションのエンドポイント(およびさまざまな色)の決定このリクエストでは
sheets.InterpolationPointType
type
として指定します。
リクエスト プロトコルを以下に示します。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startRowIndex": 9, "endRowIndex": 10, } ], "gradientRule": { "minpoint": { "color": { "green": 0.2, "red": 0.8 }, "type": "MIN" }, "maxpoint": { "color": { "green": 0.9 }, "type": "MAX" }, } }, "index": 0 } }, { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startRowIndex": 10, "endRowIndex": 11, } ], "gradientRule": { "minpoint": { "color": { "green": 0.8, "red": 0.8 }, "type": "NUMBER", "value": "0" }, "maxpoint": { "color": { "blue": 0.9, "green": 0.5, "red": 0.5 }, "type": "NUMBER", "value": "256" }, } }, "index": 1 } }, ] }
リクエストの後に、適用された書式ルールによってシートが更新されます。勾配は
行 11 の最大値が 256
に設定されており、それを超える値には最大値があります。
color:
一連の範囲に条件付き書式ルールを追加する
次の
spreadsheets.batchUpdate
メソッドコードサンプルは、
AddConditionalFormatRuleRequest
を使用すると、スプレッドシートの A 列と C 列に新しい条件付き書式ルールを設定できます。
このルールでは、値が 10 以下のセルには背景が付きます
濃い赤色に変わっていますこのルールはインデックス 0 に挿入されているため、
他の書式ルールより優先されます。このリクエストでは
ConditionType
の type
として
BooleanRule
。
リクエスト プロトコルを以下に示します。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startColumnIndex": 0, "endColumnIndex": 1, }, { "sheetId": SHEET_ID, "startColumnIndex": 2, "endColumnIndex": 3, }, ], "booleanRule": { "condition": { "type": "NUMBER_LESS_THAN_EQ", "values": [ { "userEnteredValue": "10" } ] }, "format": { "backgroundColor": { "green": 0.2, "red": 0.8, } } } }, "index": 0 } } ] }
リクエストの後に、適用された書式ルールによってシートが更新されます。
範囲に日付とテキストの条件付き書式ルールを追加する
次の
spreadsheets.batchUpdate
メソッドコードサンプルは、
AddConditionalFormatRuleRequest
シート内の A1:D5 の範囲に対して新しい条件付き書式ルールを設定する
これらのセル内の日付とテキストの値に基づきます。テキストに文字列または
費用(大文字と小文字を区別しない)場合、最初のルールによってセルのテキストを太字に設定されます。もし
過去 1 週間より前の日付がセルに含まれている場合、2 番目のルールは
セルのテキストは斜体になり青色になります。このリクエストでは
ConditionType
の type
として
BooleanRule
。
リクエスト プロトコルを以下に示します。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 5, "startColumnIndex": 0, "endColumnIndex": 4, } ], "booleanRule": { "condition": { "type": "TEXT_CONTAINS", "values": [ { "userEnteredValue": "Cost" } ] }, "format": { "textFormat": { "bold": true } } } }, "index": 0 } }, { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 5, "startColumnIndex": 0, "endColumnIndex": 4, } ], "booleanRule": { "condition": { "type": "DATE_BEFORE", "values": [ { "relativeDate": "PAST_WEEK" } ] }, "format": { "textFormat": { "italic": true, "foregroundColor": { "blue": 1 } } } } }, "index": 1 } } ] }
リクエストの後に、適用された書式ルールによってシートが更新されます。この例では 現在の日付が 2016 年 9 月 26 日である場合:
範囲にカスタム数式ルールを追加する
次の
spreadsheets.batchUpdate
メソッドコードサンプルは、
AddConditionalFormatRuleRequest
シートの範囲 B5:B8 に対して新しい条件付き書式ルールを設定することにしました。
計算できますこのルールでは、指定したセルの
列 A と列 B です。積が 120 より大きい場合、セルのテキストは
太字と斜体にします。このリクエストでは
ConditionType
の type
として
BooleanRule
。
リクエスト プロトコルを以下に示します。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startColumnIndex": 2, "endColumnIndex": 3, "startRowIndex": 4, "endRowIndex": 8 } ], "booleanRule": { "condition": { "type": "CUSTOM_FORMULA", "values": [ { "userEnteredValue": "=GT(A5*B5,120)" } ] }, "format": { "textFormat": { "bold": true, "italic": true } } } }, "index": 0 } } ] }
リクエストの後に、適用された書式ルールによってシートが更新されます。
条件付き書式ルールを削除する
次の
spreadsheets.batchUpdate
メソッドコードサンプルは、
DeleteConditionalFormatRuleRequest
指定したシートのインデックス 0
を持つ条件付き書式ルールを削除する
作成者: SHEET_ID。
リクエスト プロトコルを以下に示します。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "deleteConditionalFormatRule": { "sheetId": SHEET_ID, "index": 0 } } ] }
条件付き書式ルールの一覧を読む
次の
spreadsheets.get
メソッドコード
サンプルは、タイトル、SHEET_ID、およびすべてのリストを取得する方法を示しています。
スプレッドシートの各シートに対する条件付き書式ルールを使用します。fields
クエリ
パラメータは、返されるデータを決定します。
リクエスト プロトコルを以下に示します。
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets(properties(title,sheetId),conditionalFormats)
レスポンスは
Spreadsheet
リソースは、
配列を含む
それぞれが持つ Sheet
個のオブジェクト
SheetProperties
要素と
ConditionalFormatRule
あります。特定のレスポンス フィールドがデフォルト値に設定されている場合、このフィールドは省略されます。
取得できます。このリクエストでは
ConditionType
の type
として
BooleanRule
。
{ "sheets": [ { "properties": { "sheetId": 0, "title": "Sheet1" }, "conditionalFormats": [ { "ranges": [ { "startRowIndex": 4, "endRowIndex": 8, "startColumnIndex": 2, "endColumnIndex": 3 } ], "booleanRule": { "condition": { "type": "CUSTOM_FORMULA", "values": [ { "userEnteredValue": "=GT(A5*B5,120)" } ] }, "format": { "textFormat": { "bold": true, "italic": true } } } }, { "ranges": [ { "startRowIndex": 0, "endRowIndex": 5, "startColumnIndex": 0, "endColumnIndex": 4 } ], "booleanRule": { "condition": { "type": "DATE_BEFORE", "values": [ { "relativeDate": "PAST_WEEK" } ] }, "format": { "textFormat": { "foregroundColor": { "blue": 1 }, "italic": true } } } }, ... ] } ] }
条件付き書式ルールまたはその優先度を更新する
次の
spreadsheets.batchUpdate
メソッドコードサンプルは、
UpdateConditionalFormatRuleRequest
関連付けられています最初のリクエストでは、既存の条件付き書式が移動されます
ルールのインデックスを高くします(0
から 2
に、優先度を下げます)。2 つ目の
リクエストにより、インデックス 0
の条件付き書式ルールが新しいルールに置き換えられます
に指定されたテキスト("Total Cost")を含むセルの書式設定
A1:D5 の範囲。最初のリクエストの移動は 2 番目のリクエストの移動が完了するため、
2 番目のリクエストにより、インデックス 1
にあったルールが置き換えられます。「
リクエストには
ConditionType
の type
として
BooleanRule
。
リクエスト プロトコルを以下に示します。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "updateConditionalFormatRule": { "sheetId": SHEET_ID, "index": 0, "newIndex": 2 }, "updateConditionalFormatRule": { "sheetId": SHEET_ID, "index": 0, "rule": { "ranges": [ { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 5, "startColumnIndex": 0, "endColumnIndex": 4, } ], "booleanRule": { "condition": { "type": "TEXT_EQ", "values": [ { "userEnteredValue": "Total Cost" } ] }, "format": { "textFormat": { "bold": true } } } } } } ] }