Fonction RECHERCHEX avec Excel365
Fermémikel831 Messages postés 200 Date d'inscription mardi 23 octobre 2012 Statut Membre Dernière intervention 14 février 2025 - 19 janv. 2024 à 06:34
- Fonction RECHERCHEX avec Excel365
- Fonction si et - Guide
- Fonction moyenne excel - Guide
- Fonction somme excel - Guide
- Fonction remplacer word - Guide
- Fonction miroir - Guide
18 réponses
Modifié le 9 janv. 2024 à 11:40
Hello,
Essaie :
=SIERREUR(EQUIVX(P4;G4:N4);0)
19 janv. 2024 à 06:34
Merci encore!
9 janv. 2024 à 09:53
Bonjour,
Ne serait-ce plutôt la fonction "EQUIVX" ou "EQUIV" pour obtenir ce résultat?
Bonne journée
9 janv. 2024 à 10:46
Merci pour ta réponse!
1) effectivement EQUIVX fonctionne! Mais si la valeur n'existe pas dans la zone de recherche, elle renvoie #N/A! Comment avoir 0 par exemple?
2) par contre je ne comprends toujours pas pourquoi RECHERCHEX ne me renvoie pas une valeur ?
9 janv. 2024 à 17:07
Bonjour
1) pour avoir 0, suis la proposition de Bigoudi
2) RECHERCHEX ne peux pas te retourner une valeur car tu n'indiques pas la plage du tableau renvoyé qui doit être soit la même que celle de la recherche recherche (G4:N4) cela renverra alors forcément 1 ! soit celle d'une autre plage (par exemple G2:N2) si dans G2:N2 tu avais 1, 2, 3, 4 etc, la formule renverrait alors 3
Mais comme te l'as conseillé cousinhub pour ce que tu veux obtenir c'est bien par EQUIV et non RECHERCHE qu'il faut passer puisque tu recherches non pas une valeur d'une cellule mais un rang
10 janv. 2024 à 13:38
bonjour, pour supprimer l'affichage "#N/A!"
il suffit de rajouter la fonction "sierreur" en début de formule !
9 janv. 2024 à 11:06
Re-,
Comme je n'aurai peut-être pas les termes exacts, je ne peux que te conseiller de lire l'aide sur cette fonction
Et en bas de page, un lien vers la fonction RECHERCHEX (XLOOKUP)
Bonnes lectures
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionModifié le 9 janv. 2024 à 19:43
Merci à tous pour vos réponses: ça fonctionne très bien pour ce petit test.
Maintenant, pour généraliser, si je cherche à savoir si p valeurs de la zone P4:T4 (ici 3 valeurs 1,2,3) sont toutes présentes dans la zone de n valeurs G4:N4 (ici 8 valeurs) est qu'il existe une formule Excel capable de trouver ce résultat ?
9 janv. 2024 à 19:26
re,
Essaie :
=SI(SOMME(--ESTERREUR(EQUIVX(FILTRE($P$4:$T$4;$P$4:$T$4<>"");$G$4:$N$4)))=0;"ok";"nok")
10 janv. 2024 à 08:41
Bonjour!
Fantastique! Je ne connaissais pas du tout cette fonction... ç'est exactement ce qu'il fallait. Merci pour ton aide efficace!
10 janv. 2024 à 10:05
Une dernière précision: à quoi servent les -- après somme( ???
10 janv. 2024 à 10:16
ou bien
=somme(nb.si(P4:T4;G4:N4)) ==> le nb de valeur de la plage P4:T4 presentes dans la plage G4:N4 (et inversement !)
Crdlmt
10 janv. 2024 à 16:18
=somme(nb.si(P4:T4;G4:N4))
nb.si(P4:T4;G4:N4) te renvoie une matrice de 1 et 0
https://www.cjoint.com/c/NAkpsOPauOY
Crdlmt
9 janv. 2024 à 19:26
Re-,
Que contiennent les cellules Q4 et S4?
Si elles sont vides (et que tu utilises 365), tu peux mettre cette formule :
=SOMME(NB.SI(G4:N4;P4:T4))
Bonne soirée
9 janv. 2024 à 21:13
Re,
Pour compléter NB.SI :
=SI(SOMME(NB.SI($G$4:$N$4;$P$4:$T$4))=NB($P$4:$T$4);"Ok";"Nok")
Modifié le 11 janv. 2024 à 04:33
Bonjour à tous!
Les deux techniques proposées avec la fonction filtre et avec la fonction NB.SI fonctionnent bien sur le cas simple présenté dans le 1er fichier Test.
Lorsque je passe dans ma situation réelle, cad: (ficher exemple: https://www.cjoint.com/c/NAldAZ7umq2)
1) j'ai une population test en colonnes G à N et plusieurs centaines de ligne
2) la zone de critère de recherche en colonne P à V
3) une zone de résultat comprenant 5 colonnes dans lesquelles j'ai les résultats pour la recherche de 4 valeurs ou 5 ou 6 etc...
Alors les formules ne renvoient plus les bon résultats ???
Je bataille depuis hier pour trouver mon erreur, mais à cette heure ci, je ne vois plus rien ... Help!!!
11 janv. 2024 à 09:35
Hello,
Dans la formule avec ESTERREUR, tu as mal placé les -- (à mettre avant ESTERREUR et non pas avant SOMME)
Dans la formule avec NB.Si ta plage de critères ne va que jusqu'à la colonne T en non pas V
11 janv. 2024 à 11:02
Bonjour!
Merci beaucoup pour tes corrections: j'avais probablement les yeux dans la brume...
Maintenant, dernière étape, si j'ajoute une colonne dans la zone de sélection, ici la colonne X ( https://www.cjoint.com/c/NAljVmCfySc ) je n'obtiens pas les résultats escomptés:
1) ligne 4, je devrais avoir ok dans tous les cas puisque {1,2,3,4} est inclus dans tous les cas dans la zone de critères P4:X4
2) ligne 5, je devrais avoir ok pour les sélections 5, 6 7,8 valeurs puisque {1,2,3,4} est inclus dans la zone de critère 5,6,7,8
3) etc ...
Quelle erreur ai-je commise?
Modifié le 11 janv. 2024 à 11:44
Re,
Au post #7 tu as dit :
je cherche à savoir si p valeurs de la zone P4:T4 (ici 3 valeurs 1,2,3) sont toutes présentes dans la zone de n valeurs G4:N4 (ici 8 valeurs)
Il faut donc que tous les critères soient présents dans la zone de recherche
Dans ton dernier fichier, en ligne 4, le critère de valeur 5 (X4) n'est pas présent dans la zone de recherche, et donc le résultat est nok
Précise plus finement ce que tu souhaites et explique la différence entre ligne 4 et 5 pour 4 valeurs
Modifié le 11 janv. 2024 à 17:13
Effectivement, j'ai utilisé l'expression mathématique "p parmi n" qui n'est peut être pas adaptée à mon cas. De plus en essayant de présenter des exemples simplifiés, je me suis planté dans les résultats attendus du fichier Test3
En fait, pour être plus clair, et si je nomme i le numéro de ligne, il faut que les 4 premières valeurs de la zone Pi:Xi soient incluses dans la zone:
1) Gi:Ji pour le résultat nommé "4 valeurs", soit ok ok ok ok ok en Z4:AD4
2) Gi:Ki pour le résultat nommé "5 valeurs", soit nok nok nok nok nok
3) Gi:Li pour le résultat nommé "6 valeurs", soit nok nok nok nok nok
4) Gi:Mi pour le résultat nommé "7 valeurs", soit nok nok nok nok nok
5) Gi:Ni pour le résultat nommé "8 valeurs", soit nok nok nok nok nok
Donc, à priori, il y a une erreur en Z4?
Mon exemple est mal choisi! Je peux en créer un autre si ce n'est pas clair...
Modifié le 11 janv. 2024 à 18:15
Pas facile de te suivre
Précise exactement pour chaque ligne de critères par ce que tu entends par les premières valeurs, ordre des cellules , ordre de valeurs croissantes, ... et donne les valeurs des critères pour chaque ligne
Mon exemple est mal choisi! Je peux en créer un autre si ce n'est pas clair... :
Bah oui on veut bien !
Modifié le 11 janv. 2024 à 20:23
Désolé , mais tu as raisons, tout est une question de conventions!
1) la zone Gi:Ni contient des valeurs de prévisions statistiques
* ligne 4, les quatre premières valeurs sont en G4:J4 soit "1 2 3 4", les 5 premières valeurs sont G4:K5 soit "1 2 3 4 5" et ainsi de suite...
*ligne 5, les quatre premières valeurs sont "1 2 13 3", les 5 premières valeurs sont "1 2 13 3 4", et ainsi de suite
* idem pour les lignes suivantes.
2) la zone Pi:Xi contient des valeurs réelles mesurées sur le terrain. Une campagne de mesure donne 4 à 8 mesures. Ici dans mon exemple, j'ai pris 5 mesures qui sont dans l'ordre:
* ligne 4: "1 2 3 4 5"
* ligne 5: "11 2 3 4 1"
etc... mais dans cette campagne de mesures, on ne tiendra compte que des 4 premières dans l'ordre indiqué.
L'objectif est de comparer les prévisions statistiques en Gi:Ni aux résultats expérimentaux en Pi:Gi en faisant plusieurs comparaisons: pour chaque ligne:
1) on compare les 4 premières valeurs statistiques Gi:Ji (l'ordre importe pas) aux quatre première valeurs mesurées situées en Pi:Vi
* en ligne 4 , on vérifie que les quatre valeurs G4:J4 "1 2 3 4" (l'ordre n'importe pas) sont contenues dans les quatre premières mesures P4:V4 "1 2 3 4 " et on dit ok en colonne Z4 ("4 valeurs") puisque il y a correspondance. On vérifie ensuite les cinq valeurs G4:K4 "1 2 3 4 5" à P4:V4 en on aura ok en AA4 ("5 valeurs") car "1 2 3 4" est inclus dans la zone P1: P4 et ainsi de suite.
* en ligne 5 , on vérifie que les quatre valeurs G5:J6 "1 2 12 3" (l'ordre n'importe pas) sont contenues dans les quatre premières mesures P6:V5 "11 2 3 4 " et on dit nok en colonne Z5 (" 4 valeurs") puisque il n'y a pas correspondance: il manque la valeur 11. On vérifie ensuite les cinq valeurs G5:K5 "1 2 13 3 4" à P5:V5 en on aura nok en AA5 ("5 valeurs") puisque la valeur 4 n'est pas dans la zone P4:V4, et ainsi de suite.
* en ligne 6 , on vérifie que les quatre valeurs G6:J6 "1 2 13 4" (l'ordre n'importe pas) sont contenues dans les quatre premières mesures P4:V4 "1 12 3 4 " et on dit nok en colonne Z5 (" 4 valeurs") puisque il n'y a pas correspondance: il manque la valeur stat. 12. On vérifie ensuite les cinq valeurs G6:K6 "1 2 3 14 15" à P4:V4 et on aura nok en AA5 ("5 valeurs") puisque la valeur stat. 4 n'est pas dans la zone P4:V4, et ainsi de suite.
* etc...
Est-ce assez détaillé?
12 janv. 2024 à 08:23
Bonjour à tous!
Pour synthétiser mes messages précédents, l'objectif est donc de comparer, pour chaque ligne i un ensemble de valeurs statistiques prévisionnelles Gi:Ni à un ensembles de mesures Pi:ADi, que je limite ici à 4 valeurs Pi:Vi, en positionnant les résultats en Zi:ADi. Tout cela en 5 étapes:
1) "4 valeurs ": on prend les 4 premières valeurs Gi:Ji et on les compare à l'ensemble des mesures Pi:Vi : si ces 4 valeurs (quel que soit l'ordre) sont contenues dans l'ensemble des mesures PiVi, on place ok en Zi ("4 valeurs").
2) "5 valeurs ": on prend les 5 premières valeurs Gi:Ki et on les compare à l'ensemble des mesures Pi:Vi : si ces 5 valeurs (quel que soit l'ordre) sont contenues dans l'ensemble des mesures PiVi, on place ok en AAi ("5 valeurs").
3) "6 valeurs ": on prend les 6 premières valeurs Gi:Li et on les compare à l'ensemble des mesures Pi:Vi : si ces 4 valeurs (quel que soit l'ordre) sont contenues dans l'ensemble des mesures PiVi, on place ok en ABi ("6 valeurs").
4) Et ainsi de suite
Voici un exemple peut être plus parlant que le précédent https://www.cjoint.com/c/NAmgWxQ0cDh
12 janv. 2024 à 14:35
Hello,
Un autre essai en Z4 :
=SI(SOMME(N(NB.SI($G4:J4;$P4:$V4)>0))=4;"ok";"nok")
et pour effacer la huitième valeur en ligne 5 :
=SI(NB($G4:J4)<J$3;"";SI(SOMME(N(NB.SI($G4:J4;$P4:$V4)>0))=4;"ok";"nok"))
(en utilisant les valeurs en ligne 3)
13 janv. 2024 à 10:02
Bonjour!
Merci pour ta réponse!
A quoi correspond le N en début de la formule =SI(SOMME(N(NB.SI... ?
13 janv. 2024 à 10:39
Hello,
C'est comme le --, la fonction N transforme les valeurs booléennes VRAI FAUX en 1 ou 0 (NB.SI($G4:J4;$P4:$V4)>0 renvoie Vrai ou FAUX)
13 janv. 2024 à 11:51
Super! J'utilise souvent la fonction NB, mais je ne connaissais pas cette fonction N ...
Une dernière interrogation: j'ai vu que la fonction NB.SI renvoie une matrice, et s'il n'y a pas la place disponible (ce qui est le cas dans l'exemple) elle renvoie l'erreur #PROPAGATION ; n'est ce pas gênant?
13 janv. 2024 à 12:04
Re,
(Précision : la Fonction NB.SI ne renvoie une matrice que si on lui donne une matrice de critères en entrée, ce qui est le cas ici avec $P4:$V4)
L'erreur #Propagation indique effectivement qu'il n'y a pas la place, donc c'est gênant, mais dans l'exemple je n'ai pas cette erreur vu qu'on fait la somme des éléments de la matrice. Joint ton fichier.
13 janv. 2024 à 13:48
Pour l'instant, ça fonctionne sur l'échantillon dont je dispose.
Je devrait avoir des relevés complet d'ici une semaine; je vous tiens au courant!
Merci encore à tous pour votre aide . Cordialement, Mikel
17 janv. 2024 à 15:23
Bonjour à tous!
Dans l'hypothèse où je dois respecter l'ordre (prévisions statistiques dans le même ordre que les mesures, comment faut-il modifier la formule?
17 janv. 2024 à 17:00
Hello,
Si on teste l'égalité des vecteurs, il ne devrait y avoir concordance que si le nombre de mesures est égal au nombre de valeurs ?
Et surtout précise ce qu'il y a dans tes cellules intercalées dans les mesures (vides, texte, nombre ?)
Modifié le 17 janv. 2024 à 17:24
Merci pour ta réponse!
1) il faudrait que l'ordre des prévisions soit respecté dans les mesures.
Par exemple:
[13, 1 ,12 ,2 ,3,14, 8, 4] [1, 2,3,4] --> ok
[3, 1 ,12 ,2 ,10,14, 8, 4] [1, 2,3,4] --> nok
2) J'ai supprimé les cellules vides intercalées entre les mesures, car grâce à ta dernière formule je n'en ai plus besoin ...
17 janv. 2024 à 18:05
Re,
Alors fournis un petit fichier exemple
18 janv. 2024 à 04:06
Bonjour!
Voici un exemple : https://www.cjoint.com/c/NAsdeFOyMzI
18 janv. 2024 à 09:38
Hello,
Ça se complique.
En utilisant plusieurs possibilités de Excel365, une formule à tester qui fonctionne sur ton dernier exemple :
=LET(v;$G4:J4;m;$P4:$S4;vf;UNIQUE(FILTRE(v;NB.SI(m;v)>0);1);SI(SOMME(SIERREUR(N(vf=m);0))=4;"ok";"nok"))
(On est loin de ta demande initiale sur RECHERCHEX !)
Modifié le 18 janv. 2024 à 17:07
Waouh !... Superbe: ça fonctionne bien! Merci !
Mais si tu pouvais me donner quelques explications, ça me permettrait de comprendre cette formule très élaborée et de l'adapter à des cas particuliers .
18 janv. 2024 à 18:55
Hello,
En plusieurs étapes :
La fonction LET permet de nommer dynamiquement des plages ou des formules afin d'optimiser et de simplifier la formule finale.
Ici j'ai nommé v (comme valeurs) la plage $G4:J4, j'ai nommé m (comme mesures) la plage $P4:$S4, j'ai nommé vf (comme valeurs filtrées), la liste dans laquelle on ne prend que les valeurs (v) qui se trouvent dans la plage des mesures (m) (NB.SI(m;v)>0), la fonction UNIQUE permet d'éliminer les doublons (car il y en a lignes 1, 3, 5).
Ensuite on trouve la formule finale, dans laquelle on teste l'égalité entre les valeurs filtrées et les mesures item par item (vf=m), le N pour transformer en 1 ou 0, le SIERREUR pour le cas ou toutes les mesures ne se retrouvent pas dans les valeurs filtrées. On en fait la SOMME et on teste quelle doit être égale à 4, le SI pour l'affichage ok-nok.
Voili voila, ces fonctions 365, LET, FILTRE, UNIQUE (et bien d'autres) sont extrêmement puissantes.
18 janv. 2024 à 20:54
Formidable ! J'arrive à l'adapter à des cas spécifiques et ça fonctionne nickel .
Juste une dernière interrogation: comment désigner une zone disjointe dans une formule (par exemple P4 et R4) ?
18 janv. 2024 à 21:32
Re,
Ça dépend des fonctions et des formules, mais généralement, je crois, on ne peut pas sauf à utiliser des bidouilles avec INDIRECT et/ou CHOISIR, rien de simple. Je peux me tromper.
9 janv. 2024 à 17:10
Super! Merci...