Générer des motifs 1-12-123-1234 à l’aide d’une formule de matrice dans Google Sheets

Est-ce qu’il y a une utilisation particulière de générer des motifs 1-12-123-1234 à l’aide d’une formule de matrice dans Google Sheets ? Avant de vous donner la solution, je vais répondre à cette question en premier.

Si vous savez comment générer le motif mentionné à l’aide d’une formule de matrice, vous pouvez transformer les valeurs dans une seule colonne en une base de données et les utiliser dans des fonctions de base de données.

récemment, j’ai suivi la syntaxe, transpose(1-12-123-1234_pattern) comme une base de données dans DMAX pour retourner Running Max dans Google Sheets.

Il est simple d’obtenir des motifs 1-12-123-1234 en utilisant une formule de glisser-déposer dans Google Sheets. screenshot #1

Mais cela peut ne pas être utile lorsque vous devez utiliser les valeurs générées en tant qu’expression dans une formule de matrice.

Supposez que vous ayez des valeurs dans quelques lignes de la colonne B. Cela peut être du texte, des dates ou des chiffres.

Pour comprendre le motif, j’utilise simplement la séquence de 1 à 10 dans la plage de cellules B2:B11.

Dans la cellule D2, insérez cette formule basée sur TRANSPOSE et faites-la glisser vers le bas.

=transpose({$B$2:B2})

Cela transformera les valeurs en motifs 1-12-123-1234 dans la plage de cellules D2:M11.

Formule de matrice pour générer des motifs 1-12-123-1234 dans Google Sheets

Nous pouvons utiliser la formule de matrice IF et SEQUENCE suivante dans la cellule D2 pour obtenir les motifs 1-12-123-1234 dans la plage de cellules D2:M11 dans Google Sheets.

=ArrayFormula( if( sequence(10,10)/sequence(10,10)+sequence(1,10,row(A2)-1)<=row(A2:A11), transpose(B2:B11), ) )

Note 1 : Nous pouvons remplacer sequence(10,10)/sequence(10,10) par sequence(10,10)^0.

Il s’agit d’un test logique selon la syntaxe suivante :

IF(exp_logique, valeur_si_vrai,,)

Explication de la formule

Nous pouvons diviser la formule des motifs 1-12-123-1234 en trois parties.

Il y a deux parties de l’expression_logique et une partie de la valeur_si_vrai.

Voici ces parties.

Partie 1 (expression_logique)

Nous avons des valeurs dans 10 lignes de B2:B11. J’ai donc utilisé SEQUENCE pour générer des numéros de séquence dans 10 lignes et colonnes.

La formule de remplissage de la matrice de séquence est la suivante :

sequence(10,10)

Note 2 : Lorsque vous testez, entrez-le en tant que formule de matrice (Ctrl+Shift+Enter). Il deviendra donc =ArrayFormula(sequence(10,10)). Cela s’applique également aux autres parties de la formule ci-dessous.

À l’étape suivante, j’ai divisé les nombres par les mêmes nombres pour les mettre tous à 1.

sequence(10,10)/sequence(10,10)

Maintenant, nous devons ajouter les nombres de séquence de 1 à 10 avec les valeurs ci-dessus dans chaque ligne.

sequence(10,10)/sequence(10,10)+sequence(1,10,row(A2)-1)

Pour ajouter les nombres de 1 à 10, nous pouvons utiliser sequence(1,10), mais j’ai utilisé sequence(1,10,row(A2)-1).

Parce que je veux ajouter les numéros de séquence à partir de la première ligne de la plage – 1.

Les valeurs sont dans B2:B11. Donc je veux que la numérotation commence de 1 à 10.

Si c’est de B3:B11, je veux que la numérotation soit de 2 à 11. C’est pourquoi j’ai utilisé row(A2)-1.

La partie_expression_logique ci-dessus joue un rôle important dans l’obtention des motifs 1-12-123-1234 dans Google Sheets.

Partie 2 (expression_logique)

Nous testerons si les valeurs de la sortie ci-dessus sont inférieures ou égales aux numéros de ligne correspondants dans chaque ligne. C’est la partie 2.

sequence(10,10)/sequence(10,10)+sequence(1,10,row(A2)-1)<=row(A2:A11)

Dans cette formule, la formule en gras est la partie 2.

Note 3 : Nous pouvons également utiliser la formule suivante en tant qu’expression_logique (parties 1 et 2 combinées).

if(row(B2:B11),sequence(1,10,row(A2)))

Partie 3 (valeur_si_vrai)

Si la partie_expression_logique ci-dessus est évaluée comme VRAI, la formule renverra transpose(B2:B11), c’est-à-dire valeur_si_vrai.

De cette manière, nous pouvons utiliser une formule de matrice pour générer des motifs 1-12-123-1234 dans Google Sheets.

Motifs 1-12-123-1234 transposés

Nous pouvons obtenir les motifs 1-12-123-1234 transposés de la manière suivante (veuillez vous référer à la plage O2:X11 dans la capture d’écran n° 1).

Enveloppez simplement la formule ci-dessus dans TRANSPOSE.

=ArrayFormula(TRANSPOSE(if(sequence(10,10)/sequence(10,10)+sequence(1,10,row(A2)-1)<=row(A2:A11),transpose(B2:B11),)))

C’est le type de données dont nous avons parfois besoin pour résoudre des problèmes complexes en utilisant des fonctions de base de données.

Au début de ce tutoriel Google Sheets, j’ai fourni un lien vers un tel tutoriel.

Vous pouvez consulter ce tutoriel pour comprendre son utilisation.

C’est tout. Merci de votre attention. Profitez-en !

Crawlan.com

Articles en lien