Peut CORRESPONDRE à la fonction dans une formule matricielle pour retourner plusieurs matchs?
J'ai essayé d'utiliser le MATCH
fonction dans une formule matricielle pour le retour des correspondances multiples (par défaut, il ne retourne que le premier match). Toutefois, cela ne semble pas fonctionner. Comment puis-je résoudre ce problème sans complexe, illisible formule?
- Il est tout à fait nécessaire, j'ai fait ça avant, et obtenu de nombreux commentaires, parce que les gens ne m'aimaient pas répondre à ma propre question. Tout simplement parce que SI y a des règles ne signifie pas que les gens savent à leur sujet.
- Pourriez-vous donner un petit exemple avec le résultat attendu pour illustrer votre requête?
- Vous pouvez insérer la réponse dans le cadre de la question et de dire quelque chose comme "c'est ce que je suis en train de l'aide"? Ce serait alors d'avoir un potentiel intéressant pour la discussion dans les réponses plutôt que des commentaires. Par exemple, votre code actuel ne permet de plage arguments, mais qui pourrait être plus flexible et compacte. Le code, en fait, pourrait même ne pas être nécessaire, car on est une fonctionnalité native qui le fait.
- merci pour le lien. à mon humble avis, le code est redondant de toute façon comme il y a une méthode native disponible:
application.match
pouvez obtenir en sortie un tableau de valeurs avec les plages ou les tableaux comme arguments d'entrée. - en effet, c'est pourquoi les réponses n'ont pas été concluants à ce jour. Mais la question est susceptible d'attirer des résultats de recherche et la réponse actuelle apparaît quelque peu trompeur pour les lecteurs de sorte qu'il pourrait être préférable d'indiquer dans le cas contraire, en cas d'absence de plus de précisions.
Vous devez vous connecter pour publier un commentaire.
Comment à ce sujet, sans VBA? [entrée sur la cellule C9 comme une formule de tableau avec CTRL + MAJ + ENTRÉE, où la recherche de la colonne est A9:A24, et vos termes de recherche sont en B1:B4], et traîné vers le bas pour trouver de multiples frappe?
Cette première utilise la formule de tableau d'affichage de chaque " hit " pour l'un des termes de recherche appariés dans la recherche de la colonne, puis à l'aide de la Petite fonction, en référence à la cellule active de la ligne, il renvoie le plus tôt frappé, puis le 2ème hit, puis la 3e, etc.
- Delà de ce point, les points de référence de la recherche tableau peut être utilisé comme nécessaire (convertis à la ligne de l'emplacement de l'index de fonction, etc.).
MODIFIER
Sur la poursuite de l'examen des résultats à partir de cette formule, il retourne uniquement un seul coup pour chaque terme de recherche, même si le terme de recherche apparaît à plusieurs reprises. Pour résoudre ce problème, j'ai d'abord utilisé la formule:
Cela montre à chaque coup pour un match du terme de recherche a trouvé en B1. C'est là que je suis bloqué. Je ne pouvais comprendre comment les résoudre avec le vrai manuel:
Des suggestions sur la façon de s'améliorer afin de permettre à plusieurs hits de plusieurs termes?
EDIT - option Supplémentaire
Ok, j'ai déterminé une autre méthode de ramasser des coups multiples. Cela on s'appuie sur l'analyse de la situation de l'précédents matches déjà fait. Selon ce que vous voulez que votre résultat vecteur pour ressembler (qui n'a jamais été spécifié par l'OP), les résultats de cette sont propres, mais la formule est assez salissant.
La première cellule ressemble à ça, dans des cellules H9:
=ADRESSE(MIN(IFERROR(MATCH($B$1:$B$4,$A$9:$A$24,0),""))+LIGNE($A$8),1)
Cela montre l'adresse de la première cellule qui correspond à l'un des termes de recherche, à l'aide de la formule a en outre noté ci-dessus.
La cellule en dessous (et chaque cellule après qu'), a ce (également une formule de tableau):
Cette récupère l'adresse de la cellule trouvé dans la ligne ci-dessus (l'ajout de 1 ligne pour éviter de re-frapper le même terme), et à partir de cette nouvelle colonne de recherche à partir de ce point vers le point de fin (en ajoutant 1 rangée de manière à ce qu'elle correctement s'arrête à la dernière se terminant le succès), il re-cherche pour l'une de ces conditions.
Celui-ci est encore une fois, pas de nettoyage [Oui je sais il y a quelques améliorations que je pourrais faire pour la détermination de ce que la recherche devrait être - soit en utilisant le texte de fonctions de manipulation ou même faire un nom relatif de référence que les changements que vous déplacer vers le bas de la colonne], mais il est automatisé et, je dirais, plus propre que d'un module VBA. D'autant que, selon ce que vous voulez que votre résultat vecteur d'être, ce pourrait être beaucoup plus simple.
De travail\en développement sur les formules posté par @Grade Eh'Bacon fini avec cette formule pour récupérer tous les résultats d'un match de fonction avec plusieurs matches pour plusieurs articles.
En supposant que la gamme d'entrée est
B2:B17
et de la gamme avec les éléments de match estF3:F5
entrer dans ceFormulaArray
dansH3
C'est un
FormulaArray
le retour de tous les matchs pour plusieurs articlesTous les mérites aller à @Grade Eh'Bacon pour son excellent travail sur le sujet.
Il n'est pas possible avec le haut-MATCH, cependant, à l'aide d'une macro VBA, vous pouvez atteindre cet objectif:
Cette fonction retourne plusieurs matchs et vous permet de passer un éventail de multiples valeurs que vous voulez de correspondance. J'ai trouvé ce utile un certain nombre de fois. Commentaires bienvenus pour aider à améliorer cette.
REMARQUE: Vous devez répandre cette formule à travers quelques cellules à l'aide d'un tableau de formule (CTRL-MAJ-ENTRÉE), afin de voir les multiples correspondances.
=MATCH_RANGE( B8:B10 , B7:B21 , 0 )
il retourne#VALUE!