2 votes

Représentation des données Excel : montrez-moi toutes les personnes qui n'ont pas réussi l'examen.

Contexte

Je dispose d'une feuille de calcul Excel contenant les résultats d'un examen de type "pass/no-pass". Les étudiants sont autorisés à passer l'examen aussi souvent qu'ils le souhaitent jusqu'à ce qu'ils le réussissent ou qu'ils abandonnent.

student         ;; result   ;; date
sally@fiz.edu   ;; no-pass  ;; 2000-06-07 
bravo@fiz.edu   ;; pass     ;; 2000-06-07 
charlie@fiz.edu ;; pass     ;; 2000-06-07 
delta@fiz.edu   ;; no-pass  ;; 2000-06-07
alpha@fiz.edu   ;; pass     ;; 2000-06-07 
sally@fiz.edu   ;; pass     ;; 2000-06-08
delta@fiz.edu   ;; no-pass  ;; 2000-06-08

Question

En utilisant un tableau croisé dynamique ou autre, comment puis-je faire en sorte qu'Excel me montre un rapport ou une représentation propre de ces données sur une autre feuille qui réponde à la question :

Qui sont toutes les personnes qui ont passé l'examen, mais n'ont jamais obtenu la note de passage ?

Dans l'exemple ci-dessus, il me montrerait simplement delta@fiz.edu ; ; no-pass ; ; avec toutes les dates auxquelles delta a passé l'examen.

Je sais qu'Excel n'est pas une base de données ni un outil de rapport en soi, mais ce serait formidable si je pouvais le faire fonctionner.

4voto

Amarald Points 273

J'ai placé les données de votre question dans les colonnes A, B et C d'une feuille et, dans la cellule D2, j'ai entré le code suivant formule matricielle :

\=SUM(($A$2:$A$8=A2)*($B$2:$B$8="pass"))

et l'a ensuite copiée dans la colonne (n'oubliez pas d'utiliser ctrl+shift+enter pour entrer la formule).

La colonne D vous donne alors un 0 où l'étudiant n'a pas réussi l'examen.

Vous pouvez utiliser l'option "supprimer les doublons" de l'onglet "données" pour supprimer les doublons (effacer la case de la date dans la boîte de dialogue) afin d'obtenir une liste des personnes qui n'ont pas passé l'examen, puis filtrer (à nouveau dans l'onglet "données") par la colonne D.

2voto

DaveParillo Points 14135

J'ajouterais une quatrième colonne pour transformer le "succès" ou l'"échec" en un nombre, par exemple =If(B2="succès",1,0). Appelons cette nouvelle colonne "test". Ensuite, étendez cette formule à toutes vos lignes.

Il est alors facile de créer un tableau croisé dynamique configuré avec les étudiants comme champ de ligne, les dates comme champs de colonne et le test comme champ de données. Il importe peu que les données de test soient "Somme des tests" ou "Nombre de tests".

Ensuite, cachez toutes les valeurs de test > 0.

1voto

Tom Ritter Points 44352

Enregistrer une macro... faire ce qui suit

sélectionner la table entière
créer une nouvelle feuille de calcul
table de collage
trier sur le résultat

alors, si vous ne voulez vraiment que les résultats, vous aurez besoin d'une logique conditionnelle dans le fichier VBA qui représente votre macro.


sinon, apprenez à programmer en VSTO et à le faire en .NET, c'est une solution plus agréable, mais qui demande peut-être plus de travail selon vos capacités.

0voto

neeraj rokaya Points 1

Voici comment j'ai traité un cas similaire. Supposons que le nom de l'étudiant soit dans la colonne A, que les notes en sciences soient dans la colonne B, que les notes en mathématiques soient dans la colonne C et que D soit la colonne des résultats.

  1. Nous pouvons utiliser un Et logique dans D2 comme =IF(AND(B2>50, C2>50), "pass", "fail"). Cela nous donnera une réussite ou un échec dans la colonne D.
  2. Nous pouvons ensuite dessiner un tableau croisé dynamique en plaçant le nom et le résultat dans la valeur de la ligne et les notes de sciences et de mathématiques dans le tableau des valeurs en utilisant la fonction somme.
  3. Cela nous donnera un tableau croisé dynamique des catégories d'étudiants ayant réussi et échoué, avec les en-têtes de colonne respectifs.
  4. Maintenant, nous pouvons simplement couper et coller les données requises, c'est-à-dire les élèves ayant échoué en sciences et en mathématiques dans ce cas.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X