隐藏基于单元格内容的行 - Google电子表格

时间:2015-03-18 09:47:16

标签: javascript google-apps-script google-sheets

如果Google电子表格的单元格中存在特定值,我想创建一种隐藏特定行数的方法。

E.g。

         A                   B
1   Include All options`?       Yes/No
2   Option A:                   Yes/No
3   Option B:                   Yes/no
etc.

如果单元格B1是"是"没有必要查看所有其他选项。但是,如果他们选择"否",则需要选择选项"是/否"。出于这个原因,我想在option = yes时隐藏行,但是如果它是No

则取消隐藏它们

1 个答案:

答案 0 :(得分:0)

此代码检测是否编辑了某个单元格(B3),然后在该行(第3行)下隐藏了几行(如果已编辑):

function onEdit(e) {
  Logger.log('e.value: ' + e.value);

  var cellEdited = e.range.getA1Notation();
  Logger.log('cellEdited: ' + cellEdited);

  if (cellEdited === "B3") {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var theSheet = ss.getActiveSheet();

    theSheet.hideRows(4, 2);
  };
}

此代码使用函数名onEdit(),这意味着它监视电子表格以编辑单元格。如果有编辑,则运行该功能。这是一个“简单”的触发器。还有可安装的触发器来监控电子表格。

请注意Logger.log()语句。这些语句将信息打印到LOGS,您可以从VIEW,LOGS菜单查看。

为了您的目的:

function onEdit(e) {
  Logger.log('e.value: ' + e.value);

  var cellEdited = e.range.getA1Notation();
  Logger.log('cellEdited: ' + cellEdited);

  if (cellEdited === "B1" && e.value === "yes") {

    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var theSheet = ss.getActiveSheet();

    theSheet.hideRows(2, 2);
  };
}