Classement cellules non vides | ||
---|---|---|
Inscription: 05/07/2011
Messages:
26
Système d'exploitation: PC Version Excel utilisée: 2007 |
Posté le : 14-06-2012 11h44
Bonjour ! Et merci à tous ceux qui pourront m'aider :)
J'aimerais faire un classement, le problème étant que j'ai des cellules vides. C'est à dire: Dans la colonne A j'ai des noms et dans la colonnes B des nombres Admettons que j'ai 5 lignes de noms (correspondant à des personnes dans une certaine région) et puis dans la colonne B le nombre de membres de la famille habitant sous le même toit. Ensuite, la 6e ligne est un total des 5 lignes au dessus. Et puis rebelote. A1 | Paul | 2 A2 | Pierre | 6 A3 | Jacques | 3 A4 | Jules | 4 A5 | Jean | 3 A6 | 18 (= ligne total des nombres au dessus) A7 | Nick | 1 A8 | Pol | 0 A9 | Laura | 2 A10 | |3 (= ligne total) A11 | etc A12 | etc A13 | etc Ensuite, je voudrais faire un classement sur le nombre, mais les lignes totaux doivent être exclus (puisque ça fausserait le classement). Le problème étant qu'avec la formule RANK il n'y a pas moyen de lui demander de ne pas compter les cellules vides. J'ai même essayé le un =IF(B1<>"";RANK(........) mais ça ne fonctionne pas, il ne mais certes pas les valeurs, mais ils sont quand même comptabilisés :( Pourriez-vous m'aider ? Merci ! Nim |
|
|
Re: Classement cellules non vides | ||
---|---|---|
Inscription: 09/05/2007
De Courcelles-les-Montbéliard
Messages:
286
Système d'exploitation: PC & Mac Version Excel utilisée: Mac 2004 - 2011, et PC 2003 - 2010 |
Posté le : 14-06-2012 12h51
Bonjour Nim
Une astuce consiste à transformer le type de la valeur de la formule des cumuls, en la passant de numérique en alphanumérique, la fonction RANG() ne prenant pas en compte les valeurs alphanumériques. en A6 la formule pourrait s'écrire : =SOMME(A1:A5)&"" La fonction TEXTE () permet d'appliquer un format particulier. Tu devras peut-être neutralisé la fonction RANG() sur la ligne 6, la valeur alphanumérique provoquant un message d'erreur. Tu peux le contourner de cette manière =SI(ESTNUM(B6);RANG(B6;B$1:B$13);"") Pour convertir une valeur alphanumérique tu as la formule =.....*1 ou la fonction CNUM(....) @+Jean-Marie |
|
|
Re: Classement cellules non vides | ||
---|---|---|
Inscription: 05/07/2011
Messages:
26
Système d'exploitation: PC Version Excel utilisée: 2007 |
Posté le : 14-06-2012 13h02
Donc, si je comprends bien:
Le RANK ne prenant que les valeurs numériques, il s'agit de "transformer" les sommes en TEXTE pour qu'ainsi le RANK ne prennent plus ces valeurs en compte ? |
|
|
Re: Classement cellules non vides | ||
---|---|---|
Inscription: 09/05/2007
De Courcelles-les-Montbéliard
Messages:
286
Système d'exploitation: PC & Mac Version Excel utilisée: Mac 2004 - 2011, et PC 2003 - 2010 |
Posté le : 14-06-2012 13h05
Re...
Oui, tu as bien compris. @+Jean-Marie |
|
|
Re: Classement cellules non vides | ||
---|---|---|
Inscription: 05/07/2011
Messages:
26
Système d'exploitation: PC Version Excel utilisée: 2007 |
Posté le : 14-06-2012 14h54
Bon, on y est presque :) Mais en tout cas ça fonctionne.
Dernier soucis: Les ex aequo... Du coup, quand le 2 et le 3 ont le même nombre, dans mon top 10 il retrouve le 2 (il prend le premier qu'il trouve) mais le trois il met N/A puisqu'avec la formule ranking, il n'y a pas de 3 (normal ça ? ) |
|
|
Re: Classement cellules non vides | ||
---|---|---|
Inscription: 09/05/2007
De Courcelles-les-Montbéliard
Messages:
286
Système d'exploitation: PC & Mac Version Excel utilisée: Mac 2004 - 2011, et PC 2003 - 2010 |
Posté le : 16-06-2012 10h48
Bonjour Nim, Didier, le forum
Voilà ce qu'indique l'aide d'Excel sur la fonction RANG Citation : La fonction RANG attribue le même rang aux nombres en double. Cependant, la présence de nombres en double affecte le rang des nombres suivants. Par exemple, dans une liste de nombres entiers triés par ordre croissant, si le nombre 10 apparaît deux fois et porte le numéro de rang 5, le nombre 11 se verra attribuer le numéro de rang 7 (aucun nombre n'aura le rang 6). Donc c'est un fonctionnement normal de la fonction. Pour faire ce que tu désires, il faut rajouter à la valeur obtenue par la fonction RANG, le nombre d'occurrences de la valeur dans la plage située au dessus. Si je me base sur l'exemple de ton premier post, en imaginant la fonction RANG dans la cellule C1. Pour simplifier je ne prendrais que la partie RANG, en mettant la fonction SI de côté. =RANG(B1;B$1:B$13;0) =RANG(B1;B$1:B$13;0)+NB.SI(B$1:B1;B2) La plage que tu définis dans NB.SI peut dépendre du sens du tri de la fonction RANG. Je te laisse intégrer la partie NB.SI dans la formule complète. @+Jean-Marie |
|
|
Re: Classement cellules non vides | ||
---|---|---|
Inscription: 05/07/2011
Messages:
26
Système d'exploitation: PC Version Excel utilisée: 2007 |
Posté le : 18-06-2012 15h38
Bonjour Jean-Marie.
Merci pour ta réponse. Pourquoi rajouter un countif au rank ? Si je rajoute le countif, ma formule finale ressemble à ça =IF(ISNUMBER();(RANK()+COUNTIF();"") (je n'ai pas mis les plages car ça ne correspond pas à l'exemple donné dans le premier post). Mais pour les curieux: =IF(ISNUMBER(AY6);(RANK(AY6;AY$6:AY$743)+COUNTIF($B$6:$B$737;B6));"") J'ai rajouté donc le COUNTIF, mais cela ne résout pas mon problème malheureusement. |
|
|
Re: Classement cellules non vides | ||
---|---|---|
Inscription: 09/05/2007
De Courcelles-les-Montbéliard
Messages:
286
Système d'exploitation: PC & Mac Version Excel utilisée: Mac 2004 - 2011, et PC 2003 - 2010 |
Posté le : 18-06-2012 20h06
Bonsoir Nim, Didier, le forum
Ce n'est pas cela. Attention à la définition des plages. En AZ6, la formule suivante : =IF(ISNUMBER(AY6);(RANK(AY6;AY$6:AY$743);"") =IF(ISNUMBER(AY7);(RANK(AY7;AY$6:AY$743)+COUNTIF($AY$6:$AY6;AY7));"") C'est peut-être plus clair ainsi. @+Jean-Marie PS : Edit correction dans la plage NB.SI |
|
|
Re: Classement cellules non vides | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Inscription: 05/07/2011
Messages:
26
Système d'exploitation: PC Version Excel utilisée: 2007 |
Posté le : 19-06-2012 09h00
Je n'ai pas encore eu le temps d'analyser les formules, je n'ai fait qu'un bête copier/coller pour l'instant.
Mais pour le résultat... Si je prends les 10 premiers, j'obtiens ça:
Il me manque donc le 2, j'ai 2 x le 4, pas de 6 pas 8, pas de 10, 2x11... bref, pas encore au point. Dès que j'ai le temps, je vais voir comment est faite la formule pour comprendre :) En tout cas, merci pour l'aide :) |
|||||||||||
|
Re: Classement cellules non vides | ||
---|---|---|
Inscription: 09/05/2007
De Courcelles-les-Montbéliard
Messages:
286
Système d'exploitation: PC & Mac Version Excel utilisée: Mac 2004 - 2011, et PC 2003 - 2010 |
Posté le : 19-06-2012 22h22
Bonsoir Nim, Didier, le Forum
Ci-joint un fichier, qui montre le résultat de la fonction RANG sur une petite liste de valeurs, et le résultat de la fonction RANG avec le rajout de la fonction NB.SI sur la même liste de valeurs. @+Jean-Marie |
|
|
Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
Qui consulte actuellement ce sujet ?
1 Utilisateur(s) anonymes