web-dev-qa-db-fra.com

Copier la formule à chaque 25ème ligne, augmenter la référence d'une ligne

Je suis coincé sur la copie d'une formule dans les feuilles de Google. Je veux copier une formule dans une cellule toutes les 25 lignes, mais augmenter la référence d'une seule ligne.

Exemple, je voudrais que ces formules soient dans L4, L29 et L54

=transpose(split(ArrayFormula(concatenate(SUPIR!$N3:$AB3&" "))," "))
=transpose(split(ArrayFormula(concatenate(SUPIR!$N4:$AB4&" "))," "))
=transpose(split(ArrayFormula(concatenate(SUPIR!$N5:$AB5&" "))," "))

Ce que je reçois est ...

=transpose(split(ArrayFormula(concatenate(SUPIR!$N3:$AB3&" "))," "))
=transpose(split(ArrayFormula(concatenate(SUPIR!$N28:$AB28&" "))," "))
=transpose(split(ArrayFormula(concatenate(SUPIR!$N53:$AB53&" "))," "))

Je ne sais tout simplement pas comment changer les références avec cette formule. Toute aide reçue avec gratitude.

Le script que j'ai utilisé pour définir d'autres formules est ici, mais je n'ai pas réussi à le faire fonctionner correctement ...

function setFormulas() {

  var sheet, startRow, i; 
  sheet = SpreadsheetApp.getActiveSheet();
  startRow = 4;
  i = 4;
  while(startRow < 775) {
    sheet.getRange(startRow, 12).setFormula('=transpose(split(ArrayFormula(concatenate(SUPIR!N3:AB3&" "))," "))' + i);
    i++;
    startRow += 25;
  }
}
1
Matt

Vous ajoutez simplement i à la fin de la formule. Cela va créer les formules que vous voulez

function setFormulas() {
  var sheet, startRow, i; 
  sheet = SpreadsheetApp.getActiveSheet();
  startRow = 4;
  i = 3;
  while(startRow < 775) {
    sheet.getRange(startRow, 12).setFormula('=transpose(split(ArrayFormula(concatenate(SUPIR!$N'+i+':$AB'+i+'&" "))," "))');
    i++;
    startRow += 25;
  }
}
0
Robin Gertenbach