Signaler

Recherche de données dans une même colonne avec condition [Résolu]

Posez votre question Ambrita83 6Messages postés lundi 20 mars 2017Date d'inscription 7 juin 2017 Dernière intervention - Dernière réponse le 7 juin 2017 à 18:36 par Vaucluse
Bonjour à tous,

Je bloque sur la recherche d'une formule depuis plusieurs jours (j'ai même tenté via un TCD), sur un fichier de rapprochement d'entrées et sorties de stocks entre plusieurs magasins.
Après extraction des données de l'ERP (magasin concerné, commentaires et dates du mouvement, valeur en positif ou négatif selon si c'est une entrée ou une sortie).

Mon fichier est construit ainsi:

colonne C : concaténation de commentaire, date et montant en valeur absolue (car cela permet d'avoir une valeur similaire pour le rapprochement)

colonne F : nom du magasin concerné par l'entrée ou sortie de stock

colonne V : le montant (en négatif ou en positif)

Je souhaiterais dans la colonne H faire apparaître le nom du magasin qui aura l'entrée de stock correspondant à la sortie du magasin en colonne F (ou l'inverse).


Exemple:
Ligne 1:
Colonne C : connecteur40269151,78
Colonne F : Marseille
Colonne V: 151,78

Ligne 2:
Colonne C : connecteur40269151,78
Colonne F : Paris
Colonne V: -151,78

Je souhaite faire apparaître en colonne F, Paris pour la ligne 1 et Marseille pour la ligne 2.

Quelqu'un aurait une idée, j'ai tenté avec des recherchev ou index equiv mais je sèche?!!

Merci d'avance!
Afficher la suite 
Utile
+0
plus moins
Bonjour
un peu touffu tout ça, et pas facile à reconstituer avec ce que vous nous écrivez là
pouvez vous déposer un modèle (en bidonnant les infos si besoin)
avec quelques explications ici:
http://www.cjoint.com
et revenir coller ici le lien créé sur le site
à vous lire
crdlmnt
Ambrita83 6Messages postés lundi 20 mars 2017Date d'inscription 7 juin 2017 Dernière intervention - 7 juin 2017 à 15:44
C'est vrai que c'est compliqué à expliquer.
D'autant plus que j'ai fait une erreur dans ma demande: les données que je souhaite faire apparaître automatiquement se trouveront en colonne H.

Voici le lien pour mon fichier modèle:

http://www.cjoint.com/c/GFhnQM8OazU

Merci !
Répondre
Donnez votre avis
Utile
+0
plus moins
Re
pas sur d'avoir compris, mais voyez ici
attention la formule est matricielle, elle doit être entrée avec la touche enter en maintenant les touches ctrl et shift enfoncées
(elle s'affiche automatiquement entre accolades dans la barre de formule
elle se réfère en fait au code en A et au texte cédant si G con tient receveur, et receveur si G co tient cédant
Notez que cette formule est assez lourde en capacité et qu'il est recommandé de limiter les champs de recherche au nombres de lignes utiles (évitez les A:A etc..mais des adresses avec N° de ligne)
et bien entendu, on suppose que les codes en A n'apparaissent qu'une fois sous chaque conditions en G

http://www.cjoint.com/c/GFhowLoTwDj

revenez si ce n'est pas ce que vous cherchez
crdlmnt

Ambrita83 6Messages postés lundi 20 mars 2017Date d'inscription 7 juin 2017 Dernière intervention - 7 juin 2017 à 17:29
Merci ça a l'air de marcher!

J'avais tenté en dernier lieu la formule:
=SI(G4="receveur";INDEX($F$4:$F$21;SOMMEPROD((C4=$C$4:$C$21)*($G$4:$G$21="cédant")*LIGNE($G$4:$G$21))-3);INDEX($F$4:$F$21;SOMMEPROD((C4=$C$4:$C$21)*($G$4:$G$21="receveur")*LIGNE($G$4:$G$21))-3))

Mais le résultat n'était pas toujours bon...

Merci encore pour votre aide précieuse!
Répondre
Vaucluse 19762Messages postés lundi 23 juillet 2007Date d'inscription ContributeurStatut 20 juin 2017 Dernière intervention - 7 juin 2017 à 18:36
Pour info avec SOMMEPROD, qui ressort dans ce cas le N°de ligne, mieux vaut commencer le champ de INDEXen ligne 1, pour éviter les valeurs de corrections, c'est plus sur:
dans votre cas, celle ci devrait fonctionner:
=INDEX($F$1:$F$21;SOMMEPROD(($C$4:$C$21=C4)*($G$4:$G$21=SI(G4="receveur";"cédant";"receveur"))*(LIGNE($A$4:$A$21))))
bonne route
crdlmnt
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !