J'ai une feuille de calcul, "wi", dans une feuille Google similaire à l'exemple suivant, mais avec un nombre indéterminé de lignes:
Count | Entry | Description
-------|-------|-----------------
2 | Foo | yada yada
3 | Bar | blah blah blah
Sur une autre feuille de calcul, je veux répéter chacun (pas l'en-tête) dans 'wi' par le comte de telle sorte que:
Entry | Description
-------|-----------------
Foo | yada yada
Foo | yada yada
Bar | blah blah blah
Bar | blah blah blah
Bar | blah blah blah
Une formule personnalisée est meilleure qu'une composition de formule noueuse, mais une solution intégrée intégrée qui est propre et gérable est préférable au code.
Avec les tableaux, vous pouvez le faire:
Count | Entry | Description
-------|-------|-----------------
2 | Foo | yada yada
3 | Bar | blah blah blah
Utiliser ceci avec " Count " dans A1
; " Description " dans C1
; etc..
={B1:C1; transpose(ArrayFormula(SPLIT(transpose(ArrayFormula((REPT(B2:C2&",",A2)))),",",true,true)));transpose(ArrayFormula(SPLIT(transpose(ArrayFormula((REPT(B3:C3&",",A3)))),",",true,true)))}
Résultat :
Entry | Description
-------|-----------------
Foo | yada yada
Foo | yada yada
Bar | blah blah blah
Bar | blah blah blah
Bar | blah blah blah
Modifier: nouvelle solution à l'aide de la colonne
=transpose(split(TEXTJOIN(",",true,transpose(ArrayFormula(REPT(B2:B100&",",$A2:$A100)))),",",true,true))
Maintenant, pour l'utiliser, il vous suffit de le développer sur chaque colonne. N'oubliez pas de modifier la plage que j'ai utilisée (B2:B100
Et $A2:$A100
)
Edit 2: Ajout d'une vérification au cas où une cellule de la plage d'origine est vide:
=transpose(split(TEXTJOIN(",",true,transpose(ArrayFormula(REPT(ArrayFormula(IF(B2:B4<>"",B2:B4,"BLANK CELL"))&",",$A2:$A4)))),",",true,true))
N'oubliez pas de le développer pour chaque colonne.