Скрипт Google Apps для скрытия столбцов по условию - PullRequest
0 голосов
/ 23 апреля 2020

Я на самом деле использую этот скрипт, чтобы скрыть строки, которые в последнем столбце содержат "1"

    function HideComprasRows() {

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Compras');
  var lastRow = sheet.getMaxRows();
  var lastColumn = sheet.getMaxColumns();
  var range = sheet.getRange(1, lastColumn, lastRow, 1);
  var data = range.getValues();
  for (var i = 0; i < data.length; i++) {
    if (data[i][0] == 1) {
      sheet.hideRows(i + 1)
    }
  }
}

, он отлично работает для меня, но мне нужно то же самое для моих столбцов, которые содержат "1" в первом строка

Например, в этом сценарии: enter image description here

столбцы F: KI нужно скрыть (Значение "1" исходит из определенной формулы c из колонки)

Любая помощь со скриптом, пожалуйста?

Спасибо!

1 Ответ

1 голос
/ 23 апреля 2020
  • Вы хотите скрыть столбцы, когда 1-я строка равна 1.
  • В вашем случае диапазон, который вы хотите скрыть, находится от столбца "B" до последнего столбца.
  • Вы хотите добиться этого с помощью Google Apps Script.

Я считаю, что вы хотите достичь выше. Для этого, как насчет этого ответа?

В этом ответе я использовал TextFinder для достижения вашей цели.

Пример сценария:

function myFunction() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Compras');

  // I modified below script.
  sheet
    .getRange(1, 2, 1, sheet.getLastColumn() - 1)
    .createTextFinder("1")
    .matchEntireCell(true)
    .findAll()
    .forEach(e => sheet.hideColumn(e));
}

Ссылки:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...