Mac용 Excel 2016 - 행렬을 목록으로 변환

Mac용 Excel 2016 - 행렬을 목록으로 변환

여기에서 이미 몇 가지 답변을 확인했지만 Mac용 Excel 2016에서는 아무 것도 작동하지 않습니다.

행렬을 다음과 같은 목록으로 변환하는 간단한 솔루션을 원합니다.

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

에게

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

답변1

저는 Google 스프레드시트 스크립트를 사용했습니다.

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);
}

관련 정보