Formule : Recopier une cellule d'une ligne avec condition

Bonjour à tous,

Premier post sur votre forum car jusqu'ici aucun besoin de poser de question vu que j'ai toujours eu un sujet similaire à mes recherches donc forum très interessant et riche en conseils.

Mon besoin de formule de calcul sous excel 2007 serait de recopier une cellule (comprenand des chiffres) situé en colone L pour laquelle la ligne concernée serait la dernière ligne la plus basse (ou avec la date la plus récente en colone A) contenant "1" en colone B.

Méthodologie si ma phrase n'est pas suffisement claire :

=> recopie de la cellule situé en colone L de la dernière ligne contenant "1" en colone B (ou de la plus récente avec les dates indiquées en colone A)

En espérant avoir été assez précis pour comprendre mon besoin. je vous remercie par avance pour l'aide que vous pourrez m'apporter. Bien cordialement et bonne journée à tous.

Salut,

C'est pas très claire mais, à mon avis, tu peux utilisé les fonction SI, MIN, NB.VAL ou d'autres.

Mais pour bien répondre à ta demande, pourrait-tu mettre un fichier en guise d'exemple ?

Sinon voici des pistes de réflexion :

18xlprat.xlsx (12.00 Ko)

Cdlt,

Merci pour votre réponse et désolé ci cela n'est pas claire. J'ai fais un exemple dans un fichier excel pour se rentre compte.

Concernant votre proposition, j'ai tenté de la retranscrire mais je n'ai pas réussi à obtenir le résultat attendu. Je pense m'avoir mal exprimé vous avez raison.

En fait, je souhaite obtenir dans les cellules des lignes 41 (local 1) et 42 (local 2) les valeurs de température les plus récentes (selon date en colone A) des colonnes correspondante (colone L pour l'exemple). Ceci afin que toutes ces valeurs soient reporté dans une autre page avec représentation graphique.

Pour cet exemple (dans le fichier) en L41 je voudrais obtenir 26,0°C qui correspond à la dernière température mesurée dans le local 1 et en L42 je voudrais obtenir 24,0°C qui correspond à la dernière température mesurée dans le local 2.

Dites moi si vous avez besoin d'autres précisions

11xlprat.xlsx (29.97 Ko)

Re,

Voilà une solution :

33xlprat.xlsx (30.61 Ko)

(Formule matricielle à valider avec CTRL + SHIFT + ENTRÉE).

Dit moi si c'est bon

Cdlt,

Bonjour,

Merci beaucoup pour ton aide, la formule fonctionne au top si la ligne entière est remplie par contre peut t'on rajouter une astuce afin que cela ne sélectionne que la dernière cellule est pas toute la dernière ligne car les relevé ne seront pas toujours réalisés partout aux même dates et peuvent aussi être que partiels. J'ai remis le fichier complété en PJ pour voir ce que je veux dire car c'ets pas facile à expliquer ...

J'aurais voulu savoir le principe de ce genre de formule matricielle et est ce qu'il faut toujours rafraichir avec CTRL+SHIFT+ENTREE pour que ça fonctionne ou que une fois lorsque l'on copie la formule ?

Et peut tu me détailler la formule pour que je progresse sur la programmation excel. Encore merci pour l'aide. Bonne journée à toi et à tous

8xlprat-v3.xlsx (35.59 Ko)

Salut !

J'ai essayé de résoudre ce problème de température non relevée .. mais je t'avoue que la je suis bloqué mais j'abandonne pas ! Et, peut être que quelqu'un qui gère les SOMMEPROD en formule matricielle passera par la et te donnera la solution optimale !

Quant aux formules matricielles, elles permettent :

  • d'utiliser des fonctions qui s'applique en principe que sur des cellules et non des plages de cellules;
  • de combiner deux fonctions de manière complémentaire (dans ma formule MAX & SI);
  • et d'ajouter des conditions, d'augmenter le nombre de calculs fait pas la formules avec des "arguments matricielle".

Une fois que tu l'a validé avec CTRL + SHIFT + ENTRÉE tu peux la recopier et elle sera toujours validée en tant que telle. Mais, à chaque modification tu doit la valider ainsi.

Pour ma formule :

=SOMME.SI.ENS(P$4:P$36;$A$4:$A$36;MAX(SI($B$4:$B$36=$B42;$A$4:$A$36));$B$4:$B$36;$B42)

SOMME.SI.ENS = Somme à plusieurs conditions | Je me suis dit, je vais faire la somme de la température la plus récente appartenant au local correspondant, tout en sachant qu'au final sa ferait la somme que d'une seule valeur.

P$4:P$36 = Plage de la somme (ou va être récupéré la valeur finale);

$A$4:$A$36 = Plage du premier critère;

MAX(SI($B$4:$B$36=$B42;$A$4:$A$36)) = Premier critère | La valeur max des dates; en tenant compte du local pour lequel on réalise la recherche ($B42 = local 1) | Cette formule va me renvoyé la date la plus récente pour le local 1 qui servira alors de critère pour la SOMME.SI.ENS.

$B$4:$B$36;$B42 = Deuxième critère | En écrivant le passage précédent je me demande si la formule ne fonctionne pas sans ce critère ? Tu l'as compris il s'agit de tenir compte du local.

J'espère avoir était clair ^^; je regarderai ton fichier quand j'aurai un peu plus de temps mais quelqu'un va t'aider sinon entre temps OU peut être que tu trouvera la solution !

Cdlt,

Re,

J'étais en train de t'écrire pour te dire que j'avais échoué à moitié mais j'ai finalement réussi !

Voilà ton fichier :

23xlprat-28v3-29.xlsx (36.85 Ko)

C'étais plus simple que je ne le croyais mais assez dur pour me faire tourner en rond !

La formule en T42 :

=SOMME.SI.ENS(T$4:T$36;$A$4:$A$36;MAX(($B$4:$B$36=$B42)*($A$4:$A$36)*(T$4:T$36<>""));$B$4:$B$36;$B42)

Donc j'ai gardé la même formule, il fait la somme des températures pour la date la plus récente (ici le MAX), et pour le local 1.

Le MAX se voit attribuer plusieurs conditions faut que se soit le local 1 et que la température soit renseigné donc différente de "rien".

Cdlt,

Rebonjour,

Avec l'explication du principe d'une formule matricielle et le détail de ta formule j'ai compris comment t'avais procédé pour ton découpage, je t'en remercie.

=> Et effectivement sans la dernière partie cela fonctionne aussi donc on peux la supprimer ou elle a tout de même son utilité ?

Cela m'a permis de réussir à la modifier pour faire similaire avec la T°C Max

=> Mais j'ai un loupé à travailler quand il y a plusieurs mesures identiques

=> Et avec cette formule, cette fois cela fontionne quand toutes les cellules ne sont pas vide (car la plage de la somme contient des vides comparé à celle des dates qui elle est toujours remplie car utilisées pour d'autres mesures).

=> Donc en fait, il faut que j'essaye d'y inclure une condition "non vide" car si l'on supprime les dates des cellules ou il n'y a pas de valeurs alors ta formule initiale fonctionne impect

Et pour le T° Min aussi j'ai tenté mais cela ne fonctionne pas à tous les coup, ça fait comme pour la température la plus récente

=> Il faut que j'y regarde aussi car avec la T°C Max ça fonctionne avec les vides donc là je pige pas tout

Puis après je me lance dans la T°C Moy, la j'ai tenté et je bloque, j'arrive pas à mettre en 2ème critère le fait de diviser par le nombre de cellule remplie du local 1 ou du local 2.

Si j'arrive à avancer j'indiquerais ce que j'ai réussi à faire mais bon j'ai galéré un bon bout de la journée donc si tu as d'autres idées n'hésites pas ainsi que d'autres, bien entendu, je suis preneur

Encore merci. Bonne journée tous

3xlprat-v4.xlsx (35.25 Ko)

Re,

Dans le deuxième fichier que je t'ai envoyé la formule fonctionne parfaitement, cependant la dernière partie est indispensable sinon si tu as 2 relevé à la même date et, que celle ci correspond à la plus récente pour lequel une température est renseignée, un pour le local 1 et un autre pour le local 2 sa te fera la somme des deux températures.

=SOMME.SI.ENS(T$4:T$36;$A$4:$A$36;MAX(($B$4:$B$36=$B42)*($A$4:$A$36)*(T$4:T$36<>""));$B$4:$B$36;$B42) = 26°

=SOMME.SI.ENS(T$4:T$36;$A$4:$A$36;MAX(($B$4:$B$36=$B42)*($A$4:$A$36)*(T$4:T$36<>"")) = 51 °

Enfait la formule donne sa :

=SOMME.SI.ENS(SOMME_PLAGE ; Plage critère 1; critére 1; plage critère 2; critère 2)

= SOMME.SI.ENS(Température ; Date doit être = date la plus récente ou une température à été relevé pour le local 1; Local doit être = 1)

Ma formule fonctionne tu n'a pas besoin de l'adapter ou quoi que ce soit. Pour la moyenne, tu peut utiliser la MOYENNE.SI() sans validation matricielle.

Cdlt,

Bonjour VH_AE,

Super cette nouvelle formule, je vois que tu lâche rien dans ta persévérence, bravo ça fontionne impéc

J'ai essayé de comprendre ta formule et je ne conaissais pas <>"" et tu m'a perdu avec *($A$4:$A$36) placé avant *(U$4:U$36<>"")

J'ai tenté d'adapter ta nouvelle formule pour les T°C max/min mais cela fait comme ce que tu précisait avec la somme des T°C identiques donc je n'ai pas réussi.

Je pensais y diviser ta formule au nombre de valeurs identiques max/min associées au local concerné mais en vain pourtant je pensais que ça aurait fonctionné.

J'ai tenté avec au début avec ça mais ça faisant l'addition des sommes identiques :

=SOMME.SI.ENS(U$4:U$36;$U$4:$U$36;MAX(SI($B$4:$B$36=$B46;$U$4:$U$36));$B$4:$B$36;$B46)

=SOMME.SI.ENS(U$4:U$36;$U$4:$U$36;MAX(($B$4:$B$36=$B46)*($U$4:$U$36)*(U$4:U$36<>""));$B$4:$B$36;$B462)

Puis après comme ceci :

=(SOMME.SI.ENS(U$4:U$36;$U$4:$U$36;MAX(SI($B$4:$B$36=$B46;$U$4:$U$36));$B$4:$B$36;$B46))/(NB.SI.ENS(U$4:U$36;$U$4:$U$36;MAX(SI($B$4:$B$36=$B46;$U$4:$U$36))))

=(SOMME.SI.ENS(U$4:U$36;U$4:U$36;MAX(SI($B$4:$B$36=$B46;$U$4:$U$36));$B$4:$B$36;$B46))/(NB.SI.ENS(U$4:U$36;MAX(SI($B$4:$B$36=$B46;$U$4:$U$36))))

mais en vain ça prend toutes les valeurs sans ce soucier du local alors qu'il est bien indiqué en critère

Et pour la T°C moy, je pesnais plutôt avec MOYENNE.SI.ENS en matricielle car il faut aussi tenir compte du local concerné ?

En tout cas, un grand merci, cela m'a permis de bien avancer avec ces valeurs les plus récente par local, c'est top merci beaucoup

7xlprat-v5.xlsx (38.61 Ko)

Re,

Ci-joint ton fichier modifié, contrôle les résultat mais je crois que tout fonctionne. Si tu as besoin d'explication tu me dit.

En matricielle, les critères tu peux les combiner avec "*", apparemment ^^.

Dit moi !

Cdlt,

12xlprat-28v5-29.xlsx (41.30 Ko)

Ouhouu ta pu regarder ?

Bonjour VH_AE,

J'ai pris connaissance de ton message ce matin et je te confirme que toutes tes formules ont l'air de fonctionner à merveille

Il n'y a plus d'addition de température en cas d'identique max ou min, c'est top, beau boulot !!

Je vois que tu as repris la même souche de formule <>"" pour faire les min/max/moy, moi je cherchais vraiment plus compliqué je m'embrouillais beaucoup trop mais j'aurais pas pensé faire si simple avec MAX.SI ou MIN.SI.

Que veux dire exactement cet extrait de formule ? <>""

Donc en fait le "*" c'est pour séparer différents critères quand tu en met plusieurs c'est bien cela alors, je mettais des ";" comme les formules traditionelles ...

Je te remercie sincèrement pour ton aide, ça répond pleinement à mes attentes voir plus qu'à mon début, un grand merci à toi

Yo,

J'attendais ton retour sa fait longtemps que je cherche a apprivoiser SOMMEPROD en matricielle. Oui en fait tu multiplie les critères car la formule matricielle va renvoyer la valeur 1 pour chaque cellule qui va remplir le critère. Mais puisqu'il y'a plusieurs critère et qu'une seule possibilité de résultat sa va renvoyer 1*1*1*1*Température ^^. (Je crois que c'est ça) Ahah.

le <>"" (Différent de rien) signifie que la cellule ne doit pas être vide ! Pour ne pas prendre en compte les cellules ou aucune valeur à été renseigné.

De rien et merci à toi aussi se fut un beau cas pratique

Hé bien félicitation si t'essayais de l'apprivoiser c'est maintenant chose faite

Entendu pour les critères multiples en matricielle avec le "*" et pour le différent de rien <>""

Oui un beau cas spécifique, j'ai d'autres projet pour évoluer le travail en cours mais ça ne pourra pas être réalisé avec des formules, il faudra passer en macro mais pas tout de suite car avec ta précieuse aide, je vais pouvoir avancer dans mes analyses de température vis à vis d'autres critères : taux de pannes de matériels vis à vis d'une cartographie de la température des locaux associé à l'emplacement de moyen de ventilation pour distinguer les flux d'air de soufflage/extraction et l'impact de la température sur le matériel

Encore merci pour ton aide dans le raisonnement excel et bonne continuation à toi

Rechercher des sujets similaires à "formule recopier ligne condition"