2011-08-19 3 views
2
A   B  C D E  F   G   H I 
115492   2009 10 42 5 90160624 15-Oct-09  WH 5 
115492   2009 10 42 5 90160624 15-Oct-09  WH 5 
115492   2009 10 42 5 90160624 15-Oct-09  WH 5 
115492   2009 10 42 5 90160624 15-Oct-09  WH 5 
115481   2009 10 44 6 90170587 30-Oct-09  WH 3 
115481   2009 10 44 6 90170587 30-Oct-09  WH 3 
115481   2009 10 44 6 90170587 30-Oct-09  WH 3 
115481   2009 10 44 6 90170587 30-Oct-09  WH 3 
115481   2009 10 44 6 90170587 30-Oct-09  WH 3 
115481   2009 10 44 6 90170587 30-Oct-09  WH 3 
115481   2009 10 44 6 90170587 30-Oct-09  WH 3 
115481   2009 10 44 6 90170587 30-Oct-09  WH 3 
115481   2009 10 44 6 90170587 30-Oct-09  WH 3 
115520   2009 11 45 5 90174693 5-Nov-09  WH 3 
115520   2009 11 45 5 90174693 5-Nov-09  WH 3 
115520   2009 11 45 5 90174693 5-Nov-09  WH 3 
115520   2009 11 45 5 90174693 5-Nov-09  WH 3 
115502   2009 11 46 6 90179821 13-Nov-09  WH 3 
115502   2009 11 46 6 90179821 13-Nov-09  WH 3 
115502   2009 11 46 6 90179821 13-Nov-09  WH 3 
115502   2009 11 46 6 90179821 13-Nov-09  WH 3 
115502   2009 11 46 6 90179821 13-Nov-09  WH 3 
115502   2009 11 46 6 90179821 13-Nov-09  WH 3 
115502   2009 11 46 6 90179821 13-Nov-09  WH 3 
115502   2009 11 46 6 90179821 13-Nov-09  WH 3 
115502   2009 11 46 6 90179821 13-Nov-09  WH 3 
123057   2009 11 46 3 90182107 17-Nov-09  WH 3 
123057   2009 11 46 3 90182107 17-Nov-09  WH 3 
123057   2009 11 46 3 90182107 17-Nov-09  WH 3 
123057   2009 11 46 3 90182107 17-Nov-09  WH 3 
123056   2009 11 47 3 90186948 24-Nov-09  WH 3 
123056   2009 11 47 3 90186948 24-Nov-09  WH 3 
123056   2009 11 47 3 90186948 24-Nov-09  WH 3 
123056   2009 11 47 3 90186948 24-Nov-09  WH 3 
115506   2009 11 47 3 90186673 24-Nov-09  WH 5 
115506   2009 11 47 3 90186673 24-Nov-09  WH 5 
115506   2009 11 47 3 90186673 24-Nov-09  WH 5 
115506   2009 11 47 3 90186673 24-Nov-09  WH 5 
115506   2009 11 47 3 90186673 24-Nov-09  WH 5 
115506   2009 11 47 3 90186673 24-Nov-09  WH 5 
115506   2009 11 47 3 90186673 24-Nov-09  WH 5 
115506   2009 11 47 3 90186673 24-Nov-09  WH 5 
115496   2009 11 47 4 90187409 25-Nov-09  WH 3 
115496   2009 11 47 4 90187409 25-Nov-09  WH 3 
115496   2009 11 47 4 90187409 25-Nov-09  WH 3 
115496   2009 11 47 4 90187409 25-Nov-09  WH 3 
123058   2009 12 50 5 90198449 10-Dec-09  WH 3 
123058   2009 12 50 5 90198449 10-Dec-09  WH 3 
123058   2009 12 50 5 90198449 10-Dec-09  WH 3 
123058   2009 12 50 5 90198449 10-Dec-09  WH 3 
115522   2009 12 50 7 90200094 12-Dec-09  WH 7 
115522   2009 12 50 7 90200094 12-Dec-09  WH 7 
115522   2009 12 50 7 90200094 12-Dec-09  WH 7 
115522   2009 12 50 7 90200094 12-Dec-09  WH 7 
115522   2009 12 50 7 90200094 12-Dec-09  WH 7 
123059   2009 12 51 6 90203897 18-Dec-09  WH 4 
123059   2009 12 51 6 90203897 18-Dec-09  WH 4 
123059   2009 12 51 6 90203897 18-Dec-09  WH 4 
123059   2009 12 51 6 90203897 18-Dec-09  WH 4 
115539   2009 12 51 7 90204074 19-Dec-09  WH 5 
115539   2009 12 51 7 90204074 19-Dec-09  WH 5 
115539   2009 12 51 7 90204074 19-Dec-09  WH 5 
115539   2009 12 51 7 90204074 19-Dec-09  WH 5 
115539   2009 12 51 7 90204074 19-Dec-09  WH 5 
115539   2009 12 51 7 90204074 19-Dec-09  WH 5 
115541   2009 12 51 7 90204389 19-Dec-09  WH 4 
115541   2009 12 51 7 90204389 19-Dec-09  WH 4 
115541   2009 12 51 7 90204389 19-Dec-09  WH 4 
115541   2009 12 51 7 90204389 19-Dec-09  WH 4 
115534   2009 12 52 2 90209074 28-Dec-09  WH 5 
115534   2009 12 52 2 90209074 28-Dec-09  WH 5 
115534   2009 12 52 2 90209074 28-Dec-09  WH 5 
115534   2009 12 52 2 90209074 28-Dec-09  WH 5 
115534   2009 12 52 2 90209074 28-Dec-09  WH 5 
115534   2009 12 52 2 90209074 28-Dec-09  WH 5 

je dois compter le nombre d'entrées uniques dans la colonne 'A' où la colonne 'I' est égal à 3: I est parvenu en suivant:Excel compte distinct avec de nombreuses conditions

=SUM(IF(FREQUENCY(A2:A76,A2:A76)>0,(I2:I76=3)*1,0)) 

si Je dois ajouter plus de conditions comme "où la colonne" I "est égal à 3 et la colonne" C "égale 11"?

J'ai essayé ceci:

=SUM(IF(FREQUENCY(A2:A76,A2:A76)>0,(AND(I2:I76=3, C2:C76 = 11))*1,0)) 

Mais, cette formule ne me donne pas le nombre exact. quelle serait la bonne formule?

Répondre

1

Multiplier les conditions de cette façon:

=SUM(IF(FREQUENCY(A2:A76,A2:A76)>0,(I2:I76=3)*(C2:C76=11)*1,0)) 

Cela doit être un fomula tableau (Ctrl + Maj + Entrée après l'entrée dans la formule). (Je suppose que vous savez déjà que compte tenu de votre fonction dans la question retourné une valeur)

0

Dans mon expérience, ces types de formules ont tendance à devenir trop compliqué et totalement incompréhensible pour les autres. Pour créer le bon résultat et garder la formule entière compréhensible je divise généralement en quelques colonnes intermédiaires.

Dans votre cas, vous pouvez:

  • Ajouter une colonne, disons X qui a un 1 si j'égal à 3 sinon un 0
  • Ajouter une colonne dire Y qui a un 1 si C est égal à 11 autrement un 0
  • Ajouter une colonne « total » qui détermine si toutes sont vraies que = X * Y
  • Ensuite, faites votre sumif

Cela peut être étendu aussi loin que vous le souhaitez et garde le processus entier traçable. Et si c'est important vous pouvez toujours cacher les colonnes intermédiaires de la vue

+0

Ou vous pouvez simplement utiliser VBA :) La meilleure façon d'éviter les formules longues! – aevanko

0

Je sais que vous n'avez pas demandé de VBA et il y a des façons de résoudre cela sans cela, mais je pense vraiment que VBA excelle dans ce cas depuis le code est si facile à gérer et vous pouvez facilement ajouter/supprimer des conditions pour le comptage.

Sub SpecialCount() 

Dim vArray As Variant 
Dim lastRow As Long 
Dim i As Long 
Dim dict As Object 
Set dict = CreateObject("scripting.dictionary") 

lastRow = range("A" & Rows.count).End(xlUp).Row 
vArray = range("A1", "I" & lastRow).Value 

On Error Resume Next 
For i = 1 To UBound(vArray, 1) 
    'Condition 1 
    If vArray(i, 9) = 3 Then 
     'Condition 2 
     If vArray(i, 3) = 11 Then 
      dict.Add vArray(i, 1), 1 
     End If 
    End If 
Next 

MsgBox dict.count & " unique entries found." 
End Sub 

Comment ça marche: D'abord, il trouve la dernière cellule columnn R. Je puis vider l'ensemble des cellules dans un tableau de variantes, car ils sont très vite à travailler. Ensuite, il ne fait que parcourir chaque valeur de colmumn A et regarde la valeur dans la 9ème rangée (I) et la 3ème rangée (C), et si elles correspondent à vos conditions, l'entrée de "A" est ajoutée à un objet dicitonary. Étant donné que les dictionnaires ne peuvent contenir qu'un objet unique, le nombre unique est automatiquement obtenu! Ensuite, je viens d'afficher une boîte de message vous indiquant le résultat.

Veuillez le vérifier - J'espère que je ne suis pas le seul à apprécier à quel point VBA est facile à mangae et à modifier. BTW, il ya 5 entrées uniques dans cette liste que vous avez publié dans lequel je ai 3 et C est 11.

Questions connexes