Recherche sur excel

bedbou Messages postés 5 Statut Membre -  
bedbou Messages postés 5 Statut Membre -
Bonjour,
pouvez vous svp me dire"formule" comment je peux rechercher sur excel la dérniére valeur non égale à zero,du dérnier mois de la derniére année qui à connue une enregistrement ou bien une modification :voici un exemple:

usine Codeimmo année mois valeur
A Z 2011 01 10
A Z 2011 07 10
A Z 2013 08 100
B R 2014 06 90
A Z 2015 03 100
A Z 2016 01 0
A Z 2016 02 100

quelle est la formule que je peux utiliser pour avoir au final uniquement la valeur du mois de février 2016 pour le code immo "z" de l'usine A

Merci d'avance

3 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    bonjour
    si "code immo" en B etc

    =SOMMEPROD((B2:B12="Z")*(C2:C12=2016)*(D2:D12=2)*(E2:E12>0)*(E2:E12))

    si XL>=2007 voir somme.si.ens
    0
    1. bedbou Messages postés 5 Statut Membre
       
      je vous confirme que j'utilise XL2007 mais je n'arrive pas au résultat voulu merci de m'éclairer plus sur la formule somme.si.ens pour mon exemple
      à noter que je eux obtenir au final la valeur 100 ,alors quand j'ai utiliser somme prod le résultat affiché et zero de l'avant dérniére ligne
      encore une fois merci de votre aide michel
      0
  2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Bonjour,

    tu as ce genre de formule matricielle qu'il faudra confirmer en cliquant en même temps sur les trois touches du clavier Ctrl, Shift et Entrée
    si tu fais bien la formule se placera entre ces accolades
    {}

    en 2 l'année considérée et en I4 le mois ou directement dans la formule
    pour récupérer le code immo
    =INDEX(B2:B10;EQUIV(1;(C2:C10=I2)*(D2:D10=I4);0))

    et pour récupérer l'usine

    =INDEX(A2:A10;EQUIV(1;(C2:C10=I2)*(D2:D10=I4)*(B2:B10="cellule de la formule précédente");0))
    si la première formule est en J3
    =INDEX(A2:A10;EQUIV(1;(C2:C10=I2)*(D2:D10=I4)*(B2:B10=J3);0))
    et directement le code usine
    =INDEX(A2:A10;EQUIV(1;(C2:C10=I2)*(D2:D10=I4)*(B2:B10="Z");0))

    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    0
    1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
       
      Alors peut être comme cela

      =SOMME.SI.ENS(E2:E10;A2:A10;"A";B2:B10;"Z";C2:C10;2016;D2:D10;2)
      ou
      =SOMMEPROD((A2:A10="A")*(B2:B10="Z")*(C2:C10=2016)*(D2:D10=2)*(E2:E10))
      ou en formule matricielle
      =INDEX(E2:E10;EQUIV(1;(C2:C10=2016)*(D2:D10=2)*(B2:B10="Z")*(A2:A10="A");0))
      0
    2. bedbou Messages postés 5 Statut Membre
       
      merci mike maintenant ca fonctione
      juste dans le cas ou j'ai une autre ligne à la fin de l'exemple prcédent comme suit :
      Usine code année mois val
      a z 2016 8 0

      ci je ne veux pas avoir la valeur zero de l nouvelle dérniére ligne mais plutôt la derniére valeur supérieure à zero c à dire 100 ,la je procéde comment ou je rajout quoi la formule somme.si.ens
      mille merci
      0
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    je ne comprends pas, combien as tu de ligne mensuelle pour chaque année!
    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    0
    1. bedbou Messages postés 5 Statut Membre
       
      en moyenne 10 ligne pour chaque année par exemple pour 2016 trois lignes comme suit:
      usine code immo année mois valeur
      A Z 2011 1 60
      A Z 2011 2 48
      A G 2012 1 30
      B T 2012 3 100
      B Y 2013 4 567
      A Z 2014 6 576
      A Z 2014 3 34
      A Z 2015 4 0
      B G 2015 8 100
      A Z 2016 1 50
      A Z 2016 3 100
      A Z 2016 6 0

      ci je ne veux pas avoir la valeur zero de la dérniére ligne celle du mois de juin mais plutôt la derniére valeur supérieure à zero c à dire 100 du mois de mars"la dérniére entrée de donnée" ,la je procéde comment ou je rajout quoi la formule somme.si.ens /
      perso JE pense à la fonction "SI" la dérniére valeur est egale à zero je lui demande d'avoir le valeur du dérnier mois non égale à zero (peutre étre comme si max mois&année = zero ; mois précedent ....!!!!
      A+
      mille merci
      0
    2. bedbou Messages postés 5 Statut Membre
       
      Bonjour,
      Afin d'assurer un suivi fiable, j'ai besoin d'automatiser un TCD, peut être par l'insertion d'une formule spéciale ou je pourrai en actualisant le tcd suivant avoir, à la dernière date, le mémé montant autorisé au début, pour plus de détail voici un exemple :

      Colonne A Colonne B colonne C colonne D

      Autorisation 800 894 C1-B1 = (-94)
      13/03/2012 40 C2+(C1-B1) = (-54)
      10/06/2013 7 C3+(-54) = (-47)
      10/01/2014 847 C4+ (-47) = ( 800)

      Sachant que le tableau précédent est un TCD et est réprésenté comme suit:
      colonne A:Étiquettes de lignes
      colonne B:Somme de Autorisation
      colonne C:Somme de Montant

      colonne D:la au je dois insérer la formule spéciale*en quelque sorte ci je appelé ca formule en "Z".

      Merci d'avance pour votre aide
      0