Я пытался написать некоторый код, который просматривает один столбец со строками на основе некоторых простых формул. Я не могу заставить его распознавать различные наборы данных и вставлять их туда, куда я хочу.
Я попытался переписать код несколькими различными способами, который просматривает все данные и просто смещает строку назначения на 1. Но он не распознает, что он извлекает разные данные.
Ниже приведен код, который работает. То, что он делает, начинается с 1-го столбца 2-й строки (где начинаются мои данные). Данные в виде списка:
A
1 Customer1
2 item1
3 item2
4 Item3
5
6 Customer2
7 Item1
Формулы, которые у меня есть в этих ячейках, просто объединяют некоторые другие ячейки.
Используя цикл, он просматривает столбец A и находит пустое пространство. Затем он «разбивает» любое число, на котором останавливается, числовую нотацию A1 ячейки, затем находит значения для этих ячеек и переносит их на другой лист в правильной строке.
Проблема с кодом, который работал лучше всего, состоит в том, что ни одна из ячеек не читается как пустая
(из-за формул?) и он переносит все в одну строку.
function transpose(){
var data = SpreadsheetApp.getActiveSpreadsheet();
var input =data.getSheetByName("EMAIL INPUT");
var output = data.getSheetByName("EMAIL OUTPUT");
var lr =input.getLastRow();
for (var i=2;i<20;i++){
var cell = input.getRange(i, 1).getValue();
if (cell == ""){
break
}
}
var set = input.getRange(2, 1, i-1).getValues();
output.getRange(2,1,set[0].length,set.length) .
.setValues(Object.keys(set[0]).map ( function (columnNumber) {
return set.map( function (row) {
return row[columnNumber];
});
}));
Logger.log(i);
Logger.log(set);
}
Мне нужен код, чтобы просмотреть все данные и разделить наборы данных по условию.
Затем перенесите эту информацию на другой лист. Каждый набор (или массив) данных будет находиться в отдельной строке. Каждый компонент заполняется по столбцу (["customer1", "Item1", "Item2"].
EDIT:
Можно ли извлечь разные наборы данных из одного столбца и превратить их в массивы? Я верю, что возможность сделать это сработает, если я использую "appendrow", чтобы переставить свои разные массивы туда, где они мне нужны.