Чередование строк 1 через 2

Рейтинг: -2Ответов: 1Опубликовано: 29.07.2023

помогите, пожалуйста.

Прошу помочь скриптом, для Google Sheets, чтобы добавить после каждой строки таблицы, где в строке есть значения 2 пустые строки.

Было

1
2
3

Стало

1
.
.
2
.
.
3
.
.

Где точка это пустая строка.

@DiMithras При выполнении скрипта выдаётся ошибка. Exception: Формат 01.02.2019 Содержимое таблицы разное, в ней около 100 столбцов, может больше. Нужно, чтобы строки пустые добавило после каждой строки независимо от от содержимого. Спасибо.

Ответы

▲ -1

Идём в Extensions → AppsScript

Создаём новый проект

function addEmptyRowsAfterEachRow() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var numRows = data.length;
  var numCols = data[0].length;
  var output = [];

  for (var i = 0; i < numRows; i++) {
    output.push(data[i]);
    output.push(Array(numCols).fill(""));
    output.push(Array(numCols).fill(""));
  }

  sheet.clearContents();
  sheet.getRange(1, 1, output.length, output[0].length).setValues(output);
}

Сохраняем, запускаем при открытой Google таблице.

Демонстрация работы в Google Sheets


Я не могу протестировать ваши сценарии, но пусть так будет:

function addEmptyRowsAfterEachRow() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var numRows = data.length;
  var numCols = data[0].length;
  var output = [];

  for (var i = 0; i < numRows; i++) {
    var row = data[i];
    if (isValidRow(row)) {
      output.push(row);
      output.push(Array(numCols).fill(""));
      output.push(Array(numCols).fill(""));
    }
  }

  sheet.clearContents();
  sheet.getRange(1, 1, output.length, output[0].length).setValues(output);
}

function isValidRow(row) {
  return !isNaN(row[0]);
}