Rechercher correspondance valeur dans un tableau
elbarto56
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Voici mon besoin :
J'ai un tableau sous cette forme :

Je voudrais insérer une colonne à droite (E) qui me donne pour chaque ligne, le délai écoulé entre l'envoi du 1er indice d'un devis et la date de réception de la commande (qui corredpond au dernier indice envoyé)
Exemple : ligne 2 et 6, il s'agit du même devis, et la commande a été reçu sur l'indice B. Il faut donc qu'en E2 et E6, j'ai le même résutat, c'est à dire le délai écoulé entre le 18/01/18 (date envoi 1er indice) et le 28/02/18 (date réception commande)
J'espère avoir été suffisamment clair....
Voici mon besoin :
J'ai un tableau sous cette forme :
Je voudrais insérer une colonne à droite (E) qui me donne pour chaque ligne, le délai écoulé entre l'envoi du 1er indice d'un devis et la date de réception de la commande (qui corredpond au dernier indice envoyé)
Exemple : ligne 2 et 6, il s'agit du même devis, et la commande a été reçu sur l'indice B. Il faut donc qu'en E2 et E6, j'ai le même résutat, c'est à dire le délai écoulé entre le 18/01/18 (date envoi 1er indice) et le 28/02/18 (date réception commande)
J'espère avoir été suffisamment clair....
A voir également:
- Rechercher correspondance valeur dans un tableau
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Rechercher ou entrer l'adresse - Guide
- Imprimer un tableau excel - Guide
3 réponses
Re
je n'avais pas tout à fait percuté sur votre tableau
je pense que la proposition de mdo100 est adaptée,
A vous de nous dire ce que vous en tireZ
crdlmnt
je n'avais pas tout à fait percuté sur votre tableau
je pense que la proposition de mdo100 est adaptée,
A vous de nous dire ce que vous en tireZ
crdlmnt
Bonjour
essayez cette formule
attention, elle est matricielle et doit être entrée avec la touche enter en maintenant les touches ctrl et shift enfoncées
elle doit s'afficher automatiquement entre accolades dans la barre de formule
et elle est assez lourde, donc bien limiter les champs aux nombres de ligne utiles (dans l'exemple: ligne 2 à ligne 1000)
en E2 à tirer sur la hauteur:
=SI(D2="";"";D2-MIN(SI($A$2:$A$1000=A2);$B$2:$B$1000));"")
attention aux signes $ pour tirer la formule
crdlmnt
essayez cette formule
attention, elle est matricielle et doit être entrée avec la touche enter en maintenant les touches ctrl et shift enfoncées
elle doit s'afficher automatiquement entre accolades dans la barre de formule
et elle est assez lourde, donc bien limiter les champs aux nombres de ligne utiles (dans l'exemple: ligne 2 à ligne 1000)
en E2 à tirer sur la hauteur:
=SI(D2="";"";D2-MIN(SI($A$2:$A$1000=A2);$B$2:$B$1000));"")
attention aux signes $ pour tirer la formule
crdlmnt
Bonjour,
C'est normal que tu aies de 2 dates de réception sur une même commande (lignes 5 et 7) ?
Dans ce cas la formule de mdo te renvoie 2 délais ayant pour départ la 1ère date de devis.
S'il ne te faut qu'une seule date :
non matricielle, elle reste valable même si tu n'as qu'une seule date de réception bien sûr.
eric
PS : la prochaine fois fois dépose le fichier sur cjoint.com, ça évite de perdre du temps à le refaire.
C'est normal que tu aies de 2 dates de réception sur une même commande (lignes 5 et 7) ?
Dans ce cas la formule de mdo te renvoie 2 délais ayant pour départ la 1ère date de devis.
S'il ne te faut qu'une seule date :
=SI(ET(D2<>"";NB.SI($A$2:A2;A2)=NB.SI(A:A;A2));D2-INDEX(C:C;EQUIV(A2;A:A;0));"")
non matricielle, elle reste valable même si tu n'as qu'une seule date de réception bien sûr.
eric
PS : la prochaine fois fois dépose le fichier sur cjoint.com, ça évite de perdre du temps à le refaire.
Si il y a bien une chose que je ne maîtrise pas encore totalement sur Excel (sans parler du VBA évidemment, on en apprend toujours) c'est les fonctions matricielles, mais j'ai quelques questions concernant les différentes propositions.
La condition $A$2:$A$7=A2 ne sera pas toujours égale à 1 puisque la valeur est au moins une fois dans la liste ? (sauf si il ne compte pas A2 dans $A$2:$A$7). Ne faut-il pas utiliser quelque chose comme If(($A$2:$A$7=A2)>1;...) ?
La question posée est de connaître le nombre de jours écoulés entre la première date émise du devis N° x dans la colonne "C" et la date de réception du devis N° x dans la colonne "D".
Donc peut importe le nombre de fois que le devis N° x apparaît dans la colonne "A". puisque ce qui compte c'est la date de réception.
Est-ce plus clair pour toi ?
Cordialement.
vous parlez d'utiliser IF... ça c'est pour la version anglaise.. dans la formule de mdo100, c'est le SI (french version) qui fait fonction et il y est bien!
crdlmnt
Concernant cette histoire de date de réception :
Ce que je ne comprends pas c'est à quoi sert SI($A$2:$A$7=A2; puisque cette formule sera toujours vraie. Je pourrais encore comprendre si c'est pour forcer la sortie du chiffre 1 et ensuite fait une multiplication, mais la je suis perdu. Quelle est l'utilité du si ?
Avez-vous également un lien vers un bon tuto pour les fonctions matricielles ? Puisque la majorité des tutos que je trouve ne vont pas assez loin et survole juste le sujet.
Merci
Sinon, il va vous ressortir le min de toute la liste de date
et c'est pour faire cette sélection que justement, la formule est matricielle