Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/05/2011, 14h28   #1
Candidat au titre de Membre du Club
 
Homme
Inscription : mars 2011
Messages : 26
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : mars 2011
Messages : 26
Points : 10
Points : 10
Par défaut Ajout d'un critère dans une formule matricielle

Bonjour tout le monde !

Je travaille sur les productivités.
Le principe est de faire la moyenne des productivités pour chaque personne puis les additionner.


J'ai donc créé des formules matricielles mais maintenant je bloque sur un "#VALEUR".

Je vous envoie un fichier exemple pour que vous compreniez mon problème.
Je ne pense pas que ça va poser problème pour ceux qui utilisent régulièrement des formules matricielles.

Merci par avance pour votre aide.
Fichiers attachés
Type de fichier : zip formule matricielle.zip (8,3 Ko, 10 affichages)
Olivm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 16h25   #2
Responsable
Office & Excel

 
Avatar de Pierre Fauconnier
 
Homme Pierre Fauconnier
Formateur et développeur informatique indépendant
Inscription : novembre 2003
Messages : 8 198
Détails du profil
Informations personnelles :
Nom : Homme Pierre Fauconnier
Âge : 45
Localisation : Belgique

Informations professionnelles :
Activité : Formateur et développeur informatique indépendant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 8 198
Points : 14 411
Points : 14 411
Envoyer un message via Skype™ à Pierre Fauconnier
Salut.

Tu descends trop bas dans ta plage, et tu utilises donc en E des valeurs non numériques dans tes calculs. Tu dois cadrer mieux ta plage de calcul. De plus, avec ta méthode de calcul, tu risque des divisions par 0.

Pourrais-tu essayer ceci?
Citation:
=SI(C2=C1;0;SI(E3="";E2;1/SOMME(($C$2:$C$12=C2)*($E$2:$E$12))))
en matricielle?
__________________
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------

Ma nouvelle vidéo: comparer des listes via une MFC - Mes articles sur DVP
Vous souhaitez rédiger pour DVP? Contactez-moi
Amoureux de la langue française? Venez corriger nos ressources
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
N'oubliez pas de VOTER (en bas à droite d'un message)

---------------
Pierre Fauconnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 16h39   #3
Candidat au titre de Membre du Club
 
Homme
Inscription : mars 2011
Messages : 26
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : mars 2011
Messages : 26
Points : 10
Points : 10
Bonjour,


Ta solution ne marche pas.

normalement, descendre trop bas dans la plage n'a pas d'importance puisque j'ai un somme(si(

Je ne cherche pas à sommer mais à faire un calcul de forme 1/(1/p1+1/p2+1/p3...).


Je cherche juste à prendre en compte les productivités avec la même facture tout en évitant les cases vides de la productivité moyenne.

En gros, je voudrais une formule comme ça mais qui marche
Citation:
{=SI(C2=C1;0;SI(E3="";E2;1/SOMME(SI(ET($C$2:$C$3995=C2;E2:E3995>0);1/$E$2:$E$3995;0))))}
Olivm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 16h45   #4
Responsable
Office & Excel

 
Avatar de Pierre Fauconnier
 
Homme Pierre Fauconnier
Formateur et développeur informatique indépendant
Inscription : novembre 2003
Messages : 8 198
Détails du profil
Informations personnelles :
Nom : Homme Pierre Fauconnier
Âge : 45
Localisation : Belgique

Informations professionnelles :
Activité : Formateur et développeur informatique indépendant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 8 198
Points : 14 411
Points : 14 411
Envoyer un message via Skype™ à Pierre Fauconnier
Par rapport à ton tableau, ma formule donne 0,29 en F2...

Le fait que tu mettes la condition n'empêche pas la matricielle de calculer des valeurs en tentant de diviser par E2:E3995 (ligne par ligne, puisque matricielle) lorsque la valeur en E est <> ""...

Quelle valeur attends-tu en E2?
__________________
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------

Ma nouvelle vidéo: comparer des listes via une MFC - Mes articles sur DVP
Vous souhaitez rédiger pour DVP? Contactez-moi
Amoureux de la langue française? Venez corriger nos ressources
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
N'oubliez pas de VOTER (en bas à droite d'un message)

---------------
Pierre Fauconnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 22h07   #5
Membre confirmé
 
Inscription : mai 2010
Messages : 200
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 200
Points : 278
Points : 278
Bonsoir,
Citation:
Envoyé par Olivm Voir le message
En gros, je voudrais une formule comme ça mais qui marche
{=SI(C2=C1;0;SI(E3="";E2;1/SOMME(SI(ET($C$2:$C$3995=C2;E2:E3995>0);1/$E$2:$E$3995;0))))}
Remplaces le ET qui ne convient pas dans une formule matricielle par la multiplication des 2 conditions.

Code :
{=SI(C2=C1;0;SI(E3="";E2;1/SOMME(SI(($C$2:$C$3995=C2)*(E2:E3995>0);1/$E$2:$E$3995;0))))}
GerardCalc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 09h05   #6
Candidat au titre de Membre du Club
 
Homme
Inscription : mars 2011
Messages : 26
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : mars 2011
Messages : 26
Points : 10
Points : 10
Bonjour, j'avais déjà essayé la multiplication de condition et le "et()", cela n'a pas marché.

La formule qui marche est :
Citation:
=SI(C2=C1;0;SI(E3="";E2;1/SOMME(SI(C$2:C$12=C2;SI(E$2:E$12<>"";1/E$2:E$12;0)))))
Il n'apparaît pas nécessaire de limiter la plage en bas.

Problème résolu. Merci de m'avoir accordé un peu de votre temps, bonne journée
Olivm est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h58.


 
 
 
 
Partenaires

Hébergement Web