在谷歌电子表格隐藏行根据在小区中第一个字符(Hide Rows in a Google Spread

2019-09-01 02:30发布

我的工作在增加功能的谷歌电子表格。 电子表格进口网络数据,以及我拥有这一切很好地格式化。 我的一个列的是一系列的字符串,在以下两种方式之一格式化 - 字符串或*字符串*,而没有空间(基本输入从网上斜体)。

我想拿出运行当我打开我的电子表格,这将脚本:

  • 取消隐藏在我的电子表格中的所有行
  • 通过电子表格循环
  • 隐藏的每一行,其中柱2(B)的开头是一个星号

我有以下几点:

function onOpen() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("DoDH");
  sheet.showRows(1, sheet.getMaxRows());
  for(var i=1; i<sheet.getMaxRows()+1; ++i){
    if (sheet.getRange(i, 2).getValue().){
      sheet.hideRow(i)
    }
  }
}

我不知道如何访问每个单元内的字符串,以及如何在字符串中的字符访问。 预先感谢您的任何帮助。

Answer 1:

下面是更新后的代码。 看评论有呐洞察力

function onOpen() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("DoDH");
  var maxRows = sheet.getMaxRows();

  //show all the rows
  sheet.showRows(1, maxRows);

  //get data from clumn B
  var data = sheet.getRange('B:B').getValues();

  //iterate over all rows
  for(var i=0; i< data.length; i++){
    //compare first character, if asterisk, then hide row
    if(data[i][0].charAt(0) == '*'){
      sheet.hideRows(i+1);
    }
  }
}


文章来源: Hide Rows in a Google Spreadsheet based on first Character in a cell