Mac için Excel 2016 - bir matrisi listeye dönüştürme


-1

Burada zaten bazı cevaplar gördüm ancak hiçbiri Mac için Excel 2016'da çalışmıyor.

Bir matrisi böyle bir listeye dönüştürmek için basit bir çözüm istiyorum:

date    city1   city2   cityN
jan1    value   value   value
jan2    value   value   value

için

date    city    value
jan1    city1   value
jan1    city2   value
jan1    cityN   value
jan2    city1   value
jan2    city2   value
jan2    cityN   value

Cevapları gördün mü? Hangileri? Onları kullandın mı? İşe yaramadılar mı? Neden olmasın? Ne oldu? Bunu düzeltmeye çalıştın mı?
Raystafarian

Sürüm problemleri. Google e-tabloda bir komut dosyası kullandım:
João Saro

Yanıtlar:


0

google elektronik tablo komut dosyası kullandım:

function transformData(){

var sheet = SpreadsheetApp.getActiveSheet();
 var data = sheet.getDataRange().getValues();//read whole sheet
 var output = [];
 var headers = data.shift();// get headers
 var empty = headers.shift();//remove empty cell on the left
 var products = [];
   for(var d in data){
     var p = data[d].shift();//get product names in first column of each row
     products.push(p);//store
   }
 Logger.log('headers = '+headers);
 Logger.log('products = '+products);
 Logger.log('data only ='+data);
 for(var h in headers){
   for(var p in products){  // iterate with 2 loops (headers and products)
     var row = [];
     row.push(headers[h]);
     row.push(products[p]);
     row.push(data[p][h])
     output.push(row);//collect data in separate rows in output array
   }
 }
 Logger.log('output array = '+output);
 var ns = SpreadsheetApp.getActive().getSheets().length+1
 SpreadsheetApp.getActiveSpreadsheet().insertSheet('New Sheet'+ns,ns).getRange(1,1,output.length,output[0].length).setValues(output);
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.