2016-12-02 7 views
0

列Aの1行にそれぞれクライアント(名前、住所、電子メール、電話番号)の請求書情報があり、別の列にコピーする必要があります転置スタイルの範囲。転記スタイルの列をコピーして削除する

私は私が必要として、それを編集しようとすると、次のスクリプトを使用するが、私は内蔵がない表示されますので、あなたは、2次元配列を転置のための機能が必要になるでしょうか

function copyAndDeleteSalidas() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 

    var source = ss.getRange ("Sheet1!A1:A6"); 
    var destSheet = ss.getSheetByName("Sheet2!"); 

    var destRange = destSheet.getRange(destSheet.getLastRow()+1,1); 
    source.copyTo (destRange, {contentsOnly: true}); 
    source.clear(); 

} 

答えて

0

見つけることはありませんこの目的のためのオプションはApps Scriptにあります。 Stack Overflowにはこのような関数のいくつかのバージョンがありますが、私は以下のようにone of themを使用しました。

スクリプトとの主な違いは、copyToではなく、setValuesgetValuesです。また、宛先範囲は、挿入された値のサイズと一致するサイズを持つ必要があります。

function copyTransposeAndDelete() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var source = ss.getRange("Sheet1!A1:A6"); 
    var destSheet = ss.getSheetByName("Sheet2"); 
    var destRange = destSheet.getRange(destSheet.getLastRow()+1, 1, source.getWidth(), source.getHeight()); 
    destRange.setValues(transpose(source.getValues())); 
    source.clear(); 
} 

function transpose(array) { 
    return array[0].map(function(col, i) { 
    return array.map(function(row) { 
     return row[i]; 
    }); 
    }); 
} 
関連する問題