Problème fonction RECHERCHEV dans EXCEL
Résolu
Grainedetoile
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
shakyamuni22 -
shakyamuni22 -
Bonjou à toutes et à tous...
Cela fait déjà un bon moment que je vous lis, et n'ai jamais encore eu l'occasion de poster ici. Je commence par un appel à tous les vrais experts excel, parce que là, je sèche. J'espère pouvoir à mon tour donner des tuyaux par la suite!
Alors voilà : j'utilise la formule suivante =RECHERCHEV(JOUR(A1);octobre;3;FAUX)
dans A1, il y a =aujourdhui()
En clair, je recherche dans la table que j'ai appelé "octobre" la valeur du jour actuel, et renvoie la valeur correspondante sur la même ligne dans la troisième colonne de la table.
Impec, ça marche.
Là où ça se complique, c'est que je souhaite automatiser tout ça, et ne plus taper le mot octobre à la main.
J'ai essayé plein de trucs, je vous livre le dernier en date...
je me suis créée une table "year" qui contient les numéros des mois et les mois en lettre.
je retourne "octobre" en utilisant =RECHERCHEV(MOIS(A1);year;2;FAUX)
ça marche toujours
Mais si j'utilise la fomule =RECHERCHEV(JOUR(A1);RECHERCHEV(MOIS(A1);year;2;FAUX);3;FAUX) ça ne marche plus !
Pourtant, même en décomposant tout, je ne comprends pas. Je n'arrive pas à mettre en évidence un conflit de type, et j'y perds mon latin. Tant que octobre est entré à la main, ça marche. Mais s'il n'est pas tapé directement dans la formule, il ya toujours erreur.
Qui aurait une explication? (une solution serait encore mieux ;-)) Merci
Grainedetoile
Cela fait déjà un bon moment que je vous lis, et n'ai jamais encore eu l'occasion de poster ici. Je commence par un appel à tous les vrais experts excel, parce que là, je sèche. J'espère pouvoir à mon tour donner des tuyaux par la suite!
Alors voilà : j'utilise la formule suivante =RECHERCHEV(JOUR(A1);octobre;3;FAUX)
dans A1, il y a =aujourdhui()
En clair, je recherche dans la table que j'ai appelé "octobre" la valeur du jour actuel, et renvoie la valeur correspondante sur la même ligne dans la troisième colonne de la table.
Impec, ça marche.
Là où ça se complique, c'est que je souhaite automatiser tout ça, et ne plus taper le mot octobre à la main.
J'ai essayé plein de trucs, je vous livre le dernier en date...
je me suis créée une table "year" qui contient les numéros des mois et les mois en lettre.
je retourne "octobre" en utilisant =RECHERCHEV(MOIS(A1);year;2;FAUX)
ça marche toujours
Mais si j'utilise la fomule =RECHERCHEV(JOUR(A1);RECHERCHEV(MOIS(A1);year;2;FAUX);3;FAUX) ça ne marche plus !
Pourtant, même en décomposant tout, je ne comprends pas. Je n'arrive pas à mettre en évidence un conflit de type, et j'y perds mon latin. Tant que octobre est entré à la main, ça marche. Mais s'il n'est pas tapé directement dans la formule, il ya toujours erreur.
Qui aurait une explication? (une solution serait encore mieux ;-)) Merci
Grainedetoile
A voir également:
- Problème fonction RECHERCHEV dans EXCEL
- Fonction si et excel - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Fonction moyenne excel - Guide
- Déplacer colonne excel - Guide
11 réponses
en combinant INDIRECT et DECALER ça a l'air de marcher
=RECHERCHEV(JOUR($A$1);DECALER(INDIRECT(RECHERCHEV(MOIS(A1);year;2;FAUX));0;0);3;FAUX)
Je te laisse tester de façon plus exhaustive
Mais utiliser 2-3 cellules serait plus clair ;-)
eric
=RECHERCHEV(JOUR($A$1);DECALER(INDIRECT(RECHERCHEV(MOIS(A1);year;2;FAUX));0;0);3;FAUX)
Je te laisse tester de façon plus exhaustive
Mais utiliser 2-3 cellules serait plus clair ;-)
eric
En combinant les deux (decaler et indirect) ça marche...
je vous livre la formule brute finale
=RECHERCHEV(JOUR(G38);DECALER(INDIRECT(RECHERCHEV(MOIS(G38);B37:C39;2;FAUX));0;0;30;3);3;FAUX)
Merci !
je vous livre la formule brute finale
=RECHERCHEV(JOUR(G38);DECALER(INDIRECT(RECHERCHEV(MOIS(G38);B37:C39;2;FAUX));0;0;30;3);3;FAUX)
Merci !
Attention, tu forces la taille de ta plage à 30 lignes et 3 colonnes avec ...;30;3) (ce qui n'évoluera plus même si tu modifies la plage de ta reference 'octobre'). Ces argument sont optionnels.
Regarde la formule en 6
eric
Regarde la formule en 6
eric
bonjour
En clair, je recherche dans la table que j'ai appelé "octobre" la valeur du jour actuel
Je suppose que c'est une plage nommée ?
Mais si j'utilise la fomule =RECHERCHEV(JOUR(A1);RECHERCHEV(MOIS(A1);year;2;FAUX);3;FAUX) ça ne marche plus !
Ta formule ne peux pas te permettre de trouver une plage "nommée"
Tu as utilisé des noms de mois pour nommer tes plage et ta formule avec year ne te donne que des valeurs de cellule.
Si l'explication n'oriente pas assez ta recherche, précise ton interrogation.
En clair, je recherche dans la table que j'ai appelé "octobre" la valeur du jour actuel
Je suppose que c'est une plage nommée ?
Mais si j'utilise la fomule =RECHERCHEV(JOUR(A1);RECHERCHEV(MOIS(A1);year;2;FAUX);3;FAUX) ça ne marche plus !
Ta formule ne peux pas te permettre de trouver une plage "nommée"
Tu as utilisé des noms de mois pour nommer tes plage et ta formule avec year ne te donne que des valeurs de cellule.
Si l'explication n'oriente pas assez ta recherche, précise ton interrogation.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci de ta réponse qui a été sacrément rapide
OK, alors comment fait on pour qu'une valeur de cellule (qui est un texte) devienne un nom de plage(qui est un texte aussi, non?)
OK, alors comment fait on pour qu'une valeur de cellule (qui est un texte) devienne un nom de plage(qui est un texte aussi, non?)
Bonjour,
INDIRECT() est sensé fonctionner avec un nom défini comme référence. Mais je t'avoue que je n'ai pas testé avec ta formule.
Ou sinon essayer de combiner avec DECALER(ref;0;0)
Tu nous diras... :-)
eric
INDIRECT() est sensé fonctionner avec un nom défini comme référence. Mais je t'avoue que je n'ai pas testé avec ta formule.
Ou sinon essayer de combiner avec DECALER(ref;0;0)
Tu nous diras... :-)
eric
bonne idée, mais ça marche pas...
INDIRECT semble marcher pour une cellule mais pas pour une plage de cellules ;-(
Merci quand même!
INDIRECT semble marcher pour une cellule mais pas pour une plage de cellules ;-(
Merci quand même!
et DECALER(ref;0;0) ne passe pas non plus ? lui retourne une plage, reste à voir s'il converti bien ton nom
Bonjour,
je ne suis pas un pro d'excel, je débute
j'ai construit un tableau de personnels ou dans une colonne j'ai précisé au regar du nom, prénom, etc... s'il s'agit d'un homme ou femme. Dans une autre colonne également j'ai mis son métier (macon, plombier, etc.).
Je souhaite maintenant pouvoir mettre une formule qui puisse fairte la synthèse suivante:
total des hommes dont le métier est plombier
total des femmes dont le métier est plombier
ainsi de suite par métier et pourquoi pas ensuite par ville
Je ne sais pas l'écrire J'ai essayé la fonction NB.SI qui ne fonctionne que pour une condition.
si quelqu'un peut m'aider je lui en serait reconnaissant
A WITT
je ne suis pas un pro d'excel, je débute
j'ai construit un tableau de personnels ou dans une colonne j'ai précisé au regar du nom, prénom, etc... s'il s'agit d'un homme ou femme. Dans une autre colonne également j'ai mis son métier (macon, plombier, etc.).
Je souhaite maintenant pouvoir mettre une formule qui puisse fairte la synthèse suivante:
total des hommes dont le métier est plombier
total des femmes dont le métier est plombier
ainsi de suite par métier et pourquoi pas ensuite par ville
Je ne sais pas l'écrire J'ai essayé la fonction NB.SI qui ne fonctionne que pour une condition.
si quelqu'un peut m'aider je lui en serait reconnaissant
A WITT
Bonsoir,
Si sexe en D2:D10 et metier en E2:E10
total femme plombier: =SOMMEPROD(($D$2:$D$10="F")*1;($E$2:$E$10="plombier")*1)
total homme plombier: =SOMMEPROD(($D$2:$D$10="H")*1;($E$2:$E$10="plombier")*1)
etc
sommeprod fait le produit des matrices ligne à ligne et ensuite effectue la somme de tous les résultats.
Ex:
Pour la 1ere formule (pour F plombier) :
si tu as F sur la ligne => VRAI qui multiplié par 1 => 1
si tu as H sur la ligne => FAUX qui multiplié par 1 => 0
Pour le test sur plombier pareil, si les deux sont plombiers => VRAI *1 => 1
tu multiplies les valeurs ligne à ligne:
1 * 1 = 1
0 * 1 = 0
somme: 1
eric
Si sexe en D2:D10 et metier en E2:E10
total femme plombier: =SOMMEPROD(($D$2:$D$10="F")*1;($E$2:$E$10="plombier")*1)
total homme plombier: =SOMMEPROD(($D$2:$D$10="H")*1;($E$2:$E$10="plombier")*1)
etc
sommeprod fait le produit des matrices ligne à ligne et ensuite effectue la somme de tous les résultats.
Ex:
Pour la 1ere formule (pour F plombier) :
si tu as F sur la ligne => VRAI qui multiplié par 1 => 1
si tu as H sur la ligne => FAUX qui multiplié par 1 => 0
Pour le test sur plombier pareil, si les deux sont plombiers => VRAI *1 => 1
tu multiplies les valeurs ligne à ligne:
1 * 1 = 1
0 * 1 = 0
somme: 1
eric
Bonjour,
On va dire que je débute avec excel. Jai de plus, jamais utilisé ce forum.
Voici mon probleme:
J´ai un tableau-base de données sur une feuille de calcul.
Avec comme nom de colonne:
groupe de produit; marque; region; prix.
Je créée sur une autre feuille excel, une sorte de formulaire. L´utilisateur doit choisir un groupe de produit, une marque, une region. Et je souhaite qu´il puisse voir directement le prix correspondant. Pour qu´il entre ses données, j´ai créée des listes. Ma question c´est :
quelle formule rentrer au niveau de la case prix dans mon formulaire?
je pensais utiliserla fonction RECHERCHEV. Mais enfait cette formule renvoit à la colonne que l´on souhaite mais utilise qu´un seul critère de recherche (la première colonne du tableau).
Or moi j´ai 3 occurences.
Comment faire? Dois-je utiliser une macro?
Je sais pas du tout si c´est clair. Nhesitez pas a demander. Merci.
On va dire que je débute avec excel. Jai de plus, jamais utilisé ce forum.
Voici mon probleme:
J´ai un tableau-base de données sur une feuille de calcul.
Avec comme nom de colonne:
groupe de produit; marque; region; prix.
Je créée sur une autre feuille excel, une sorte de formulaire. L´utilisateur doit choisir un groupe de produit, une marque, une region. Et je souhaite qu´il puisse voir directement le prix correspondant. Pour qu´il entre ses données, j´ai créée des listes. Ma question c´est :
quelle formule rentrer au niveau de la case prix dans mon formulaire?
je pensais utiliserla fonction RECHERCHEV. Mais enfait cette formule renvoit à la colonne que l´on souhaite mais utilise qu´un seul critère de recherche (la première colonne du tableau).
Or moi j´ai 3 occurences.
Comment faire? Dois-je utiliser une macro?
Je sais pas du tout si c´est clair. Nhesitez pas a demander. Merci.