OVH Cloud OVH Cloud

Index ou Equiv ou les deux ?

9 réponses
Avatar
Pounet95
Bonjour à tous les EXCELLENTS excelliens,
XL2000 XP Pro

Feuille Agents
En colonne B, une liste d'agents
En colonne C, pour chacun de ces agents un code Taux horaire

Feuille TauxH
En colonne A, le code Taux horaire
En colonne B, le montant

Feuille Imputations
Colonne E, l'agent (idem feuille Agents colonne B )
Colonne F : je voudrais récupérer le montant

Je crois qu'une formule utilisant INDEX et/ou EQUIV devrait faire l'affaire.
Mais je ne sais pas m'en servir.
Merci de VOS formules qui ( j'en suis sûr ), entre 2 Pfffff ne vont pas
tarder de jaillir.

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

9 réponses

Avatar
papou
Bonjour
=INDEX(Montant;EQUIV(INDEX(CodeTH;EQUIV(A2;NomAgent;1));TauxH!A2:A20;1))
Où :
- Montant est un nom défini faisant référence à la plage des montants en
colonne B sur la feuille TauxH
- CodeTH est un nom défini faisant référence à la plage des codes taux
horaire en colonne C de la feuille Agents
- NomAgent est un nom défini faisant référence à la plage des noms d'agents
en colonne B de la feuille Agents

Mais il aurait été préférable de regrouper les feuilles Agents et TauxH pour
simplifier la formule finale ;-)

Cordialement
Pascal

"Pounet95" a écrit dans le message de news:
%
Bonjour à tous les EXCELLENTS excelliens,
XL2000 XP Pro

Feuille Agents
En colonne B, une liste d'agents
En colonne C, pour chacun de ces agents un code Taux horaire

Feuille TauxH
En colonne A, le code Taux horaire
En colonne B, le montant

Feuille Imputations
Colonne E, l'agent (idem feuille Agents colonne B )
Colonne F : je voudrais récupérer le montant

Je crois qu'une formule utilisant INDEX et/ou EQUIV devrait faire
l'affaire.
Mais je ne sais pas m'en servir.
Merci de VOS formules qui ( j'en suis sûr ), entre 2 Pfffff ne vont pas
tarder de jaillir.

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)



Avatar
AV
Un exemple là :
http://cjoint.com/?bxkwxcixr6

AV
Avatar
Pounet95
Merci Pascal,
1. Je copie là où il faut
2. Je tente de comprendre
3 Je reviens dire si je m'en suis sorti
A+

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:
O$
Bonjour
=INDEX(Montant;EQUIV(INDEX(CodeTH;EQUIV(A2;NomAgent;1));TauxH!A2:A20;1))
Où :
- Montant est un nom défini faisant référence à la plage des montants en
colonne B sur la feuille TauxH
- CodeTH est un nom défini faisant référence à la plage des codes taux
horaire en colonne C de la feuille Agents
- NomAgent est un nom défini faisant référence à la plage des noms
d'agents en colonne B de la feuille Agents

Mais il aurait été préférable de regrouper les feuilles Agents et TauxH
pour simplifier la formule finale ;-)

Cordialement
Pascal

"Pounet95" a écrit dans le message de news:
%
Bonjour à tous les EXCELLENTS excelliens,
XL2000 XP Pro

Feuille Agents
En colonne B, une liste d'agents
En colonne C, pour chacun de ces agents un code Taux horaire

Feuille TauxH
En colonne A, le code Taux horaire
En colonne B, le montant

Feuille Imputations
Colonne E, l'agent (idem feuille Agents colonne B )
Colonne F : je voudrais récupérer le montant

Je crois qu'une formule utilisant INDEX et/ou EQUIV devrait faire
l'affaire.
Mais je ne sais pas m'en servir.
Merci de VOS formules qui ( j'en suis sûr ), entre 2 Pfffff ne vont pas
tarder de jaillir.

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)







Avatar
Pounet95
Bonjour Alain,
Pffff ( marque déposée ) trop facile pour toi ...;o)))
Merci et je te fais la même réponse qu'à Papou
A+

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"AV" a écrit dans le message de news:
OhR%
Un exemple là :
http://cjoint.com/?bxkwxcixr6

AV




Avatar
Michel Gaboly
Bonjour,

Autre solution :

RECHERCHEV() a mauvaise presse sur le forum. La raison en est
probablement que par défaut, il est nécessaire que les éléments en
première colonne du tableau de données (ici les agents en colonne B de
la feuille agents, et les taux en colonne A de la feuille TauxH) soient
triés en ordre croissant.

Cette limitation est en effet dangereuse : risque d'oubli de cette
limite et risque que l'ordre cesse d'être croissant si des modifs sont
faites ultérieurement.

Cependant, il existe un 4ème argument optionnel qui, avec la valeur
FAUX, supprime la nécessité d'un ordre croissant.

Dans ces conditions, on peut écrire :

=RECHERCHEV(RECHERCHEV(E2;Agents;2;FAUX);Taux;2;FAUX)
Avatar
Michel Gaboly
Encore tronqué ((

Fin du message :



"Agents" représente la plage contenant les agents et les taux
applicables (en col. B et C de la feuille Agents)

et

Taux représente la plage contenant les taux et les montants
correspondants (en col. A et B de la feuille TauxH).

Ceci dit, de manière générale, l'association d'EQUIV() et d'INDEX() est
plus universelle.

Voilà ;-))


Bonjour,

Autre solution :

RECHERCHEV() a mauvaise presse sur le forum. La raison en est
probablement que par défaut, il est nécessaire que les éléments en
première colonne du tableau de données (ici les agents en colonne B de
la feuille agents, et les taux en colonne A de la feuille TauxH) soient
triés en ordre croissant.

Cette limitation est en effet dangereuse : risque d'oubli de cette
limite et risque que l'ordre cesse d'être croissant si des modifs sont
faites ultérieurement.

Cependant, il existe un 4ème argument optionnel qui, avec la valeur
FAUX, supprime la nécessité d'un ordre croissant.

Dans ces conditions, on peut écrire :

=RECHERCHEV(RECHERCHEV(E2;Agents;2;FAUX);Taux;2;FAUX)



--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
Pounet95
Bonjour Michel,
Effectivement, je manie plus facilement cette fonction que celles
comme INDEX ou EQUIV. Je la manie même depuis si longtemps
que j'en avais oublié que le 4ème paramètre était optionnel
(je l'ai toujours indiqué !).
Et c'est sûrement la raison pour laquelle, je n'ai pas prêté attention
plus que ça à l'ordre comme je n'ai jamais prêté d'avantage attention
à la longueur (nbre de lignes) de la plage de référence car systématiquement
je l'applique aux colonnes.
Mais là, tu me mets le doute car n'ayant jamais eu de retour négatif sur
son utilisation, je me demande si ça ne tient pas du 'coup de bol'.
Quoique sur la durée ....?

Et sur ce coup je n'ai même pas pensé à Recherche(Recherche :o(((
Merci et bonne journée

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Michel Gaboly" a écrit dans le message de news:

Bonjour,

Autre solution :

RECHERCHEV() a mauvaise presse sur le forum. La raison en est probablement
que par défaut, il est nécessaire que les éléments en première colonne du
tableau de données (ici les agents en colonne B de la feuille agents, et
les taux en colonne A de la feuille TauxH) soient triés en ordre
croissant.

Cette limitation est en effet dangereuse : risque d'oubli de cette limite
et risque que l'ordre cesse d'être croissant si des modifs sont faites
ultérieurement.

Cependant, il existe un 4ème argument optionnel qui, avec la valeur FAUX,
supprime la nécessité d'un ordre croissant.

Dans ces conditions, on peut écrire :

=RECHERCHEV(RECHERCHEV(E2;Agents;2;FAUX);Taux;2;FAUX)


Avatar
Michel Gaboly
Re,

Voici un exemple dans les cellules A1 à B3 :

A 1
C 2
B 3

=RECHERCHE("B";A1:B3)
Avatar
Michel Gaboly
Message encore troqué ;-((((

Message complet ici : http://www.gaboly.com/MPFE/RECHERCHEV.html

Vais chercher un autre lecteur de News que Thunderbird

Re,

Voici un exemple dans les cellules A1 à B3 :

A 1
C 2
B 3

=RECHERCHE("B";A1:B3)



--
Cordialement,

Michel Gaboly
www.gaboly.com