2010-10-01 5 views
1

J'ai une feuille de calcul correspondant aux entrées d'un utilisateur, leur estimation, et la valeur réelle (par exemple: heures pour un projet particulier - encore une fois, ce n'est qu'un exemple) , que nous pouvons représenter au format CSV aime:Rapport sur les utilisateurs qui n'estiment pas bien dans Excel

User,Estimate,Actual 
"User 1",5,5 
"User 1",7,7 
"User 2",3,3 
"User 2",9,8 
"User 3",6,7 
"User 3",8,7 

Je suis en train de construire un rapport sur ces utilisateurs, de voir rapidement quels utilisateurs sous-estiment ou surestiment, et donc je créé un tableau croisé dynamique. Mais, je ne peux pas comprendre comment montrer simplement si un utilisateur a sous-estimé à un moment donné. J'ai essayé de créer un champ calculé comme =IF(Estimate > Actual, 1, 0), mais cela résume, puis compare les colonnes Estimate et Actual et me dit que "Utilisateur 3" ne surestime/sous-estime pas. Sans ajouter un champ supplémentaire à mes données, comment puis-je accomplir cela?

Un semblable pseudo-requête SQL serait:

SELECT DISTINCT al.User, 
(SELECT COUNT(*) FROM ActivityLog AS l2 WHERE l2.User = al.User AND l2.Estimate > l2.Actual) AS Overestimates 
FROM ActivityLog AS al 

Edit:

Je travaille toujours sur ce point, et nous avons actuellement créé une liste statique des utilisateurs dans certaines cellules sur le côté, et leur ai donné les formules Array: {=SUM(IF((A$2:A20 = F6)*(B$2:B20 > C$2:C20), 1, 0))} et {=SUM(IF((A$2:A20 = F6)*(B$2:B20 < C$2:C20), 1, 0))} (si j'ai le nom de l'utilisateur dans F6). Principalement, je veux faire cela où la liste des utilisateurs peut remplir dynamiquement à partir des données principales.

Répondre

0

Ajouter une colonne pour réelle-estimer

puis résumer ces valeurs pour min max et moyenne. (ou stddev)

+0

Vous dites que je dois ajouter une colonne à mes données ou au tableau croisé dynamique? – palswim

+0

c'est une valeur calculée - donc au pivot je devinerais. – Randy

+0

Les valeurs calculées ne traitent que de la somme de ces colonnes pour chaque utilisateur particulier. (Par exemple, pour «Utilisateur 3», une «Estimation réelle» calculée donnerait 0, puisque «(7 + 7) - (6 + 8) = 0».) – palswim

1

Champs calculés dans les tables pivotantes puent. Je voudrais me débarrasser de la table pivotante et le faire avec des formules. Démarrez une liste unique d'utilisateurs dans H15 et saisissez-la dans I15

{=MAX(($A$2:$A$7=H16)*($B$2:$B$7-$C$2:$C$7<>0))} 

entrée. Cela retournera 1 si jamais ils sont sur ou sous estimé et zéro s'ils ne l'ont jamais fait. L'inconvénient est que vous ne pouvez pas "actualiser" comme un tableau croisé dynamique, donc vous devez vous assurer que votre liste d'utilisateurs unique est précise tout le temps.

Si c'est trop gros, je pense que vous devrez ajouter une colonne à vos données source. Spécifiquement

=ABS(B2-C2) 

Et ajoutez cela à votre tableau croisé dynamique. Il montrera zéro pour jamais plus/moins et non nul autrement.

0

Vous savez que vous devez vous assurer que les estimations sont toutes dans la même plage? Des chiffres plus petits peuvent être mieux estimés (en parlant des heures).

+0

Huh? Je donne le scénario des heures d'estimation à titre d'exemple. – palswim

Questions connexes