Class ConditionalFormatRule

  • Use SpreadsheetApp.newConditionalFormatRule() and ConditionalFormatRuleBuilder to create new conditional formatting rules.

  • You can set conditional format rules for a sheet using Sheet.setConditionalFormatRules().

  • Methods available for ConditionalFormatRule include copy(), getBooleanCondition(), getGradientCondition(), and getRanges().

  • copy() returns a builder preset with the current rule's settings.

  • getBooleanCondition() and getGradientCondition() retrieve condition details if applicable, otherwise return null.

  • getRanges() returns the ranges where the conditional format rule is applied.

Detailed documentation

copy()


getBooleanCondition()

Retrieves the rule's BooleanCondition information if this rule uses boolean condition criteria. Otherwise returns null.

// Log the boolean criteria type of the first conditional format rules of a
// sheet.
const rule = SpreadsheetApp.getActiveSheet().getConditionalFormatRules()[0];
const booleanCondition = rule.getBooleanCondition();
if (booleanCondition != null) {
  Logger.log(booleanCondition.getCriteriaType());
}

Return

BooleanCondition|null — The boolean condition object, or null if the rule does not use a boolean condition.


getGradientCondition()

Retrieves the rule's GradientCondition information, if this rule uses gradient condition criteria. Otherwise returns null.

// Log the gradient minimum color of the first conditional format rule of a
// sheet.
const rule = SpreadsheetApp.getActiveSheet().getConditionalFormatRules()[0];
const gradientCondition = rule.getGradientCondition();
if (gradientCondition != null) {
  // Assume the color has ColorType.RGB.
  Logger.log(gradientCondition.getMinColorObject().asRgbColor().asHexString());
}

Return

GradientCondition|null — The gradient condition object, or null if the rule does not use a gradient condition.


getRanges()

Retrieves the ranges to which this conditional format rule is applied.

// Log each range of the first conditional format rule of a sheet.
const rule = SpreadsheetApp.getActiveSheet().getConditionalFormatRules()[0];
const ranges = rule.getRanges();
for (let i = 0; i < ranges.length; i++) {
  Logger.log(ranges[i].getA1Notation());
}

Return

Range[] — The ranges to which this conditional format rule is applied.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-12-11 UTC.