excel countif filtré par style

3

J'ai une feuille de calcul Excel et j'essaie de compter les lignes d'une colonne en fonction d'un style appliqué à certaines cellules de la colonne. Y a-t-il un moyen simple de faire cela?

Bill Weinman
la source

Réponses:

2

Non, pas vraiment. Vous pouvez utiliser Visual Basic pour accéder aux propriétés de mise en forme de la cellule, mais la plupart des fonctions intégrées que vous tapez dans une cellule sont centrées sur le contenu de la cellule, pas sur la mise en forme.

Si vos styles ont des couleurs d'ombrage différentes, vous pouvez utiliser la méthode suivante.

Étape 1: convertissez votre plage en liste, puis ajoutez une ligne totale affichant COUNT

enter image description here

Étape 2: appliquez un filtre de couleur (devrait fonctionner sur Excel 2007 et versions ultérieures):

enter image description here

Fait: le total COUNT indique le nombre de lignes filtrées.

enter image description here

Mike Fitzpatrick
la source
J'aurais préféré une réponse disant: "Bien sûr que vous pouvez! Voici comment faire!" mais, hélas, vous avez probablement raison. Il n'y a aucun moyen de faire ce que je veux sans utiliser VB. Merci.
Bill Weinman
0

Vous pouvez utiliser VBA pour cela:

Function CountStyle(CellRange)
   Dim Item As Range, Total As Long
   For Each Item In CellRange
      ' Check to see if the cell is formatted as Style = "Neutral"
      If Item.Style = "Neutral" Then
         Total = Total + 1
      End If
   Next Item
   CountStyle = Total
End Function

Pris à partir de ici .

  1. presse Alt + F11 pour démarrer l'éditeur Visual Basic.
  2. Insérer & gt; Module
  3. Insérer le code ci-dessus
  4. Allez dans Excel et choisissez la cellule où le résultat devrait être. Écrivez par ex. =CountStyle (B4:B23)

Maintenant, vous devez compter toutes les cellules avec le style Neutral. J'ai créé trois fonctions pour neutre, bon, mauvais. Cela ressemble à:

Function CountStyleGood(CellRange)
   Dim Item As Range, Total As Long
   For Each Item In CellRange
      ' Check to see if the cell is formatted as Style = "Good"
      If Item.Style = "Good" Then
         Total = Total + 1
      End If
   Next Item
   CountStyleGood = Total
End Function

Esprit =CountStyleGood(B4:B23) vous obtenez le résultat. En tant que nom du style, j'ai utilisé le nom affiché dans le ruban.

testing
la source