根据单元格内容隐藏行 - Google 电子表格

Hide Rows Based on Content of a Cell - Google Spreadsheet

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

例如

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

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

则取消隐藏它们

此代码检测某个单元格 (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(),这意味着它会监视电子表格中的单元格编辑情况。如果有编辑,函数运行。这是一个 "simple" 触发器。还有用于监视电子表格的可安装触发器。

注意 Logger.log() 语句。这些语句将信息打印到日志中,您可以从“查看”、“日志”菜单中查看这些信息。

为了您的目的:

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);
  };
}