Addition de céllule de 2 colonnes différentes

Résolu/Fermé
pitive - 29 juil. 2012 à 14:44
 pitive - 29 juil. 2012 à 20:25
Bonjour,

J'ai créé un tableau ou dans la céllule J35, je dois additionner, une céllule qui se trouve en colonne J avant J35, (J34; J33 ou J32) avec la céllule I35.
Mon probléme c'est que suivant les données dans un cas J34, J33, J32 ne sera pas rempli donc il faudra faire J31+I35. Et dans d'autres cas tout sera rempli et il faudra faire J34+I35.
Y as-t-il une formule ou on additionne avec la dernière céllule rempli ?

Merci

A voir également:

2 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié par Vaucluse le 29/07/2012 à 15:05
Bonjour

si vos cellules sont remplies "à la suite", c'est à dire de J1 à J4 sans sauter de cellule:
en J35
=I35+INDEX(J31:J34;NB.SI(J31:J34;"<>0")
ou
=I35+INDEX(J31:J34;NB.SI(J31:J34;"<>
si vous avez des valeurs négatives.")

crdlmnt
ne sommes nous pas seuls à comprendre ce que l'on explique?
0
Tout d'abord merci de m'aider.
Mais ta formule de fonctionnde pas.
en effet :
J25, J26, J27,J28,J29 sont remplis.
J30, J31, J32, J33, J34 sont vide.
Donc J doit être égal à J29+I35 à savoir en effet que J29 est négatif.
Avec votre 1ere formule il m'additionne J25+I35. et non J29+i35

Votre 2 ème formule, il me "VALEUR"
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
29 juil. 2012 à 18:22
A priori vous ne dites pas tout....et c'est bien dommage pour ceux qui essaie de vous aider!

déjà vous parlez de J25 à J29 alors que votre premier message commence à J32!!!

tant qu'on y est on peut aussi vous demander si les cellules que vous dites vides contiennent ou non des formules et si oui quelles sont elles?

après ça, vous pourrez voir que sur le modèle joint, le système fonctionne correctement dans les conditions que vous avez données. Mais s'il y en a d'autres il serait temps de le dire!
voir de J25 à J35

mais bien sur si vous avez un champ plus grand il faut ajuster la formule!

https://www.cjoint.com/?BGDsveWPVLs
0
Je suis désolé je ne pensais pas que ca avait de l'importance que les céllules avait des formules.
Ci-joint mon tableau
http://cjoint.com/?BGDsLqxQehl

avec encore toutes mes excuses pour ce contre temps
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
29 juil. 2012 à 19:26
Pas de quoi être désolé, va on s'en remettra :-)

non seulement les cellules avec formules ne peuvent pas être considérées comme vide, mais selon votre tableau; ma proposition n'est pas applicable et il va falloir des infos complémentaires!!!!

1°) la liste des valeurs est elle à considérer depuis la ligne 21 ou depuis la ligne 23 ou pourquoi pas depuis la ligne 19?
2°) pourquoi la ligne 22 est elle sans valeur, peut elle recevoir une valeur de temps en temps?
3°) il y a t il d'autre cas ou des cellules sans valeur peuvent s'intercaler entre des cellules valorisées?

Parce que là, avec votre tableau, ça risque d'être plus compliqué que prévu!!D'où l'importance des réponses aux questions.

donc on attend les réponses.
à vous lire.
0
1/La formule est à prendre en compte depuis la ligne 21
2/ Non la ligne le 22 de recevra pas de valeur, juste pour une raison de présentation
3/Non, pas dans ce tableau, mais j'aimerais comprendre la formule car j'en aurait utilité dans d'autres tableaux.

Merci de ta patience
0
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 942
Modifié par Mytå le 29/07/2012 à 20:08
Salut le forum

Un essai avec :
(Recherche la dernière valeur numérique de la plage J22:J34)
=I35+RECHERCHEV(9^9;$J$22:$J$34;1)

Mytå
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié par Vaucluse le 29/07/2012 à 20:14
Ca semble fonctionner avec en J35

=I35+INDEX(J21:J34;15-NB.SI(J21:J34;""))
quelques explications:
la formule INDEX:
base du principe:
=INDEX(Champ;N° de ligne dans le champ;N° de colonne dans le champ)
ressort la valeur du champ au croisement des lignes et colonnes spécifiées

ici, INDEX ressort la valeur du champ J21:J34 sur la ligne du champ dont le rang est défini par l'ensemble NB.SI;
(le champ n'ayant qu'une colonne, il n'y a pas de besoin d'information colonne)

NB.SI(J21:J24;"") compte le nombre de cellules contenant le résultats ""
pour avoir le rang de la dernière cellule avec résultat il faut compter le nombre de cellule valorisées et rajouter un pour la ligne 22
le nombre total de cellule du champ est de 14
le nombre de cellule valorisées est donc obtenu avec: 14-NB.SI(J21:J34;"")
comme il faut rajouter la 22 on part de 15 au lieu de 14

le code
15-NB.SI(J21:J24;"") donne donc le range de la ligne à considérer dans le champ J21:J34 et renseigne donc le code INDEX

note: vous risquez des problèmes d'affichage #VALEUR avec ce que vous utilisez dans vos formules. Une formule de calcul ne peut pas s'appuyer sur un résultat ""' pour établir un résultat.
vous avez plusieurs solutions pour éviter ça
soit remplacer le "" par 0, lais cela vous interdit d'utiliser la valeur 0 comme valeur utile
soit écrire les formules avec un code d'élimination si le résultat est #VALEUR:
=SI(ESTERREUR(votre formule);"";votre formule)

j'espère avoir été clair , mais ce n'est pas toujours facile d'expliquer les combinaisons de formule

Bonne route
n'hésitez pas à revenir si besoins.
Bien cordialement
0