【问题标题】:Using setConditionalFormatRules() in google sheets to highlighte a row在谷歌表格中使用 setConditionalFormatRules() 突出显示一行
【发布时间】:2019-03-14 07:58:48
【问题描述】:

我使用“whenTextEqualTo”案例应用了条件格式。这可以正常工作,并且满足此条件的单元格会根据需要突出显示。 但是,我希望突出显示该单元格所在的行。

因此,工作表 FinData 的数据位于 A2G500 的范围内。我正在检查的值在 F 列中(值应该是 == "CDI")。满足此条件时,单元格将突出显示。 如何做同样的事情,但行被突出显示,即 col B 到 col G 包括在内。 我已经检查了这个post,但无法将其合并到我的下面:

function formatCDI() {

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var finDataSheet = ss.getSheetByName("FinData");
  var range = finDataSheet.getRange("A2:G500");
  finDataSheet.clearConditionalFormatRules();

  var rule = SpreadsheetApp.newConditionalFormatRule()

    .whenTextEqualTo("CDI")
    .setBackground("#86D3FF")
    .setRanges([range])
    .build();
  var rules = finDataSheet.getConditionalFormatRules();
  rules.push(rule);
  finDataSheet.setConditionalFormatRules(rules);
};

希望对此有任何帮助。 谢谢,

【问题讨论】:

    标签: google-apps-script google-sheets gs-conditional-formatting


    【解决方案1】:
    • 当“F”列的值为CDI时,您希望使用条件格式将“B”列突出显示到“G”。

    如果我的理解是正确的,那么使用whenFormulaSatisfied() 而不是whenTextEqualTo() 怎么样。在您的情况下,作为公式,使用=$F2="CDI"

    修改后的脚本:

    请进行如下修改。

    发件人:

    var range = finDataSheet.getRange("A2:G500");
    

    .whenTextEqualTo("CDI")
    

    收件人:

    var range = finDataSheet.getRange("B2:G500");
    

    .whenFormulaSatisfied('=$F2="CDI"')
    

    参考:

    如果我误解了您的问题,请告诉我。我想修改它。

    【讨论】:

    • 一切都正确 - 谢谢!当然,“.whenFormulaSatisfied”是可以的!欣赏它! ——
    • @AlexShevyakov 感谢您的回复。我很高兴你的问题得到了解决。也谢谢你。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 2019-08-23
    相关资源
    最近更新 更多