0

J'ai une feuille de calcul Google qui contient plusieurs feuilles de calcul. La plupart des feuilles de calcul ont les mêmes colonnes mais certaines ont des colonnes supplémentaires. Je voudrais concaténer toutes les feuilles de calcul en une seule feuille de calcul nouvellement créée dans le même classeur. Les différences dans les colonnes doivent contenir des valeurs vides.Mettre en concaténation des feuilles de calcul dans une feuille de calcul Google vers une nouvelle feuille de calcul

Points supplémentaires si vous pouviez l'adapter à plusieurs classeurs. Aussi préférable si je pouvais sélectionner les feuilles à concaténer. J'ai essayé d'écrire un script pour cela, mais j'ai du mal à le faire.

Répondre

1

La Mère de toutes les feuilles

Vous pourriez probablement obtenir toutes les feuilles de calcul dans votre lecteur et de le faire pour chacun d'eux aussi bien. Mais je ne le fais pas. Cela vous permet d'inclure les feuilles que vous souhaitez concaténées en les ajoutant à la table includedSheet.

function concatAllSheets() 
{ 
    var includedSheet=['Sheet1','Sheet2','Sheet3']; 
    var ss=SpreadsheetApp.getActive(); 
    var allSheets=ss.getSheets(); 
    var sheetName='motherofallsheets-' + Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "yyyyMMddHHmm") 
    var mother=ss.insertSheet(sheetName); 
    for(var i=0;i<allSheets.length;i++) 
    { 
    var sht=allSheets[i]; 
    if(includedSheet.indexOf(sht.getName())>-1) 
    { 
     var rng=sht.getDataRange(); 
     var rngA=rng.getValues(); 
     for(var j=0;j<rngA.length;j++) 
     { 
     var row=rngA[j]; 
     mother.appendRow(row); 
     } 
    } 
    } 
} 
+0

Merci, c'est fait! – jcconnell

+0

Je cherche à améliorer cela en créant une liste des feuilles de calcul dans le classeur et en cliquant pour sélectionner les feuilles de travail que je voudrais concaténer. Des idées à ce sujet? – jcconnell

+0

J'utiliserais probablement une barre latérale qui a une case à cocher pour chaque feuille, puis un bouton qui exécute une fonction qui combine toutes les feuilles cochées. – Cooper