如果在Google表格中满足条件,则将边框格式添加到行

膝盖

Excel显然具有内置的这种类型的条件格式

我想通过Google Apps脚本在Google表格中完成同样的操作下面应说明前后条件:

示例数据集

        A           B           C
  1   apple     Macintosh
  2   apple     Granny Smith
  3   orange    Florida
  4   orange    Valencia
  5   pear      Garden
  6   banana    Chiquita

结果示例数据集

        A           B           C
  1   apple     Macintosh
  2   apple     Granny Smith
  ---------------------------
  3   orange    Florida
  4   orange    Valencia
  ---------------------------
  5   pear      Garden
  ---------------------------
  6   banana    Chiquita
  ---------------------------

此问题的脚本/答案应该在以下行的整个行(“ A”,“ B”和“ C”列)的底部显示边框:2、4、5和6。电子表格的逻辑非常简单:

  1. 在单元格中C1=IF(A1=A2,"NOBORDER","BORDER")
  2. 然后包裹上面 =IF(C1="BORDER", addBorder(A1:C1), "NOBORDER")

在更大的数据集中,这种格式将帮助最终用户更轻松地查看逻辑分组。需要使用Google Apps脚本,因为数据将动态更新。

以下是一些示例Google Apps脚本代码,但无法正常工作

function onEdit(event) {
  var sheet = SpreadsheetApp.getActiveSheet();
  var range = event.range;

  var startingRow = range.getRow();
  var numRows = range.getNumRows();
  for (var i = 1; i <= numRows; i++) {
    var rowNbr = startingRow + i - 1;
    Logger.log("changed row %s",rowNbr );
    //Now check the WHOLE row
    var colLeft=1; //1=A
    var colRight=11; //11=K
    var row = sheet.getRange(rowNbr,colLeft, 1, colRight - colLeft + 1);
    if(row.isBlank()) {
      row.setBorder(false, null, true, null, null, null, "red", SpreadsheetApp.BorderStyle.SOLID_MEDIUM);
    } else {
      row.setBorder(false, null, null, null, null, null, "black", SpreadsheetApp.BorderStyle.SOLID_MEDIUM);
    }
  }
}
膝盖

在此问答中寻求帮助:https ://webapps.stackexchange.com/questions/59484/changing-row-colour-if-value-set?rq =1

此代码测试A列中的值。如果result = TRUE,则在整个行上应用边框:

function onOpen() {
   GroupMyData(); // trigger this function on sheet opening
}

function GroupMyData() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('shared'); // apply to sheet name only
  var rows = sheet.getRange('a1:g'); // range to apply formatting to
  var numRows = rows.getNumRows(); // no. of rows in the range named above
  var values = rows.getValues(); // array of values in the range named above
  var testvalues = sheet.getRange('a1:a').getValues(); // array of values to be tested (1st column of the range named above)

  rows.setBorder(false, false, false, false, false, false, "red", SpreadsheetApp.BorderStyle.SOLID_MEDIUM); // remove existing borders before applying rule below
      //Logger.log(numRows);

  for (var i = 0; i <= numRows - 1; i++) {
      var n = i + 1;
      //Logger.log(n);
      //Logger.log(testvalues[i] > 0);
      //Logger.log(testvalues[i]);
      if (testvalues[i] > 0) { // test applied to array of values
        sheet.getRange('a' + n + ':g' + n).setBorder(null, null, true, null, null, null, "red", SpreadsheetApp.BorderStyle.SOLID_MEDIUM); // format if true
      }
  }
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Pandas - 如果在一行中满足条件,则将值添加到前一行而不进行迭代

如果满足条件,则将底部边框添加到行中特定数量的列

如果在另一列中满足条件,则将列值附加到列表

如果满足条件,则将新行添加到Excel表中

如果在php中满足条件,则在foreach循环中将数组对象添加到数组中

如果在某个位置的空白处,则将hypen添加到文件中

如果在数组中,则将所选属性添加到下拉列表项

如果在页面顶部并且用户向上滚动,则将类添加到元素

如果在Excel中添加了另一行,则向表格中的单元格添加边框

对于范围中的每个单元格,如果满足条件,则将单元格值添加到数组

如果在Angular 8中输入的数字少于10个数字,则将类添加到输入中

Python Pandas:如果在另一列中满足条件,则将方法应用于列

如果在WooCommerce中满足条件,则尝试隐藏添加费用文本

返回参数如果在子表中满足某些条件

如果在添加到列表表单中传递相同的记录,则停止 javascript 执行

对于每一行,如果行值与条件匹配,则将列名添加到新列的列表中

根据Google表格中的分组行和条件格式添加边框

如果在form_widget的attr中添加条件

SQLAlchemy:如果表格中不存在来自熊猫数据帧的新行,则将它们添加到mysql表中

如果外部文件中存在值,则将数据添加到 CSV 中的行

如果在javascript中未定义协议,如何将http://添加到url?

Prolog-如果满足条件,则添加到总计

如果在 30 天内满足条件,如何仅获取最后一行

如果在R中满足条件,则用多列中的NA替换值

如果不是功能,则将项目添加到列表中

如果值> 0,则将注释添加到系列中

是否可以将格式(阴影)添加到 Google 表格中附加的行(通过 Google Apps 脚本)

如果在熊猫中没有重复,则将行值从一个df追加到另一个

如果在 React 中满足条件,则调用第二个 API