Re: Besoin d'aide formule Excel | ||
---|---|---|
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 : 02-11-2012 09h51
Bonjour chakir123, Didier, le forum
Pour répondre au plus rapide en fonction de ce que tu écris dans ton post la formule suivante =Y*50% te donnera la dotation pour le 1er. Change la valeur du pourcentage dans la formule pour obtenir la valeur pour les autres dotations. Excel à un vocabulaire spécifique, ce que tu appelles une case est une cellule, une cellule est un objet d'une feuille de calcul. Une cellule à des coordonnées en colonne et en ligne cela permet de la situer dans la feuille, et les formules utilisant ces coordonnées pourront en reprendre la valeur. C'est un des premier principe élémentaire dans le calcul des formules. Il faut dans tes futurs posts être le plus précis dans les informations que tu donneras, cela te permettra d'avoir une réponse la plus adaptée à ton problème. Cordialement, Jean-Marie |
|
|
Re: Classement par ordre décroissant en fonction de ... | ||
---|---|---|
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 : 30-10-2012 19h35
Bonsoir Turfmann, Didier, Le forum
Avant de te répondre sur la résolution de ton problème, je n'ai pas compris pourquoi tu as utilisé la fonction NB.SI pour faire ton tableau en D4:W23. Un comparateur aurait suffit du style =($D$24=B4)*1 Concernant ta demande. Je passe par une colonne intermédiaire, que j'ai placé dans ton fichier à la cellule AG4, et fait un glisser déposer. =SI(C4;SI(EQUIV(C4;C$4:C$23;0)<>B4;"";NB.SI(C$4:C$23;C4)-B4/100);"") Ensuite pour retourner les valeurs cibles, formule en AA5 et glisser déposer vers le bas =SI(NB(AG$4:AG$23)>=B4;INDEX(C$4:C$24;EQUIV(GRANDE.VALEUR(AG$4:AG$23;B4);AG$4:AG$23;0);1);"") La fonction NB() retourne le nombre de valeurs numériques de la plage. La fonction GRANDE.VALEUR(;) retourne la xième plus grande valeurs numériques de la plage, la valeur du deuxième argument représente la valeur de rang. =GRANDE.VALEUR(...:....;1) ets égale à la fonction MAX(...:...) La fonction EQUIV() retourne la position de la valeur à rechercher (1er argument), dans la lplage (2ème argument), le 3ème argument indique que l'on veut exactement rechercher la valeur indiquée. Bon courage pour la suite @+Jean-Marie |
|
|
Re: Remplir une cellule en fonction d'une autre avec une Macro | ||
---|---|---|
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 : 30-10-2012 12h43
Bonjour Kiwi92, Didier, le forum
Essaye avec la formule ci-dessous à mettre en B1 et glisser vers le bas =SI(A1<>"";"Equipe"&SI(ESTERR(TROUVE("Windows";A1));" Unix";" windows")) @+Jean-Marie |
|
|
Re: Somme de données nommées | ||
---|---|---|
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 : 20-10-2012 09h27
Bonjour auzel, Didier, le Forum
Je pense que tous les problèmes que tu rencontres dans les autres onglets viennent des déclarations des plages nommées. L'utilisation des fonctions de la catégorie Base de donnée, nécessite une plage de données dont la première ligne représente les étiquettes des champs et les lignes suivantes les données. Ce qui n'est pas le cas pour les deux plages bdd_financés et bdd_refusés, les étiquettes sont en ligne 8 et les plages commencent en ligne 9, corrige les ainsi : - pour bdd_financés =DECALER('Projets financés'!$B$8;;;NBVAL('Projets financés'!$B:$B);11) =DECALER('Projets refusés'!$B$8;;;NBVAL('Projets refusés'!$B:$B);6) Ensuite tu auras des erreurs dans certaines formules de la feuille stats globales, mais les formules ne sont pas identiques dans la même colonnes, je te laisse corriger. Un autre point, je connaissais la mise en oeuvre de ces fonctions, la définition des arguments, mais personnellement, je n'utilise pas ces fonctions, redéfinir la zone de critères à chaque fois est trop rébarbatif. Je connaissais leurs puissance de calcul. Mais je ne connaissais pas la possibilité d'intégrer dans la 2ème ligne de la plage de critère une formule de calcul de ce type =ANNEE('Projets refusés'!B9)=2005 Ce que tu as fait "Audrey" est un très beau travail, merci pour m'avoir montré cette possibilité, franchement certaines personnes sur un autre forum ami devraient regarder ce que tu as fait et analyser la puissance de ces fonctions. Encore une petite chose, dommage que ton fichier ne passe pas en taille sur le forum, et que sa période de téléchargement n'est que d'une semaine. Peux-tu faire une version très allégèe, sans données confidentielles pour le mettre en post... @+Jean-Marie |
|
|
Re: Somme de données nommées | ||
---|---|---|
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-10-2012 13h29
Bonjour auzel, Didier, le forum
Le problème vient du fait que tu déclenches une référence circulaire. La fonction NBVAL utilisée dans la formule de déclaration de la plage nommée, calcule le nombre de valeurs dans $K:$K, et dans une cellule de la colonne $K124:K127 tu utilises cette plage nommée dans les formules NB.SI(), et tu créés sans le savoir une référence circulaire (c'est comme un serpent qui se mange la queue) Pour résoudre ton problème tu as deux solutions, en D25 =NB.SI(DECALER(D9;;;NB(B:B));"Insertion par l'emploi") =NB.SI(DECALER(D9;;;LIGNE(B122)-8);"Insertion par l'emploi") J'ai mis dans la formule la déclaration de la plage, tu peux reporter la fonction DECLAER() aussi en plage nommée, il faut simplement faire attention au nom des feuilles et à indiquer les références absolues. L'utilisation de la fonction LIGNE() est possible par l'obligation que tu as de faire une insertion de ligne, pour permettre garder à ton tableau de stats de suivre l'évolution de ta base J'espère avoir répondu à ton problème. @+Jean-Marie |
|
|
Re: Somme de données nommées | ||
---|---|---|
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-10-2012 07h38
Bonjour auzel, Didier, le forum
Je ne comprends pas bien, la suite de tes posts et des retours des formules que tu indiques. Attention quand tu déclares des "noms", il ne faut pas mettre d'espace dans la déclaration du nom, l'espace est un opérateur d'intersection de cellules. C'est peut-être la source du message d'erreur #VALEUR! Si ce n'est pas le cas, comme tu changes tes plages nommées entre les deux posts, normalement =SOMME(Nombre de projets) devrait aussi retourner le message d'erreur #VALEUR! et non 0 comme indiqué dans ton premier posts. Indique moi les formules de tes déclarations des noms, les noms réel utiliser dans ton classeur confidentiel et le retour des formules dans les cellules... @+Jean-Marie |
|
|
Re: Somme de données nommées | ||
---|---|---|
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-10-2012 19h17
Bonsoir auzel, Didier, le forum
Bienvenue sur le forum, concernant ton problème sans fichier difficile de t'aiguiller sur la source de ton problème. Néanmoins regardes ces différents points : - avec les formule =LIGNES(A), =COLONNES(A), =CELLULE("ADRESS";A), tu peux connaître le nombres de lignes de ta plage nommée A, le nombre de colonnes, et la référence du coin haut/gauche de la référence. Peut-être que celle-ci n'est pas correcte. - les données des cellules de la colonne A ne sont pas numérique, =NB(A) te donnera le nombre de cellules contenant des données de type numériques. - tu peux aussi utiliser la boîte de dialogue "atteindre", tu peux y accéder depuis le bouton RECHERCHER du ruban. Dans la boîte de dialogue dans le champ saisissable tu tapes A et tu valides, normalement Excel te sélectionne la plage de cellules nommées A. En espérant que cela te soit utile. @+Jean-Marie |
|
|
Re: Recherche de valeur dans une colonne | ||
---|---|---|
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-10-2012 18h08
Re...
Turfman, pour la compréhension de tout le monde, il est bon de rester sur le fil de départ. Pour ce qui d'une version en passant par des colonnes intermédiaires, voici deux possibilités. Dans un premier temps, ce que je n'avais pas remarquer avec ma première formule, c'est que tu as des doublons dans la plage E6:E25. cela va provoquer un problème, il faut donc neutraliser les valeurs ces doublons pour éviter de les avoir plusieurs fois dans la colonne G. On peut le faire de plusieurs manières. En voici une, formule à mettre en I6 et glisser vers le bas =SI(E6;SI(NB.SI(E$5:E5;E6);"";E6);"") =NB.SI(C$6:C$15;I6) Comme écrit dans mon premier poste, on utilise la fonction EQUIV ppur rechercher la position du premier 1 dans la plage. Formule en K6 =EQUIV(1;J6:J25;0) En formule à mettre en J7, et glisser vers le bas =EQUIV(1;DECALER(J$6:J$25;SOMME(K$6:K6););0) Avec la fonction INDEX on récupère la valeur, formule à mettre en L6 =SI(ESTNA(K6);"";INDEX(E$6:E$25;K6;1)) =SI(ESTNA(K7);"";INDEX(E$6:E$25;SOMME(K$6:K7);1)) Tu verras à la longue que le départ conditionne les fonctions que tu devras utiliser pour résoudre un problème. Rechercher la même valeur 1 pose des problèmes, et si l'on indexait la série de 0 et de 1 .... Voici une autre solution. Pour commencer à la fin de ton tableau B, met un " " (espace) en E26. Pour cette solution, on va repartir des valeurs de ton tableau B sans les doublons, donc ce qu'il y a dans la plage I6:I25. Formule en N5 et glisser vers le bas =SI(NB.SI(C$6:C$15;I6);LIGNE(A1);21) Ta plage de ton tableau B contient 20 lignes, et je t'ai fais mettre un espace la la 21 ligne de ce tableau, cette servira de gestion d'erreur. Pour ce qui est de la formule avec INDEX en Q6, et glisser vers le bas. =INDEX(E$6:E$26;PETITE.VALEUR(N$6:N$25;LIGNE(A1));1) La fonction LIGNE(A1) retourne le numéro de la ligne de la référence de la cellule. cela évite de changer l'incrément dans la fonction PETITE.VALEUR La fonction PETITE.VALEUR retourne la énième plus petite valeur de la plage en référence. Cela permet de faire un tri croissant... Turfman tu as donc deux solutions sans utilisation de formules matricielles. @+Jean-Marie |
|
|
Re: Recherche de valeur dans une colonne | ||
---|---|---|
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-10-2012 10h32
Bonjour Turfman, Didier, le Forum
@+Jean-Marie Pour savoir si une valeur numérique existe dans une plage, il y a une fonction nommée NB.SI() =nb.si(C6:C25;E6) Si ceci vaut pour une seule valeur numérique, on peut le faire sur une suite de valeurs =NB.SI(C6:C25;E6:E25) Tu peux remarquer qu'il y a une correspondance entre les valeurs E6:E25 avec les valeurs retournées, elles sont ordonnées. Si l'on recherche dans cette plage retournée la position de la première valeur 1, on pourra l'associer avec la valeur de la plage E6:E25. Normalement, on devrait utiliser les valeurs de la fonction NB.SI dans une plage (ou tableau) intermédiaire et utiliser une autre cellule pour rechercher et retourner la valeur. Mais restons dans une formule unique qui retournera les valeurs voulues, même si cela va se compliquer.... Ensuite avec la fonction EQUIV on va rechercher la première égale à 1 et avec la fonction INDEX on retourne la valeur. Ce qui donne une formule avec 3 fonctions imbriquées. Validation par Ctrl+Shift+Entrer =INDEX(E$6:E$25;EQUIV(1;NB.SI(C$6:C$25;E$6:E$25);0);1);"") et écarter la première valeur déjà retournée. On pourrait le faire par une imbrication dans la fonction NB.SI =NB.SI(SI(NB.SI(G$6:G6;C6:C25)=0;C$6:C$25;"");E$6:E$25) Il faut donc utiliser une autre fonction pouvant retourner une suite de 0 ou de 1 et acceptant la partie conditionnelle. Cette fonction s'appelle FREQUENCE. Sans vouloir rentrer dans les détails du fonctionnement de cette fonction, il faut remplacer ce qui ne fonctionne pas par =FREQUENCE(SI(NB.SI(G$5:G5;C$6:C$25);"";C$6:C$25);(E:E;C:C)) En intégrant cette partie dans la fonction INDEX(...;EQUIV(1;...;0);1), voici la formule à mettre en G6, et à glisser vers le bas. =SIERREUR(INDEX(E$6:E$25;EQUIV(1;FREQUENCE(SI(NB.SI(G$5:G5;C$6:C$25);"";C$6:C$25);(E:E;C:C));0);1);"") trufman, j'espère que le développement de la construction de la formule te permettra de comprendre dans les essais infructueux que tu avais fait ce qui n'allait pas. Si tu as une incompréhension sur mes explications, n'hésite pas à me le dire, j'essayerai d'y apporter un éclaircissement. Si tu souhaites aussi voir la construction de la fonction INDEX(EQUIV()) avec la fonction des tableaux intermédiaires, pose moi la question. |
|
|
Re: CALCUL NOMBRE DE MOIS/TRIMESTRE SUR PLUSIEURS ANNEES | ||
---|---|---|
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 : 11-10-2012 21h52
Re...
Arf, décidément, cette fois en F5 : =SI((MIN($E5;G$3-1)-MAX(F$3;$D5))<0;"";DATEDIF(MAX(F$3;DATE(ANNEE($D5);MOIS($D5);1));SI($E5;MIN(DATE(ANNEE($E5);MOIS($E5)+1;1);G$3);G$3);"m")) Concernant la formule : - la fonction DATE() permet de retourner une valeur numérique (datesérie), en fonction des valeurs de l'année, du mois et du jour) - la fonction DATEDIF() très peut documenter dans l'aide d'excel, elle permet de retourner l'écart en NB de jours ou de mois ou d'année entre les deux dates des deux premiers arguments. Pour obtenir le nb de jours il faut indiquer "d", pour le nb d'année il faut indiquer "y" en troisième argument. Encore une petite précision sur cette fonction, on indique la date de début (la plus faible) au 1er argument, la date de fin (la plus forte) en 2ème argument) Si tu as des questions, j'essayerai d'y répondre. @+Jean-Marie
Edité par JeanMarie le 11/10/2012 22:10:10
|
|
|