Comment étendre les résultats de comptage dans Google Sheets comme le fait une formule de tableau

Si vous me demandez comment étendre les résultats de comptage dans Google Sheets, ma réponse serait d’utiliser la fonction MMULT, et non pas les fonctions de comptage habituelles !

La plupart des fonctions de comptage prennent un tableau en entrée et renvoient une valeur dans une seule cellule. Countif et Countifs sont des exceptions à cette règle, mais elles ne conviennent pas pour compter chaque ligne.

Mise à jour : Nous pouvons maintenant étendre les fonctions de comptage en utilisant Lambda. Je vais ajouter cette solution immédiatement après la formule MMULT.

Tout d’abord, essayons de comprendre la différence entre le compte de ligne et le compte de chaque ligne.

Comptage de ligne :

Screenshot

Comptage de chaque ligne :

Screenshot

Étendre les résultats de comptage signifie utiliser une seule formule qui renvoie le nombre de valeurs dans chaque ligne.

Lorsque nous considérons l’exemple ci-dessus, je veux remplacer les multiples formules de comptage (voir les formules dans G2:G4) par une seule formule dans la cellule G1.

Vous vous attendez probablement à ce qu’une seule formule renvoie un résultat de comptage étendu dans Google Sheets, comme le fait une formule de tableau.

C’est possible avec MMULT !

Veuillez noter que vous pouvez maintenant utiliser la fonction BYROW avec les fonctions de comptage pour renvoyer un résultat de tableau comme indiqué ci-dessus dans Google Sheets.

Faites défiler vers le bas pour voir l’image où j’ai mis en évidence la formule unique en rouge qui renvoie le résultat de comptage dans chaque ligne. MMULT est la fonction clé utilisée dans cette formule.

Vous pouvez apprendre ici comment étendre les résultats de comptage dans Google Sheets en utilisant MMULT et BYROW.

En passant, si vous souhaitez inclure des critères, vous pouvez suivre ce tutoriel : Comptage des colonnes ligne par ligne – Formule de tableau dans Google Sheets.

Étendre les résultats de comptage dans Google Sheets en utilisant MMULT

La formule MMULT suivante, que nous pouvons utiliser pour étendre les résultats de comptage dans Google Sheets, est également conforme à mes tutoriels ci-dessous. J’espère que vous trouverez un peu de temps libre pour les consulter également.

  • MMULT à la place de SUMIF dans Google Sheets pour un résultat de tableau.
  • Comment effectuer un MMULT conditionnel dans Google Sheets [MMULT avec critère].

Si vous avez déjà suivi ces tutoriels, vous pouvez simplement lire ce tutoriel pour comprendre l’utilisation de la formule MMULT en tant que comptage. Sinon, ouvrez simplement une feuille de calcul Google Sheets vierge et suivez les étapes données ci-dessous.

Données d’exemple :

Screenshot

Il s’agit d’une feuille de présence de base enregistrée pendant une semaine. Dans cette feuille, il n’y a qu’une seule formule dans la cellule H2. Cette formule compte toutes les lignes individuellement et place le total dans la dernière cellule de chaque ligne.

Habituellement, nous utilisons la formule de COUNTA suivante dans la cellule H2 et nous la faisons glisser vers le bas selon nos besoins pour compter le texte.

=COUNTA(B2:G2)

J’ai utilisé MMULT car les fonctions de comptage de Google Sheets ne pouvaient pas renvoyer un résultat de tableau étendu.

La formule MMULT ci-dessous peut étendre les résultats de comptage dans Google Sheets.

Formule MMULT pour compter les valeurs dans chaque ligne :

=mmult(iferror(ArrayFormula(len(B2:G8)/len(B2:G8)),0), ArrayFormula(transpose(COLUMN($B$2:$G2)^0)))

Voici une version plus polie, mais j’expliquerai la formule ci-dessus en détail dans la section d’explication de la formule ci-dessous.

=ArrayFormula(if(len(A2:A), (mmult(iferror(len(B2:G)/len(B2:G),0), transpose(COLUMN($B$2:$G2)^0)))),)

Quelle est la différence entre les deux formules ci-dessus ?

Dans la deuxième formule, pour fonctionner dans un nombre infini de lignes, j’ai modifié la référence de tableau de B2:G8 à B2:G pour couvrir toutes les lignes. J’ai également déplacé l’ArrayFormula au début, de sorte qu’une seule ArrayFormula est nécessaire.

En plus de cela, j’ai ajouté if(len(A2:A)) à la formule pour contrôler les lignes vides. Parce que nous utilisons des lignes infinies comme plage.

MMULT dans Sheets a tendance à renvoyer des erreurs si des cellules vides sont présentes dans la plage (matrices).

Remarque : Les formules ci-dessus compteront à la fois les nombres et les chaînes de texte dans chaque ligne et étendront le résultat.

Explication de la formule :

Pour comprendre cette formule, vous devez connaître l’utilisation de la formule MMULT dans Google Sheets. Apprenez d’abord MMULT, puis continuez.

Pour votre référence rapide, voici la syntaxe de MMULT.

MMULT(matrix1, matrix2)

Dans notre exemple ci-dessus, vous pouvez voir deux formules de tableau. La sortie de ces deux formules fonctionne comme des matrices dans MMULT. Quelles sont ces formules ?

Formule 1 comme Matrice 1 :

iferror(ArrayFormula(len(B2:G8)/len(B2:G8)),0)

Cette formule renverra un résultat de tableau comme indiqué ci-dessous.

Screenshot

La formule Len compte la longueur des caractères dans la plage et renvoie ce résultat sous forme de valeurs numériques dans chaque cellule.

Ensuite, j’ai de nouveau utilisé la même formule pour diviser la première sortie Len. Cela garantit que cela renvoie toujours 1 ou 0.

Si la longueur des caractères ou des nombres dans les cellules est d’un ou plusieurs, la formule renvoie 1, sinon 0.

Formule 2 comme Matrice 2 :

ArrayFormula(transpose(COLUMN($B$2:$G2)^0))

La formule Column renvoie les numéros de colonne 2 à 7 de la plage B2:G2 dans une ligne (horizontalement). J’ai utilisé le caret ^0 pour convertir les numéros de colonne renvoyés en 1 au lieu des numéros de colonne réels.

Nous voulons cette sortie ci-dessus dans une colonne (verticalement) pour l’utiliser dans MMULT. Pourquoi ?

La Matrice 1 (formule 1) contient 6 colonnes. Conformément à une norme de multiplication matricielle (MMULT), le nombre total de colonnes dans la matrice 1 doit être égal au nombre de lignes dans la matrice 2.

Donc, ce que j’ai fait, c’est transposé la sortie de la formule de colonne pour l’obtenir en une colonne et 6 lignes.

Veuillez noter que les deux matrices ne contiennent que le nombre 1. Donc, le produit matriciel de ces deux matrices sera égal au nombre de comptage ou de somme.

C’est tout. Suivez attentivement les étapes pour obtenir des résultats de comptage étendus dans Google Sheets.

Étendre les résultats de comptage dans Google Sheets en utilisant BYROW (Nouveau)

Nous utilisions la solution MMULT car nous n’avions pas encore de moyen d’étendre la formule =counta(B2:G2) dans chaque ligne.

Mais nous pouvons maintenant utiliser BYROW pour étendre la formule Counta ci-dessus et obtenir des résultats de comptage étendus dans Google Sheets.

Insérez cette solution BYROW dans la cellule H2, et voilà !

=byrow(B2:G,lambda(row,counta(row)))

Nous pouvons inclure un test logique pour ignorer les lignes vides, tout comme notre MMULT.

Mais ici, il sera dans le LAMBDA comme suit.

=byrow(B2:G,lambda(row,if(counta(row)=0,,counta(row))))

Si vous avez des doutes sur l’utilisation des formules ci-dessus, veuillez me les écrire dans les commentaires. Profitez-en !

Ressources :

  • Proper Use of MMULT in Infinite Rows in Google Sheets.
  • AVERAGEIFS ArrayFormula Using MMULT in Google Sheets (Date Range).
  • How to Find Max Value in Each Row in Google Sheets [Array Formula].
  • How to Sum Each Row in Google Sheets.
  • Get the Count of Occurrences in Each Row in Google Sheets (Combo Formula).
  • How to Find the Last Value in Each Row in Google Sheets.

Articles en lien