Multiplication des lignes d’un tableau 2D dans Google Sheets

Combien d’entre vous savent qu’il est possible d’utiliser DPRODUCT pour effectuer une multiplication des lignes d’un tableau à plusieurs colonnes de manière dynamique dans Google Sheets ?

Dans cet article, vous allez découvrir l’utilisation de DPRODUCT pour réaliser cette opération.

J’ai déjà rédigé plusieurs tutoriels sur les formules de tableau par ligne. Cela inclut des solutions basées sur des fonctions de base de données ainsi que des solutions alternatives utilisant QUERY ou MMULT.

Pour la multiplication des lignes, nous pouvons également utiliser QUERY. Vous pouvez consulter ce tutoriel ici – Formule de tableau PRODUCT pour des produits par ligne dans Google Sheets.

Mais je donnerais la priorité à la solution basée sur DPRODUCT.

Savez-vous pourquoi ? Parce qu’en termes de performances, de simplicité de codage et de lecture, cette solution est la meilleure selon mes tests.

Passons à la formule et à l’exemple.

DPRODUCT pour la multiplication des lignes dans Google Sheets

Les données d’exemple sont un tableau 2D avec cinq colonnes. La première colonne contient des entrées de dates que nous ne souhaitons pas inclure dans la multiplication.

Voici la formule, les données d’exemple et le résultat :

={"Produit"; ArrayFormula( if( A2:A="",, dproduct( transpose(A2:E), sequence(ROWS(A2:A),1), {if(,,);if(,,)} ) ) ) }

Je considère cette formule comme la meilleure pour effectuer une multiplication des lignes d’un tableau 2D de manière dynamique dans Google Sheets.

La fonction de base de données est destinée à des données structurées. Puis-je l’utiliser si mon jeu de données n’a pas d’étiquettes de champ et une colonne supplémentaire (colonne de dates) comme mentionné ci-dessus ?

Ma réponse est oui. Commençons par comprendre la formule.

Explication de la formule

L’une des meilleures façons d’apprendre la formule DPRODUCT ci-dessus est de modifier la plage de cellules entre parenthèses (de l’infini au fini). Ainsi, nous pouvons exclure l’utilisation du test IF ci-dessous.

if(A2:A="",,

Ensuite, retirez toute étiquette de champ suffixée à la formule.

{"Produit";

Voici la formule après les deux modifications mentionnées ci-dessus :

=ArrayFormula( dproduct( transpose(A2:E10), sequence(ROWS(A2:A10),1), {if(,,);if(,,)} ) )

Maintenant, comprenons cette formule DPRODUCT.

Syntaxe : DPRODUCT(base_de_données, champ, critères)

Voici comment nous avons utilisé chaque argument dans la formule.

BASE_DE_DONNÉES : transpose(A2:E10)

Pourquoi avons-nous transposé la plage A2:E10 ?

C’est parce que DPRODUCT n’est pas destiné à une multiplication par ligne, mais à une multiplication par colonne. Nous avons donc transposé notre plage des lignes aux colonnes.

CHAMP : sequence(ROWS(A2:A10),1)

Nos données sont réparties sur neuf lignes, de 1 à 9, et six colonnes, de A à E. Lorsque nous effectuons la transposition, cela devient neuf colonnes et six lignes.

Cela signifie que nous voulons le résultat de la multiplication par ligne des colonnes 1 à 9. La formule SEQUENCE ci-dessus renvoie les numéros de champ de 1 à 9 à l’aide de ROWS.

CRITÈRES : {if(,,);if(,,)}

Nous n’avons pas de colonne de critères. Mais nous devons spécifier des critères qui contiennent au moins deux cellules verticalement. Elles peuvent être vides. C’est ce que fait la formule ci-dessus.

Multiplication par ligne à l’aide de DPRODUCT dans des données non structurées

Je ne peux pas utiliser votre formule car je n’ai pas d’étiquettes de champ et de colonne de critères. Je parle de la colonne de dates dans vos données ci-dessus.

Dans ce scénario, comment puis-je utiliser la formule ci-dessus pour effectuer une multiplication par ligne dans un tableau à plusieurs colonnes ?

Bien sûr, je peux le faire. Vous devez comprendre certaines choses sur l’utilisation de la fonction de base de données dans Google Sheets.

Quelles sont-elles ?

Toutes les fonctions de base de données nécessitent des étiquettes de champ. Si vous ne les avez pas dans votre ensemble de données, vous devez sélectionner une ligne vide qui contient autant de colonnes dans le tableau 2D.

Ici, nous devrions sélectionner une colonne vide car nous transposons les colonnes en lignes. Dans l’exemple ci-dessous, cette colonne vide est J2:J10.

=ArrayFormula( dproduct( transpose({J2:J10,B2:E10}), sequence(rows(B2:B10),1), {if(,,);if(,,)} ) )

Même si vous n’avez aucune colonne vide à inclure dans la formule, vous pouvez considérer n’importe quelle colonne dans la source elle-même. Par exemple, vous pouvez remplacer J2:J10 par B2:B10 également.

Voilà tout ce qu’il y a à savoir sur la multiplication des lignes à l’aide de DPRODUCT dans une matrice 2D dans Google Sheets.

Merci pour votre attention. Profitez-en bien.

Exemple_19621

Similaire : Tri des lignes par ligne dans un tableau 2D dans Google Sheets.

Articles en lien