Я пытаюсь произвести функцию "обратного поворота". Я искал долго и упорно для такой функции, но не может найти тот, который уже там.
У меня есть сводная таблица с количеством столбцов до 20 и сотнями строк, однако я хотел бы преобразовать ее в плоский список, чтобы можно было импортировать в базу данных (или даже использовать плоские данные для создания дополнительных сводных таблиц!)
Итак, у меня есть данные в этом формате:
| Customer 1 | Customer 2 | Customer 3
----------+------------+------------+-----------
Product 1 | 1 | 2 | 3
Product 2 | 4 | 5 | 6
Product 3 | 7 | 8 | 9
И нужно преобразовать его в этот формат:
Customer | Product | Qty
-----------+-----------+----
Customer 1 | Product 1 | 1
Customer 1 | Product 2 | 4
Customer 1 | Product 3 | 7
Customer 2 | Product 1 | 2
Customer 2 | Product 2 | 5
Customer 2 | Product 3 | 8
Customer 3 | Product 1 | 3
Customer 3 | Product 2 | 6
Customer 3 | Product 3 | 9
Я создал функцию, которая будет читать диапазон из sheet1
и добавлять переформатированные строки внизу того же листа, однако я пытаюсь заставить его работать, чтобы у меня была функция на sheet2
которая будет читать весь диапазон из sheet1
.
Неважно, что я пытаюсь, я не могу заставить его работать, и мне было интересно, кто-нибудь может дать мне какие-нибудь указатели?
Вот что у меня так далеко:
function readRows() {
var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getDataRange();
var numRows = rows.getNumRows();
var values = rows.getValues();
heads = values[0]
for (var i = 1; i <= numRows - 1; i++) {
for (var j = 1; j <= values[0].length - 1; j++) {
var row = [values[i][0], values[0][j], values[i][j]];
sheet.appendRow(row)
}
}
};