Forums XLPages

Tous les messages (JeanMarie)

« 1 ... 26 27 28 29
Re: fonction N
Accro XLPages

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 : 01-06-2007 21h33
Bonsoir Jacques

Dans la formule =SOMMEPROD(($A2=$A$4:$A$7);($B$4:$B$7))

La première matrice qui est le résultat par la comparation, elle contient une valeur logique, VRAI ou FAUX. SOMMEPROD va multiplier chaque valeurs de matrice pour en faire la totalisation.

Dans Excel, la valeur logique VRAI est considérée comme un 1, et FAUX comme un 0. Nous pouvons le vérifier en tapant cette formule dans une cellule =VRAI()*1 ou =FAUX()*1

Ce principe de convertion n'est pas opéré par la fonction SOMMEPROD d'Excel lors d'une multiplication entre deux matrices d'argument différent.
C'est pour cela que la formule retourne 0.

Dans la formule =SOMMEPROD(N($A2=$A$4:$A$7);($B$4:$B$7)), la fonction N provoque la conversion de la matrice comme le ferait ($A2=$A$4:$A$7)*1, le première matrice contient donc que des données numériques, pour le vérifier il suffit de sélectionner les cellules D4:D7, et de saisir la barre de formule, la formule suivante =N(A4:A7=A2) en la validant en tant que matricielle.

@+Jean-Marie
Hors Ligne
Rapport   Haut 

Re: matricielle 2 plages d'ampleur inégale
Accro XLPages

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-05-2007 22h05
Bonsoir

  • Ce matin, j'ai signalé à Didier que la formule ne fonctionnerait pas dans le cas d'une "référence" qui se trouverait en doublon dans une des deux plages "verte" ou "jaune".


  • Et j'ai aussi reçu un message en privé pour me montrer une autre formule, la voici

  • =SOMME(N($A3=$A$18:$A$29)*{1.1.1.1.1.1.1.1}*N($B$18:$B$29=TRANSPOSE($C$8:$C$15))*TRANSPOSE($D$8:$D$15))
    et avec un petit commentaire :
    moins belle que la vôtre car elle n'automatise pas {1.1.1.1.1.1.1.1}.

    Après analyse, la partie {1.1.1.1.1.1.1.1}, n'est pas utile, tout comme l'utilisation de la fonction N

    Donc la formule à retenir ...
    =SOMME(($A3=$A$18:$A$29)*($B$18:$B$29=TRANSPOSE($C$8:$C$15))*TRANSPOSE($D$8:$D$15))

    Et là, c'est moi qui applaudit, que l'auteur en soit remercié.

    L'utilisation de la fonction TRANSPOSE permet de créer une matrice à deux dimensions. Superbe, je n'aurais jamais pensé utiliser cette fonction pour résoudre ce problème. Comme quoi on apprend tous les jours.

    Didier ton forum, commence de bien belle manière. Que les futures questions restent au même niveaux, et on va se régaler.

    @+Jean-Marie
    Hors Ligne
    Rapport   Haut 

    Re: Balises de code VBA et Formules pour les Forums
    Accro XLPages

    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 : 28-05-2007 11h29
    Salut Didier

    Bravo pour ta persévérance, tu améliores un fois de plus la qualité de ton site.

    @+Jean-Marie
    Hors Ligne
    Rapport   Haut 

    Re: matricielle 2 plages d'ampleur inégale
    Accro XLPages

    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 : 28-05-2007 09h49
    Bonjour

    Après des heures de recherche (sisi)

    Une formule matricielle à mettre en D3,
    valable pour toutes les couleurs, sauf la "KO", à tirer vers la droite et vers le bas
    =SOMME(FREQUENCE(SI(($A$18:$A$29=$A3)*(ESTNUM(EQUIV($B$18:$B$29;$C$8:$C$15;0)));LIGNE($A$1:$A$12));SI(ESTNUM(EQUIV($C$8:$C$15;$B$18:$B$29;0));EQUIV($C$8:$C$15;$B$18:$B$29;0);))*D$8:D$16)


    Le problème dans les multiplications de matrices, c'est qu'elles doivent être de longueur identique. Pour passer une matrice "Verte" à une matrice "jaune", je suis passé par la fonction FREQUENCE, qui va retourner une matrice de 1 et de 0

  • Le premier argument :

  • contient les numéros d'index qui correspondent à la couleur voulue indiquée en $A3, ($A$18:$A$29=$A3)
    (ESTNUM(EQUIV($B$18:$B$29;$C$8:$C$15;0)) permet de savoir si la référence est présente dans la plage "jaune"
    LIGNE($A$1:$A$12), retourne le numéro d'index, la longueur de la plage doit être identique à la longueur de la plage "verte" et doit commencer à la ligne 1.
    Résultat de la matrice {0;0;3;0;0;6;0;0;0;0;0;12}

  • Le deuxième argument :

  • contient les numéros d'index des références de la matrice "jaune" dans la matrice "verte", ce numéro est retourné par la fonction EQUIV
    la condition permet d'écarter les références "KO" non présentent dans la matrice "verte", ce qui provoquerait une erreur par la suite.
    Résultat de la matrice {2;3;0;1;4;6;12;10}

    La fonction fréquence va retourner une matrice qui sera ensuite multipliée par la plage D$8:D$16, vous pouvez noter que cette plage est plus longue d'une unité, en effet fréquence rajoute une unité supplémentaire à la longueur de la matrice de départ.
    Résultat de la matrice {0;1;0;0;0;1;1;0;0}


    Formule pour la cellule D5, donc uniquement à tirer vers la droite
    =SOMMEPROD(ESTNA(EQUIV($C$8:$C$15;$B$18:$B$29;0))*D$8:D$15)

    la partie ESTNA(EQUIV($C$8:$C$15;$B$18:$B$29;0)), permet de tester la non présence de la référence de la plage "jaune", dans la plage "verte"

    J'espère que mes explications sont suffisantes, dans le cas contraire n'hésite pas, cela me permet aussi de m'améliorer.

    @+Jean-Marie
    Edité par JeanMarie le 29/05/2007 23:03:29
    Hors Ligne
    Rapport   Haut 

    Re: Félicitation
    Accro XLPages

    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 : 21-05-2007 20h52
    Bonjour Didier

    Te voilà une nouvelle fois père virtuel. Que ce nouveau bébé, grandisse vite, dans une ambiance chaleureuse, et conviviale. Que ces intervenants puissent lui permettre d'apprendre aisément.

    Je félicite le papa, et je n'oublie pas la maman qui ta permis de t'occuper de la gestation.

    Ah! j'oubliai, doublement merci en tant que "formuliste", pour la zone "Formule Excel", et son formatage particulier. :mad:

    @+Jean-Marie
    Hors Ligne
    Rapport   Haut 

    « 1 ... 26 27 28 29