В настоящее время я импортирую группу данных, затем разбив их на несколько столбцов, а затем пытаюсь очистить или удалить любые ошибочные строки (это импорт необработанных данных, который содержит несколько строк записок).
Пока у меня есть данные, импортированные, разделенные и отсортированные. Теперь я пытаюсь найти номер строки на основе значения в столбце A, а затем выбрать все строки в конце листа, чтобы удалить или очистить содержимое.
Я дошел до того, что все мои данные были разбиты на нужные мне столбцы (A: J) и отсортированы так, чтобы все соответствующие данные были вверху (это набор переменных данных), так что теперь я просто пытаюсь найти первую строку, содержащую «----------------------», так как это будет моя первая строка «мусора».
outputrange.setValues(output);
pull1.deleteRows(1, 40);
pull1.getRange(2, 1, pull1.getLastRow()-1,
pull1.getLastColumn()).activate().sort({column:2, ascending: true});
var removalValues = range.getValues()
for (var j=0; j<removalValues.length; j++) {
var rowArray = removalValues[j];
for (var k=0; k<rowArray.length; k++) {
var columnValue = rowArray[k];
if (rowArray[0] === "----------------------") {
var rowNumber = i;
pull1.getRange(rowNumber, 1, 1, pull1.getLastColumn()).activate()
}
}
}
Я попытался с помощью приведенного выше кода перебрать и найти правильную ссылку на ячейку и просто временно выделить строку, чтобы убедиться, что она работает правильно. В настоящее время эта часть моего кода обрабатывает, но в остальном ничего не делает. На самом деле мне просто нужно что-то, что просматривает мои данные в столбце А и находит соответствующие данные, а затем возвращает номер строки, чтобы я мог применить его к другим формулам.
Редактировать: я обновил свой код, используя некоторые дополнительные ресурсы, и предложил следующее. , кажется, работает правильно, но я не уверен, что это наиболее эффективное решение:
var outputrange = pull1.getRange(startRow, 1, LR-startRow+1, 10)
outputrange.setValues(output);
pull1.deleteRows(1, 40);
pull1.getRange(2, 1, pull1.getLastRow()-1,
pull1.getLastColumn()).activate().sort({column:2, ascending: true});
var rangeData = pull1.getDataRange();
var lastColumn = rangeData.getLastColumn();
var lastRow = rangeData.getLastRow();
var searchRange = pull1.getRange(1,1,lastRow-1,lastColumn-1);
var removalValues = searchRange.getValues();
for (j=0; j < lastColumn-1; j++) {
for (k=0; k < lastRow-1; k++) {
if(removalValues[k][j] === "----------------------") {
pull1.getRange(k+1, 1, pull1.getLastRow(), 10).deleteCells(SpreadsheetApp.Dimension.ROWS);
}
}
}