Compter les valeurs supérieures ou égales à 10 dans chaque colonne – Formule matricielle dans Google Sheets

Nous pouvons utiliser la fonction Countif pour compter les valeurs de chaque colonne dans Google Sheets. Mais pas en tant que formule matricielle. Alors, quelle est la solution alternative ?

Nous pouvons utiliser MMULT comme expliqué ici dans ce tutoriel Comment étendre les résultats de Count dans Google Sheets comme une formule matricielle ou la fonction de base de données DCOUNT.

De plus, nous pouvons maintenant utiliser une solution Lambda (Nouveau !) pour faire la même chose.

Si vous utilisez mon MMULT, modifiez-le légèrement pour intégrer les critères que vous souhaitez. Je ne détaillerai pas cela ici.

J’ai exploré les fonctions de base de données dans les derniers tutoriels, et voici une autre. J’ai également inclus une solution simple en utilisant la nouvelle fonction d’aide BYROW Lambda.

Introduction

Autant que je sache, nous ne pouvons pas utiliser la fonction Countif pour compter les valeurs de chaque colonne dans Google Sheets.

Dans une formule non matricielle, l’utilisation de cette fonction est la suivante.

Problème :

Comment compter les résultats des tests qui sont supérieurs ou égaux à 10 (>=10), dans chaque colonne de Google Sheets ?

Voici la formule Countif ci-dessous dans la cellule F2, que nous pouvons copier-coller (ou faire glisser la poignée de remplissage de la cellule F2 à l’aide de la souris) vers le bas.

=countif(A2:E2, « >=10 »)

Countif Across Columns Row by Row - Non Array Formula

Il sera difficile de gérer la formule ci-dessus si vous avez plusieurs lignes dans votre feuille avec des valeurs à compter.

Lorsque vous insérez de nouvelles lignes, vous devrez copier-coller la formule à chaque fois.

Par conséquent, une formule matricielle équivalente à Countif dans chaque colonne serait préférable.

Comme je l’ai mentionné, nous pouvons utiliser MMULT, DCOUNT ou une fonction d’aide Lambda pour cela. Cet article explique l’utilisation de DCOUNT et de Lambda.

Compter les valeurs de chaque colonne en utilisant DCOUNT dans Google Sheets

Veuillez noter ! Ici, Countif signifie un décompte conditionnel, pas la fonction elle-même.

Formule matricielle dans la cellule F2 pour la même base de données :

=ArrayFormula(if(A2:A= » »,,dcount(transpose({row(A2:A),if(A2:E>=10,A2:E,)}),sequence(rows(A2:A)),{if(,,);if(,,)})))

Remarque :

  1. Si certaines cellules de la colonne A sont vides, la formule renverra nil.

Donc, si vous ne voyez aucun décompte dans une cellule de la colonne F, assurez-vous que vous n’avez pas laissé la cellule correspondante de la colonne A vide.

  1. Incluez uniquement la plage de valeurs numériques.

Je sais que les fonctions de base de données nécessitent une colonne de critères et une ligne d’en-tête (étiquettes de champ). Avec des astuces, nous pouvons les exclure.

J’ai adopté la même chose dans la formule DCOUNT ci-dessus. Je les expliquerai plus tard.

La formule ci-dessus est la formule matricielle pour compter les valeurs de chaque colonne dans Google Sheets.

Logique DCOUNT utilisée

Syntaxe DCOUNT : DCOUNT(database, champ, critères)

Nous pouvons utiliser DCOUNT comme suit pour compter conditionnellement les valeurs dans une colonne.

=dcount(A1:A10,1,{if(,,);if(,,)})

Veuillez noter, ici je parle d’une colonne, pas d’une ligne. Nous pourrons revenir sur la ligne plus tard.

Je ne veux pas spécifier de critère. Donc, dans la formule, j’ai utilisé {if(,,);if(,,)} qui équivaut à sélectionner deux cellules vides adjacentes verticalement.

Pas de critères dans Dcount

Pour compter plusieurs colonnes (colonnes A, B, C, D et E) en utilisant DCOUNT, utilisez ArrayFormula et modifiez la référence dans la formule en conséquence. Incluez également tous les numéros de champ sous forme de tableau.

=ArrayFormula(dcount(A1:E10,{1,2,3,4,5},{if(,,);if(,,)}))

Pour compter les valeurs de chaque colonne de manière conditionnelle, par exemple les valeurs supérieures ou égales à 10, nous devons changer A1:E10 en if(A1:E10>=10,A1:E10,).

Voici la formule et la sortie.

=ArrayFormula(dcount(if(A1:E10>=10,A1:E10,),{1,2,3,4,5},{if(,,);if(,,)}))

DCOUNT dans plusieurs colonnes

Si vous comprenez ce décompte conditionnel par colonne, vous pouvez facilement comprendre comment compter les valeurs de chaque colonne en utilisant DCOUNT dans Google Sheets.

Parce que nous devons simplement transposer la plage A2:E10 (pas A1:E10).

Puisque nous excluons les étiquettes de champ dans A1:E1, nous devons utiliser des étiquettes de champ virtuelles pour que la formule fonctionne correctement.

Veuillez trouver ci-dessous les détails.

Explication de la formule

Veuillez remonter en haut et revoir la formule matricielle pour compter les valeurs de chaque colonne dans Google Sheets, dans la cellule F2.

Je parle de la formule dans la cellule F2. Vous pouvez également vous référer à l’image ci-dessous.

Countif Across Columns Row by Row - Array Formula

Les arguments utilisés selon la syntaxe DCOUNT sont les suivants.

Database

transpose({row(A2:A),if(A2:E>=10,A2:E,)})

Lorsque nous transposons (changeons l’orientation des données) la plage A2:E10, il n’y aura pas d’étiquettes de champ. Mais les utiliser est obligatoire dans DCOUNT.

Donc, j’ai rempli les numéros de ligne de A2:A et les ai combinés avec la plage if(A2:E>=10,A2:E,).

Une fois transposés, ils (les numéros de ligne) agiront comme les étiquettes de champ de if(A2:E>=10,A2:E,).

Champ

sequence(rows(A2:A))

Ce que nous faisons, c’est de compter les valeurs de chaque colonne dans Google Sheets.

Pour cela, nous avons transposé les données et renvoyé le nombre de colonnes des données transposées verticalement, pas horizontalement.

Cela équivaudra au décompte conditionnel ligne par ligne.

La formule Sequence ci-dessus renvoie les numéros de champ de 1 à n verticalement en comptant le nombre total de lignes dans la plage A2:A.

Critères

{if(,,);if(,,)}

Nous n’avons pas de colonne de critères à spécifier. Nous avons donc utilisé la formule ci-dessus pour renvoyer deux cellules vides.

Autres parties de la formule

if(A2:A= » »,,

En dehors de DCOUNT, j’ai utilisé le test IF ci-dessus.

C’est parce que nous avons un nombre infini de lignes dans notre base de données. Ce test logique nous aide à ne retourner le résultat que dans les lignes où la colonne A a des valeurs.

C’est tout ce qu’il faut savoir sur l’utilisation de DCOUNT pour un décompte conditionnel des colonnes et un retour ligne par ligne dans Google Sheets.

Compter les valeurs de chaque colonne ligne par ligne en utilisant la fonction BYROW (Nouveau)

Nous pouvons maintenant étendre une formule COUNTIF pour compter conditionnellement les valeurs de chaque colonne ligne par ligne en utilisant BYROW dans Google Sheets.

Vous pouvez saisir la formule BYROW ci-dessous dans la cellule F2.

=byrow(A2:E,lambda(r,if(counta(r)=0,,countif(r, »>= »&10))))

Il remplira les valeurs dans F2:F, à condition que les cellules de F3:F soient vides.

Pouvez-vous nous expliquer cette formule ?

Pourquoi pas ? Voici comment cela fonctionne :

Formule de base non matricielle : =countif(A2:E2, « >=10 »)

Formule matricielle utilisant la formule Lambda BYROW : =byrow(A2:E,lambda(r,countif(r, »>=10″)))

La formule ci-dessus renvoie 0 dans les lignes vides. Pour renvoyer un blanc, nous avons utilisé if(counta(r)=0,,

Merci de nous avoir suivi. Profitez-en bien !

Sample_Sheet_22221

Articles en lien