Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
962 connectés 

  FORUM HardWare.fr
  Windows & Software
  Logiciels

  utiliser la formule DECALER dans une formule sous EXCEL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

utiliser la formule DECALER dans une formule sous EXCEL

n°2907431
williamsss
Posté le 01-11-2009 à 21:25:00  profilanswer
 

Bonjour,
 
Apres avoir tappé des formules, voila que pour eviter de les retapper sur d'autre lignes que je voudrais utiliser la fonction DECALER.
 
Dans la cellule D446 j'ai la formule :
 
=SI((NB.SI(D47:D74;"JUSTE" ))+(NB.SI(D47:D74;"FAUX " ))<1;"";((NB.SI(D47:D47;"JUSTE" )+NB.SI(D52:D53;"JUSTE" )+NB.SI(D57:D59;"JUSTE" )+NB.SI(D62:D64;"JUSTE" )+NB.SI(D67:D69;"JUSTE" )+NB.SI(D72:D74;"JUSTE" )))/((NB.SI(D47:D47;"JUSTE" )+NB.SI(D52:D53;"JUSTE" )+NB.SI(D57:D59;"JUSTE" )+NB.SI(D62:D64;"JUSTE" )+NB.SI(D67:D69;"JUSTE" )+NB.SI(D72:D74;"JUSTE" )+(NB.SI(D47:D47;"FAUX " )+NB.SI(D52:D53;"FAUX " )+NB.SI(D57:D59;"FAUX " )+NB.SI(D62:D64;"FAUX " )+NB.SI(D67:D69;"FAUX " )+NB.SI(D72:D74;"FAUX " )))))
 
Puis dans la cellule D450 il faudrait la meme formule mais avec un decalage 72 cellules plus bas pour toutes les cellules utilisées dans la formule. Par exemple : (NB.SI(D47;47;"JUSTE" ) deviendrait (NB.SI(D119;119;"JUSTE" ).
 
Voici plus d'infos :
 
Dans le fichier http://la.climatologie.free.fr/pre [...] oniere.xls qui est bilan des previsions saisonnieres (mais ici il n'y a pas les formules dans la page CALCUL ERREUR) voila que dans la page CALCUL ERREUR sous le 1er tableau je mets un tableau qui donne le POURCENTAGES DE RÉUSSITES DES PRÉVISIONS SAISONNIÈRES POUR CHAQUE SAISONS SELON LES ANOMALIES DES TEMPÉRATURES EN 3 CLASSES (CHAUD OU FROID OU NORMAL) dont la formule se base sur les donnees du 1er tableau.
 
Ce tableau que je met a pour chaque annees 4 lignes (hiver, printemps ete et automne). Donc a chaque annee il faut remettre la meme formule 4 lignes au dessous concernant les 4 formules differentes de chaques saisons et avec un decalage de 72 cellules dans la formule car sur les 12 mois de l'annees on a des previsions de 6 mois donc 6*12+=72.
 
Comment faire ??
 
Merci
 
Williams


Message édité par williamsss le 02-11-2009 à 16:39:51
mood
Publicité
Posté le 01-11-2009 à 21:25:00  profilanswer
 

n°2907535
olivthill
Posté le 02-11-2009 à 11:14:24  profilanswer
 

Si on fait un copier/coller d'une cellule contenant cette formule, alors Excel va faire automatiquement le bon décalage pour toutes les cellules référencées dans la formule, sauf si les noms de cellule contiennent un "$".
 
Un exemple avec une formule simple est d'avoir C3=A1+B2
En copiant cette formule en D4, on obtient D4=B2+C3
Le décalage s'est fait tout seul. On n'a pas eu besoin de le calculer et de le saisir.
 
Mais si la formule initiale contient C3=$A$1+B2
En copiant cette formule en D4, on obtient D4=$A$1+C3
Le décalage n'a pas été fait quand il y avait un dollar.

n°2907703
williamsss
Posté le 02-11-2009 à 16:38:56  profilanswer
 

olivthill a écrit :

Si on fait un copier/coller d'une cellule contenant cette formule, alors Excel va faire automatiquement le bon décalage pour toutes les cellules référencées dans la formule, sauf si les noms de cellule contiennent un "$".
 
Un exemple avec une formule simple est d'avoir C3=A1+B2
En copiant cette formule en D4, on obtient D4=B2+C3
Le décalage s'est fait tout seul. On n'a pas eu besoin de le calculer et de le saisir.
 
Mais si la formule initiale contient C3=$A$1+B2
En copiant cette formule en D4, on obtient D4=$A$1+C3
Le décalage n'a pas été fait quand il y avait un dollar.


 
Voici un autre fichier  http://pagesperso-orange.fr/climat [...] oniere.xls a la feuil1 avec les 2 tableaux que j'ai rajouté (de la ligne 442 a 469) dont celui de gauche que je tente de modifier la formule pour un decalage. Et les equations sont que dans ces 2 tableaux.
 
Dans la cellule D446 la formule donne la valeur : 66.67%
 
Il faudrait qu'avec un modification de la formule pour le DECALAGE que cela donne 26.67% a la cellule D450.
 
Car avec un decalage de 4 lignes entre la cellule D446 et D450 il faudrait dans la fomule pas un decalage de 4 lignes mais de 72 lignes.
 
Williams

n°2908229
seniorpapo​u
Posté le 04-11-2009 à 07:42:38  profilanswer
 

Bonjour,
je regarde ton tableau et je me pose une question: pourquoi dans les stats hiver 2008 (ligne 446)par exemple, ne tiens-tu pas compte des prévisions de janv-08 et fev-08 en janvier 2008 lignes 78-79 ni de fev-08 en fevrier 2008(ligne 84)?? est-ce volontaire ou un oubli?
Je cherchais la possibilité de faire une formule plus générale, mais si c'est volontaire, cela n'arrange pas les choses.
 
 
Cordialement

n°2908370
williamsss
Posté le 04-11-2009 à 13:32:58  profilanswer
 

seniorpapou a écrit :

Bonjour,
je regarde ton tableau et je me pose une question: pourquoi dans les stats hiver 2008 (ligne 446)par exemple, ne tiens-tu pas compte des prévisions de janv-08 et fev-08 en janvier 2008 lignes 78-79 ni de fev-08 en fevrier 2008(ligne 84)?? est-ce volontaire ou un oubli?
Je cherchais la possibilité de faire une formule plus générale, mais si c'est volontaire, cela n'arrange pas les choses.
 
 
Cordialement


 
Ceci a ete volontaire car je me suis dis pour les 4 saisons que quand la saison a commencé on ne peu plus tenir compte des 2 mois suivants ou le mois qui reste.
 
Mais ceci est juste une suposition. Donc si par exemple on tiendrais comptes de ces mois aussi et que tu arriverais a faire une formule de decalage dont je n'arrive pas a realisé ceci serrait tout de meme bien.
 
Merci
 
Williams

n°2908434
seniorpapo​u
Posté le 04-11-2009 à 16:17:53  profilanswer
 

Bonoir,  
quelle est ta version excel??
je fais avec 2007, j'espère que cela sera ok pour ta version
(si je réussis, ce qui n'est pas certain)
cordialement

n°2908436
williamsss
Posté le 04-11-2009 à 16:26:02  profilanswer
 

seniorpapou a écrit :

Bonoir,  
quelle est ta version excel??
je fais avec 2007, j'espère que cela sera ok pour ta version
(si je réussis, ce qui n'est pas certain)
cordialement


 
J'ai la version 2003.
 
merci
 
Williams

n°2908521
seniorpapo​u
Posté le 04-11-2009 à 19:53:26  profilanswer
 

Bonsoir,
à vérifier (sans garantie, tient compte de toutes les prévisions)
mettre la formule en D446 et l'étendre dans tous les sens; Je suppose que les colonnes cachées n'ont pas d'intérèt à cet endroit.
 
 
=SI(SOMMEPROD(($C$6:$C$437=MOIS.DECALER(DATEVAL("01/12/"&TEXTE(ENT((LIGNE()-442)/4)+2006;0));0+3*MOD(LIGNE()-442;4)))*(D$6:D$437<>"" )+($C$6:$C$437=MOIS.DECALER(DATEVAL("01/12/"&TEXTE(ENT((LIGNE()-442)/4)+2006;0));1+3*MOD(LIGNE()-442;4)))*(D$6:D$437<>"" )+($C$6:$C$437=MOIS.DECALER(DATEVAL("01/12/"&TEXTE(ENT((LIGNE()-442)/4)+2006;0));2+3*MOD(LIGNE()-442;4)))*(D$6:D$437<>"" ))=0;"";SOMMEPROD(($C$6:$C$437=MOIS.DECALER(DATEVAL("01/12/"&TEXTE(ENT((LIGNE()-442)/4)+2006;0));0+3*MOD(LIGNE()-442;4)))*(D$6:D$437="JUSTE" )+($C$6:$C$437=MOIS.DECALER(DATEVAL("01/12/"&TEXTE(ENT((LIGNE()-442)/4)+2006;0));1+3*MOD(LIGNE()-442;4)))*(D$6:D$437="JUSTE" )+($C$6:$C$437=MOIS.DECALER(DATEVAL("01/12/"&TEXTE(ENT((LIGNE()-442)/4)+2006;0));2+3*MOD(LIGNE()-442;4)))*(D$6:D$437="JUSTE" ))/SOMMEPROD(($C$6:$C$437=MOIS.DECALER(DATEVAL("01/12/"&TEXTE(ENT((LIGNE()-442)/4)+2006;0));0+3*MOD(LIGNE()-442;4)))*(D$6:D$437<>"" )+($C$6:$C$437=MOIS.DECALER(DATEVAL("01/12/"&TEXTE(ENT((LIGNE()-442)/4)+2006;0));1+3*MOD(LIGNE()-442;4)))*(D$6:D$437<>"" )+($C$6:$C$437=MOIS.DECALER(DATEVAL("01/12/"&TEXTE(ENT((LIGNE()-442)/4)+2006;0));2+3*MOD(LIGNE()-442;4)))*(D$6:D$437<>"" )))
 
 
Juste une question: tu es un fan de Williams F??
Bonne nuit

Message cité 1 fois
Message édité par seniorpapou le 05-11-2009 à 07:10:12
n°2908552
williamsss
Posté le 04-11-2009 à 21:51:05  profilanswer
 

seniorpapou a écrit :

Bonsoir,
à vérifier (sans garantie, tient compte de toutes les prévisions)
mettre la formule en D446 et l'étendre dans tous les sens; Je suppose que les colonnes cachées n'ont pas d'intérèt à cet endroit.
 
 
=SI(SOMMEPROD(($C$6:$C$437=MOIS.DECALER(DATEVAL("01/12/"&TEXTE(ENT((LIGNE()-442)/4)+2006;0));0+3*MOD(LIGNE()-442;4)))*(D$6:D$437<>"" )+($C$6:$C$437=MOIS.DECALER(DATEVAL("01/12/"&TEXTE(ENT((LIGNE()-442)/4)+2006;0));1+3*MOD(LIGNE()-442;4)))*(D$6:D$437<>"" )+($C$6:$C$437=MOIS.DECALER(DATEVAL("01/12/"&TEXTE(ENT((LIGNE()-442)/4)+2006;0));2+3*MOD(LIGNE()-442;4)))*(D$6:D$437<>"" ))=0;"";SOMMEPROD(($C$6:$C$437=MOIS.DECALER(DATEVAL("01/12/"&TEXTE(ENT((LIGNE()-442)/4)+2006;0));0+3*MOD(LIGNE()-442;4)))*(D$6:D$437="JUSTE " )+($C$6:$C$437=MOIS.DECALER(DATEVAL("01/12/"&TEXTE(ENT((LIGNE()-442)/4)+2006;0));1+3*MOD(LIGNE()-442;4)))*(D$6:D$437="JUSTE" )+($C$6:$C$437=MOIS.DECALER(DATEVAL("01/12/"&TEXTE(ENT((LIGNE()-442)/4)+2006;0));2+3*MOD(LIGNE()-442;4)))*(D$6:D$437="JUSTE" ))/SOMMEPROD(($C$6:$C$437=MOIS.DECALER(DATEVAL("01/12/"&TEXTE(ENT((LIGNE()-442)/4)+2006;0));0+3*MOD(LIGNE()-442;4)))*(D$6:D$437<>"" )+($C$6:$C$437=MOIS.DECALER(DATEVAL("01/12/"&TEXTE(ENT((LIGNE()-442)/4)+2006;0));1+3*MOD(LIGNE()-442;4)))*(D$6:D$437<>"" )+($C$6:$C$437=MOIS.DECALER(DATEVAL("01/12/"&TEXTE(ENT((LIGNE()-442)/4)+2006;0));2+3*MOD(LIGNE()-442;4)))*(D$6:D$437<>"" )))


 
Apres avoir tente de mettre cette formule dans la cellule D446, voila que Excel me dit que la formule est trop longue. Donc je n'ai pas pu mettre formule helas.
 

seniorpapou a écrit :


Juste une question: tu es un fan de Williams F??
Bonne nuit


 
Oui  biensur  :sol:  
 
Williams


Message édité par williamsss le 04-11-2009 à 21:52:29
n°2908588
seniorpapo​u
Posté le 05-11-2009 à 06:58:23  profilanswer
 

Bonjour,
c'est un peu ce que je craignais!!! En fait je n'ai pas réussi à trouver le max de caractères des formules en 2003 (je n'ai que 2007 et 2002)
on peut raccourcir si tu as des colonnes disponibles du côté des lignes 442..., par exemple DJ DK DL où on peut caser des valeurs calculées. Veux-tu que je fasse une proposition en ce sens?
 
Une question non liée:
J'ai un reveil qui m'indique le temps (qu'il fait ou qu'il va faire), sais-tu quels sont les critères d'évaluation?? Crois-tu que seules les températures soient utiles? Ne faut-il pas aussi des variations de pression atmosphérique?  Tu peux me répondre en MP parce que ce n'est pas vraiment dans la bonne catégorie. lol
 
Cordialement
 
Je viens de trouver une info: en 2003   1024 caractères alors que 2007 permet: 8192. Tout s'explique j'ai 121 caractères en trop!!!!!!!!!!

Message cité 1 fois
Message édité par seniorpapou le 05-11-2009 à 07:10:49
mood
Publicité
Posté le 05-11-2009 à 06:58:23  profilanswer
 

n°2908595
seniorpapo​u
Posté le 05-11-2009 à 09:03:11  profilanswer
 

RE,
à titre d'exemple tu places la formule suivante en D446:
 
=SI(SOMMEPROD(($C$6:$C$437=MOIS.DECALER($CL446;0))*(D$6:D$437<>"" )+($C$6:$C$437=MOIS.DECALER($CL446;1))*(D$6:D$437<>"" )+($C$6:$C$437=MOIS.DECALER($CL446;2))*(D$6:D$437<>"" ))=0;"";SOMMEPROD(($C$6:$C$437=MOIS.DECALER($CL446;0))*(D$6:D$437="JUSTE" )+($C$6:$C$437=MOIS.DECALER($CL446;1))*(D$6:D$437="JUSTE" )+($C$6:$C$437=MOIS.DECALER($CL446;2))*(D$6:D$437="JUSTE" ))/SOMMEPROD(($C$6:$C$437=MOIS.DECALER($CL446;0))*(D$6:D$437<>"" )+($C$6:$C$437=MOIS.DECALER($CL446;1))*(D$6:D$437<>"" )+($C$6:$C$437=MOIS.DECALER($CL446;2))*(D$6:D$437<>"" )))
 
et celle-ci en CL442 (que tu étires vers le bas)
 
=MOIS.DECALER(DATEVAL("01/12/"&TEXTE(ENT((LIGNE()-442)/4)+2006;0));3*MOD(LIGNE()-442;4))
 
la colonne CL n'est pas obligatoire, mais la ligne 442 l'est.
si tu changes la colonne CL tu remplaces le CL    dans la formule en D446 par la colonne choisie


Message édité par seniorpapou le 05-11-2009 à 09:40:37
n°2908667
williamsss
Posté le 05-11-2009 à 13:06:45  profilanswer
 

seniorpapou a écrit :

Bonjour,
Une question non liée:
J'ai un reveil qui m'indique le temps (qu'il fait ou qu'il va faire), sais-tu quels sont les critères d'évaluation?? Crois-tu que seules les températures soient utiles? Ne faut-il pas aussi des variations de pression atmosphérique?  Tu peux me répondre en MP parce que ce n'est pas vraiment dans la bonne catégorie. lol
 
Cordialement
 
Je viens de trouver une info: en 2003   1024 caractères alors que 2007 permet: 8192. Tout s'explique j'ai 121 caractères en trop!!!!!!!!!!


 
Ton reveil doit t'indiquer le temps suivant la pression atmospherique (superieur a 1013hpa temps ensoleille, et inferieur nuageux voir pluvieux en gros)mais pas vu la temperature. C'est ainsi qu'on fait avec les stations meteos.
 

seniorpapou a écrit :


RE,  
à titre d'exemple tu places la formule suivante en D446:  
 
=SI(SOMMEPROD(($C$6:$C$437=MOIS.DECALER($CL446;0))*(D$6:D$437<>"" )+($C$6:$C$437=MOIS.DECALER($CL446;1))*(D$6:D$437<>"" )+($C$6:$C$437=MOIS.DECALER($CL446;2))*(D$6:D$437<>"" ))=0;"";SOMMEPROD(($C$6:$C$437=MOIS.DECALER($CL446;0))*(D$6:D$437="JUSTE" )+($C$6:$C$437=MOIS.DECALER($CL446;1))*(D$6:D$437="JUSTE" )+($C$6:$C$437=MOIS.DECALER($CL446;2))*(D$6:D$437="JUSTE" ))/SOMMEPROD(($C$6:$C$437=MOIS.DECALER($CL446;0))*(D$6:D$437<>"" )+($C$6:$C$437=MOIS.DECALER($CL446;1))*(D$6:D$437<>"" )+($C$6:$C$437=MOIS.DECALER($CL446;2))*(D$6:D$437<>"" )))  
 
et celle-ci en CL442 (que tu étires vers le bas)  
 
=MOIS.DECALER(DATEVAL("01/12/"&TEXTE(ENT((LIGNE()-442)/4)+2006;0));3*MOD(LIGNE()-442;4))  
 
la colonne CL n'est pas obligatoire, mais la ligne 442 l'est.  
si tu changes la colonne CL tu remplaces le CL    dans la formule en D446 par la colonne choisie


 
Si je mets ces 2 formules dans les cellules que tu dis cela me mets "#NOM?" donc il semble avoir un pb ??
 
Puis j'ai remarqué pour les saisons d'où il n'y a pas de donnée pour l'instant que si dans ma formule pour la cellule D450   =SI((NB.SI(D119:D146;"JUSTE" ))+(NB.SI(D119:D146;"FAUX " ))<1;"";((NB.SI(D119:D119;"JUSTE" )+NB.SI(D124:D125;"JUSTE" )+NB.SI(D129:D131;"JUSTE" )+NB.SI(D134:D136;"JUSTE" )+NB.SI(D139:D141;"JUSTE" )+NB.SI(D144:D146;"JUSTE" )))/(((NB.SI(D119:D119;"JUSTE" )+NB.SI(D124:D125;"JUSTE" )+NB.SI(D129:D131;"JUSTE" )+NB.SI(D134:D136;"JUSTE" )+NB.SI(D139:D141;"JUSTE" )+NB.SI(D144:D146;"JUSTE" )))+NB.SI(D119:D119;"FAUX " )+NB.SI(D124:D125;"FAUX " )+NB.SI(D129:D131;"FAUX " )+NB.SI(D134:D136;"FAUX " )+NB.SI(D139:D141;"FAUX " )+NB.SI(D144:D146;"FAUX " ))) je mets cette partie en GRAS,  alors les previsions pour les mois d'été et d'automne qui sont compris entre la cellule D119 et D146 et qui sont avant les donnees des prévisions de l'hiver font cela ne va pas pour l'hiver car il faudrait qu'on regarde si il y a au moins 1 seul valeur JUSTE ou FAUX que pour l'hiver pour que dans la cellule D450 on commence a mettre a mettre un valeur.  
 
Alors voila comment j'ai modifié la cellule D450 et idem pour les autres cellules donc :
D450 : =SI((G119+G124+G125+G129+G130+G131+G134+G135+G136+G139+G140+G141+G144+G145+G146+G150+G151+H119+H124+H125+H129+H130+H131+H134+H135+H136+H139+H140+H141+H144+H145+H146+H150+H151)<1;"";(((NB.SI(D119:D119;"JUSTE" )+NB.SI(D124:D125;"JUSTE" )+NB.SI(D129:D131;"JUSTE" )+NB.SI(D134:D136;"JUSTE" )+NB.SI(D139:D141;"JUSTE" )+NB.SI(D144:D146;"JUSTE" )))/((NB.SI(D119:D119;"JUSTE" )+NB.SI(D124:D125;"JUSTE" )+NB.SI(D129:D131;"JUSTE" )+NB.SI(D134:D136;"JUSTE" )+NB.SI(D139:D141;"JUSTE" )+NB.SI(D144:D146;"JUSTE" )+(NB.SI(D119:D119;"FAUX " )+NB.SI(D124:D125;"FAUX " )+NB.SI(D129:D131;"FAUX " )+NB.SI(D134:D136;"FAUX " )+NB.SI(D139:D141;"FAUX " )+NB.SI(D144:D146;"FAUX " ))))))
 
Williams


Message édité par williamsss le 05-11-2009 à 13:10:55
n°2908677
seniorpapo​u
Posté le 05-11-2009 à 13:20:54  profilanswer
 

Bonjour,
peux-tu poster ton xls avec mes modifs?
 
je crois bien que c'est  MOIS.DECALER qui n'est pas systématiquement défini. Regarde dans le help à la rubrique MOIS.DECALER, il y est précisé comment faire. Je regarde sur 2002 et te communique l'info
 
cordialement

n°2908683
seniorpapo​u
Posté le 05-11-2009 à 13:29:16  profilanswer
 

Voici ce qui est précisé dans le help 2002:
 
Si cette fonction n'est pas disponible et renvoie l'erreur #NOM ?, installez et chargez la macro complémentaire Utilitaire d'analyse.
 
 Procédure
 
Dans le menu Outils, cliquez sur Macros complémentaires.  
Dans la liste Macros complémentaires disponibles, activez la case à cocher Utilitaire d'analyse, puis cliquez sur OK.  
Si nécessaire, suivez les instructions fournies par le programme d'installation.  

n°2908690
williamsss
Posté le 05-11-2009 à 13:36:25  profilanswer
 

seniorpapou a écrit :

Bonjour,
peux-tu poster ton xls avec mes modifs?
 
je crois bien que c'est  MOIS.DECALER qui n'est pas systématiquement défini. Regarde dans le help à la rubrique MOIS.DECALER, il y est précisé comment faire. Je regarde sur 2002 et te communique l'info
 
cordialement


 
Voici un lien vers un fichier Excel avec ta formule : http://pagesperso-orange.fr/climat [...] niere1.xls
 
Actuellement je regarde les explications de MOIS.DECALER pour comprendre la formule comme cela jongle sur 2 formules.
 
merci
 
Williams

n°2908699
williamsss
Posté le 05-11-2009 à 13:49:26  profilanswer
 

seniorpapou a écrit :

Voici ce qui est précisé dans le help 2002:
 
Si cette fonction n'est pas disponible et renvoie l'erreur #NOM ?, installez et chargez la macro complémentaire Utilitaire d'analyse.
 
 Procédure
 
Dans le menu Outils, cliquez sur Macros complémentaires.  
Dans la liste Macros complémentaires disponibles, activez la case à cocher Utilitaire d'analyse, puis cliquez sur OK.  
Si nécessaire, suivez les instructions fournies par le programme d'installation.  


 
Apres avoir activé la case voila qu'on m'a demandé de mettre le CD d'installation ce que je n'ai pas car quand on achete un ordinateur on n'a pas tout les DVD des logiciels installés (Microsoft, Window...). Donc impossible a faire pour Excel :(  
 
Williams

n°2908703
seniorpapo​u
Posté le 05-11-2009 à 14:03:55  profilanswer
 

No comment.
Mais je crois que dans le dvd (délivré avec ou fait en sauvegarde) il doit y avoir les applications, sinon tu serais mal parti en cas de plantage.
 
en attendant je vais voir pour formuler sans MOIS.DECALER

n°2908744
seniorpapo​u
Posté le 05-11-2009 à 15:42:22  profilanswer
 

tu oublies MOI.DECALER et la colonne CL
tu colles cette formule en D446, tu étends et tu me dis si cela fonctionne en 2003
 
 
=SI(SOMMEPROD(($C$6:$C$437=DATE(2006;(3*(LIGNE()-442)+12);1))*(D$6:D$437<>"" )+($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+13;1))*(D$6:D$437<>"" )+($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+14;1))*(D$6:D$437<>"" ))=0;"";SOMMEPROD(($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+12;1))*(D$6:D$437="JUSTE" )+($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+13;1))*(D$6:D$437="JUSTE" )+($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+14;1))*(D$6:D$437="JUSTE" ))/SOMMEPROD(($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+12;1))*(D$6:D$437<>"" )+($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+13;1))*(D$6:D$437<>"" )+($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+14;1))*(D$6:D$437<>"" )))

n°2908806
williamsss
Posté le 05-11-2009 à 17:46:39  profilanswer
 

seniorpapou a écrit :

tu oublies MOI.DECALER et la colonne CL
tu colles cette formule en D446, tu étends et tu me dis si cela fonctionne en 2003
 
 
=SI(SOMMEPROD(($C$6:$C$437=DATE(2006;(3*(LIGNE()-442)+12);1))*(D$6:D$437<>"" )+($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+13;1))*(D$6:D$437<>"" )+($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+14;1))*(D$6:D$437<>"" ))=0;"";SOMMEPROD(($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+12;1))*(D$6:D$437="JUSTE" )+($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+13;1))*(D$6:D$437="JUSTE" )+($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+14;1))*(D$6:D$437="JUSTE" ))/SOMMEPROD(($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+12;1))*(D$6:D$437<>"" )+($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+13;1))*(D$6:D$437<>"" )+($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+14;1))*(D$6:D$437<>"" )))


 
Apres avoir essaye ta formule tout semble bien fonctionner car je retrouve les memes % en y ajoutant les 2 dernieres bilans des previsions saisonieres qui ont lieu lors de la saison (exemple celle de juillet et aout pour l'été)  :)  
 
Juste une question pour etre sur que cela va bien :
 
Quand on a pas encore le 1er resulat (Vrai ou Faux) du bilan de la prevision comme par exemple pour cet hiver puisque decembre n'est pas passe, cela en tien bien compte ??  
 
Merci bp
 
Williams


Message édité par williamsss le 05-11-2009 à 17:49:50
n°2908826
seniorpapo​u
Posté le 05-11-2009 à 18:15:31  profilanswer
 

Bonsoir,
pour une saison, par exemple  HIVER la formule fait, pour les trois mois concernés (01/12/an-1, 01/01/an,et 01/02/an), s'il y a au moins une réponse (JUSTE ou FAUX) , la somme des JUSTE divisé par la somme totale des réponses. Si une cellule n'est pas renseignée, elle n'entre pas dans le calcul.
 
Veux-tu que je détaille la formule??
Bonne soirée

n°2908855
williamsss
Posté le 05-11-2009 à 18:59:41  profilanswer
 

seniorpapou a écrit :

Bonsoir,
pour une saison, par exemple  HIVER la formule fait, pour les trois mois concernés (01/12/an-1, 01/01/an,et 01/02/an), s'il y a au moins une réponse (JUSTE ou FAUX) , la somme des JUSTE divisé par la somme totale des réponses. Si une cellule n'est pas renseignée, elle n'entre pas dans le calcul.
 
Veux-tu que je détaille la formule??
Bonne soirée


 
Ok je vois que cela tiens compte du changement que j'avais realisé cité plus haut.
 
Oui je veus bien que tu la détails pour mieux la comprendre et pour pouvoir l'utiliser dans le tableau a droite de celui ci  ;)  
 
Williams

n°2908868
seniorpapo​u
Posté le 05-11-2009 à 19:37:45  profilanswer
 

Ok, je te ferai cela à tête plus éveillée, soit demain avant 8h, soit l'après midi.


Message édité par seniorpapou le 05-11-2009 à 19:38:10
n°2908983
seniorpapo​u
Posté le 06-11-2009 à 08:43:58  profilanswer
 

Bonjour,
Je suis sur l'explication, mais c'est long. J'espère qu'elle ne sera pas plus compliquée que la formule elle-même.

n°2909061
seniorpapo​u
Posté le 06-11-2009 à 14:20:09  profilanswer
 

Tentative d'explication de la formule:
 
=SI(SOMMEPROD(($C$6:$C$437=DATE(2006;(3*(LIGNE()-442)+12);1))*(D$6:D$437<>"" )+($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+13;1))*(D$6:D$437<>"" )+($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+14;1))*(D$6:D$437<>"" ))=0;"";SOMMEPROD(($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+12;1))*(D$6:D$437="JUSTE" )+($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+13;1))*(D$6:D$437="JUSTE" )+($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+14;1))*(D$6:D$437="JUSTE" ))/SOMMEPROD(($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+12;1))*(D$6:D$437<>"" )+($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+13;1))*(D$6:D$437<>"" )+($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+14;1))*(D$6:D$437<>"" )))
 
 
1) J’ai remarqué que dans ta colonne C, depuis C6 jusqu’à C437 tu avais défini tes mois dans des cellules au format DATE , par exemple : pour afficher mai-08 tu as saisi 01/05/2008.
2) J’ai constaté aussi qu’au regard de chaque date, dans les colonnes D….etc.  tu avais trois possibilités de contenu :  « JUSTE »    « FAUX «     ou rien (« « ). A noter que FAUX est suivi d’un espace, ce qui n’est pas évident pour les comparaisons, c’est pourquoi j’ai essayé de ne pas avoir à l’utiliser pour contourner les erreurs de saisie (absence d’espace) sans avoir à utiliser la fonction qui supprime les espaces avant et après le contenu de la cellule (ce qui aurait allongé la longueur de la formule.
3) J’ai supposé, à la lecture de la formule que tu proposais, que tu voulais obtenir, par saison, le pourcentage de réussite des prévisions par rapport au total des prévisions effectives.
avec pour définition des saisons :
    HIVER 2008 = 01/12/2007 + 01/01/2008 + 01/02/2008
   PRINTEMPS 2008 = 01/03/2008 + 01/04/2008 + 01/05/2008
etc…
On doit donc, pour la cellule D446, par exemple, calculer le nombre de fois où JUSTE est présent pour les 3 mois d’HIVER 2008.
 
La fonction SOMMEPROD va permettre de le faire .
Prenons DATE1=date(2007 ;12 ;1),  MATRICE1 =C6 :C437, MATRICE2= D6 :D437
CRITERE1 = (MATRICE1=DATE1)
CRITERE2 = (MATRICE2= »JUSTE »)
 
SOMMEPROD((CRITERE1)*(CRITERE2))  
nous donnera les résultats suivants :
Si un  élément de MATRICE1 est = DATE1  alors CRITERE1 sera = 1 sinon = 0
Si l’élément correspondant de MATRICE2 est = « JUSTE » alors CRITERE2 sera = 1 sinon = 0
Nous aurons donc :  
 
 (CRITERE1)*(CRITERE2)=  1*0 = 0 si la date est bonne mais « JUSTE » absent
 (CRITERE1)*(CRITERE2)=  1*1 = 1 si la date est bonne et « JUSTE » présent
 (CRITERE1)*(CRITERE2)= 0*1 = 0 si la date est # de celle recherchée et « JUSTE » présent. SOMMEPROD fait la somme de tous les 1 trouvés. Nous avons donc le nombre de « JUSTE » pour Décembre 2007
 
SOMMEPROD va balayer ainsi toute la MATRICE1 (et MATRICE2) et faire le cumul des 0 ou 1 trouvés
Le cumul devant se faire sur trois mois pour une saison, nous écrirons
SOMMEPROD((CRITERE1)*(CRITERE2)+ (CRITERE3)*(CRITERE2)+ (CRITERE4)*(CRITERE2))
SOMMEPROD((C6:C437=DATE1)*( D6:D437= »JUSTE »)+ (C6:C437=DATE2)*( D6:D437= »JUSTE »)+ (C6:C437=DATE3)*( D6:D437= »JUSTE »))Passons au calcul des dates, en fonction d’une ligne donnée.
 
La fonction DATE(A,M,J) délivre une date sous la même forme que ce qui est mémorisé dans C6 :C437
La fonction LIGNE() donne le numéro de ligne de la cellule où se trouve la formule
 
Sachant qu’en D446 je dois définir les 3 mois cités plus haut, je dois avoir pour premier mois
01/12/2007 soit le 24 éme mois à partir du 01/01/2006
DATE(2006;(3*(LIGNE()-442)+12);1)
 
3*(LIGNE()-442)+12 me définit bien le 24ème mois depuis l’origine  
DATE(2006 ;24 ;1) donnera 01/12/2007
 
Les DATE2 et DATE3  seront donc définies respectivement par :
DATE(2006;(3*(LIGNE()-442)+13);1), soit 01/01/2008
Et
DATE(2006;(3*(LIGNE()-442)+14);1) soit 01/02/2008
 
 
Lorsque je descends d’une ligne, par exemple en D447, la fonction DATE donnera pour le premier mois de la saison : DATE(2006 ;3*(447-442)+12 ;1)
Ou encore DATE(2006 ;27 ;1) soit 01/03/2008
Etc etc…
 
Le SOMMEPROD devient enfin :
SOMMEPROD(($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+12;1))*(D$6:D$437="JUSTE" )+($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+13;1))*(D$6:D$437="JUSTE" )+($C$6:$C$437=DATE(2006;3*(LIGNE()-442)+14;1))*(D$6:D$437="JUSTE" ))
 
Je ne réexplique pas le rôle des $ dans l’adresse de cellules, cela a déjà été fait plus haut par olivthill
 
Voilà !!!
J’espère avoir assez détaillé et pas trop.
 
Si tu comprends, BRAVO, sinon, à ta disposition pour complèter en MP pour ne pas sursaturer le post.


Message édité par seniorpapou le 06-11-2009 à 14:29:28
n°2909082
williamsss
Posté le 06-11-2009 à 15:00:18  profilanswer
 

Je te remercie bp  :hello:  
 
Williams

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Logiciels

  utiliser la formule DECALER dans une formule sous EXCEL

 

Sujets relatifs
Suppimer du texte dans une cellule excel tout en gardant les nombres[Excel] Ajouter le contenu d'une cellule à une autre
[Excel] Mise en forme transposé automatisé[EXCEL]Faire correspondre Chaîne à un Entier
Problème excel et analyse antivirusCondition excel
[résolu] [excel] problème d'insertion d'une ligneMise en forme conditionnelle sous excel
Calcul conditionnel excelEXCEL : exporter tout une colonne pour avoir les données sur une ligne
Plus de sujets relatifs à : utiliser la formule DECALER dans une formule sous EXCEL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR