Comment transposé un tableau en app script ?

Bonjour,

Voici mon problème,

J’ai un tableau app script de longueur x et largeur y, est je voudrais le transposer.

Je ne sais pas comment mis prendre.

function tableau(){
  var tab = [["A","B","C"],["D","E","F"]];
  tab = //Transposition
  Logger.log(tab);
}

Le résultat voulu:

[["A","B"],["C","D"],["E","F"]]

Merci d’avance pour votre aide

Bonne Journée

Hello @Imoka

tu peux essayer ceci

changes les commentaires des array 's

sur le 1er Array il faut renseigner la plage ;-)))

function transpose() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet()
  //var array = sheet.getRange('B2:F4').getValues();  //ou définissez votre propre plage
  var array = [["A","B","C"],["D","E","F"]];
  //var array = [["A", "B"], ["C", "D"], ["E", "F"]]
  var newArray = array[0].map(function (col, i) {
    return array.map(function (row) {
      return row[i]
    })
  })

  var i = 0;
  while (i < newArray.length) {
    sheet.appendRow(newArray[i]);  // ou choisissez une autre feuille
    i++
  }
}

Bonjour,

pour une transposition, j'aurais plutôt attendu comme résultat

[["A","D"],["B","E"],["C","F"]]

non ?

j'utilise ceci

function transpose(a){
  return Object.keys(a[0]).map(function (c) { return a.map(function (r) { return r[c]; }); });
}
image

@Mike

tout à fait exacte

le transpose natif donne bien cette réponse aussi voir image

voir ces matricielles également ={{1;2;3};{4;5;6};{7;8;9}} ou cela ={{1\2\3}\{4\5\6}\{7\8\9}} ou encore ça ={{1\2\3};{4\5\6};{7\8\9}}

20210731 082506 001

Bonjour,

Merci à vous 2 pour ces réponses rapides.

@mikhail:

Je coche quand même malgré que je voulais vraiment un transpose comme la fait Gilbert.

Bonne Journée et encore merci.

Bravo Gilbert ...

  • bon je ne vois pas bien la différence de résultat du reste entre les propositions, mais peu importe car ImoKa est satisfait ...
  • je retiens aussi cette formule qui me parait moins exotérique que la mienne !
image
Rechercher des sujets similaires à "comment transpose tableau app script"