2010-07-11 6 views
1

J'ai besoin d'aide pour faire la fonction suivante dans une feuille MS Excel. L'exemple de feuille est la suivanteBesoin de la formule Excel pour la fonction suivante

 A    B   C   D    E 
1  TimeStamp  Name  Amount  UsedBy  Description 
    ----------------------------------------------------------- 
2  Date1   Me1  200  He1,She1  desc1 
3  Date2   Me1  100  Me1,He1   desc2 
4  Date3   She1  50  He1,She1,Me1 desc3 
5  Date4   He1  70  She1,He1  desc4 
6  Date5   She1  200  She1,He1,Me1 desc5 
7  Date6   Me1  22  He1    desc6 

Je veux une fonction qui peut faire la séquence suivante d'emploi dans une seule formule MS-Excel personnalisé

  1. Somme les cellules de la colonne « Montant » où « Usedby "les cellules de la colonne contiennent" He1 "comme une seule entité. Supposons que le résultat est X
  2. Somme des cellules de la colonne "Amount" où les cellules de colonne "UsedBy" contiennent deux entités et "He1" doit être une entité. Après que cette somme le divise par 2. Disons que le résultat est Y.
  3. Somme des cellules de la colonne "Amount" où les cellules de la colonne "UsedBy" contiennent trois entités et "He1" doit être une entité. Après cette somme Devide par 3. Disons résultat est Z
  4. total le résultat dans les étapes 1,2 et 3. Cela signifie que la somme de X + Y + Z

S'il vous plaît laissez-moi savoir si je suis pas clair dans ma question ....

+0

Je ne sais pas Excel, mais je vous suggère cette approche de l'aspect de la somme "Quantité divisée par" nombre de virgules dans UsedBy plus 1 "pour les lignes UsedBy contenant He1. –

Répondre

0

Construire des résultats intermédiaires comme le nombre de valeurs dans UsedBy, ou si UsedBy contient He1 dans des colonnes séparées, puis utilisez SUMIF().

0

Vous ne pouvez pas le faire dans une seule formule à moins de l'écrire vous-même dans VBA. Puisque vous n'avez pas étiqueté la question comme VBA, je suppose que vous préférez utiliser des colonnes auxiliaires.

Vous aurez besoin de 3 colonnes auxiliaires, 1 pour chacun de vos critères.

Pour votre premier disons que vous mettez dans la colonne F

=if(and(isnumber(search("He1",D2)),len(d2)=len(substitute(d2,",",""))),1,0)

Qu'est-ce que cela ne s'assure que D2 contient « He1 » et fait en sorte qu'il n'y a pas des virgules.

Pour votre seconde le mettre dans la colonne G

=if(and(isnumber(search("He1",D2)),len(d2)-1=len(substitute(d2,",",""))),1,0)

Qu'est-ce que cela ne s'assure que D2 contient « He1 » et fait sûr qu'il ya 1 virgule.

Pour votre troisième mettre dans la colonne H

=if(and(isnumber(search("He1",D2)),len(d2)-2=len(substitute(d2,",",""))),1,0)

Ce que cela fait est assure que D2 contient « He1 » et fait sûr qu'il ya 2 virgules. Une fois que vous avez vos colonnes de critères d'aide, vous pouvez maintenant faire sumif pour chaque critère.

X vous allez faire =sumif(f2:f7,1,c2:c7)

Y que vous allez faire =sumif(g2:g7,1,c2:c7)/2

Z vous allez faire =sumif(h2:h7,1,c2:c7)/3