0
votes

Match Word dans une plage, correspondez au 2e mot dans une plage

Tout d'abord. Ce forum est génial. Je l'ai beaucoup utilisé et je n'ai pas eu la nécessité de créer ma propre question. Jusqu'à présent.

J'ai une fiche technique avec un champ de texte gratuit dans la colonne O. J'ai filtré les mots les plus fréquents et les résumés en feuille1. J'ai créé la colonne P avec une fonction de match pour identifier le mot le plus important dans le champ de texte libre. J'ai utilisé la formule suivante dans la colonne P. Cela fonctionne pour trouver le premier mot le plus important. xxx

(feuille1! $ B $ B $ 2: $ B $ 794 contient les mots qui sont recherchés) Jusqu'à présent, tout fonctionne bien.

Je veux ajouter une autre formule dans la colonne q pour trouver le deuxième mot le plus important. C'est à dire. Il devrait rechercher le premier mot correspondant qu'il trouve dans la feuille une, mais ne peut pas être le mot qui a déjà été trouvé.

J'ai essayé de modifier la formule un peu pour ajouter un autre critère à l'aide d'une comptabilité, mais je ne peux pas faire ça marche. J'ai essayé cette formule: (dans la colonne q)

= iferror (index (feuille1! $ B $ B $ B $ 794; match (O8; "*;" $ B $ 2: $ B $ 794 & "*"; o8; <> "" * "& p8 &" * ")

La partie audacieuse ne fonctionne pas.

Toute suggestion pour le réparer?

aussi, est-il un moyen de poster un exemple d'excepel Fiche?

Merci d'avance!

EDIT:

C'est la sortie que je recherche. Exemple Exemple Exemple de sortie

Il recherche les mots d'un ensemble prédéfini des mots en tant que tels: Exemple Exemple de recherche de mots

donc dans cet exemple j'ai analysé comment Plusieurs fois, chaque mot se produit dans la colonne I "Commentaire". Apparemment, le mot "fr 'se produit 3 fois, le mot" Pauze "2 fois, etc. Je supprime certains des mots que je ne suis pas intéressé par des" fr'. La liste restante est un ensemble de mots que je veux rechercher. Donc, dans CEL P8, il devrait renvoyer le premier mot sur la liste qui correspond à l'un des mots du champ de texte libre I8. Le premier mot de correspondance de la liste qu'il trouve est Pauze, par conséquent cellules P8 Retour 'Pauze', le deuxième mot correspondant est «simulatie», donc Q8 renvoie la simulatie.

J'espère que cela rend un peu plus clair


2 commentaires

Pouvez-vous vous moquer de certaines données et de la production attendue?


Vous étiez très proche de la première formule =)


3 Réponses :


0
votes

Si on dispose des nouvelles formules de tableau dynamique disponibles dans l'abonnement Office 365:

=INDEX(INDEX($A$1:$A$13,N(IF({1},MODE.MULT(IF(MATCH($A$1:$A$13,$A:$A)=ROW($A$1:$A$13),ROW($A$1:$A$13)*{1,1}))))),COLUMN(A1))


1 commentaires

Merci Scott. La sortie est proche de ce que je désire. J'ai ajouté un exemple dans OP car mes données sont un peu différentes. Aussi, corrigez-moi si je me trompe, mais votre formule semble rechercher une correspondance exacte dans la même colonne. Mes données ne l'ont pas. Les données sont un champ de texte gratuit dans lequel les gens peuvent entrer tout ce qu'ils veulent, donc fondamentalement, chaque sortie est unique. J'ai ajouté un exemple dans le PO pour plus de clarification. Toute idée de la façon de travailler avec ça?



0
votes

Cela devrait fonctionner avec toutes les versions d'Excel. Cela suppose que les données sont dans la colonne A code> pour la simplicité.

La formule de tableau suivante doit être confirmée avec Ctrl-Shift-Entrée ... p>

=INDEX(A1:A9,MATCH(LARGE(COUNTIF(A1:A9,A1:A9),MAX(COUNTIF(A1:A9,A1:A9))+1),COUNTIF(A1:A9,A1:A9),))


2 commentaires

Merci pour la suggestion. J'ai essayé cela et si je comprends bien correctement, il cherche des correspondances exactes. Mes données ne correspondent pas à la valeur de recherche. En outre, votre suggestion ne recherche que le match le plus arrivé. Je suis particulièrement intéressé par le deuxième match le plus arrivé. J'ai ajouté un exemple dans le PO pour plus de clarification.


Votre question présente maintenant un scénario complètement différent que vous avez demandé à l'origine. Ma solution était une réponse parfaite à votre question initiale. Vous devez sélectionner l'une de ces réponses et poser une nouvelle question. Les gens ont porté volontairement leur temps pour vous aider.



0
votes

Aussi loin que je comprenne, c'est probablement ce que vous voulez!

Bien que vous ayez dit que trouver le premier mot le plus important mais je pense que vous essayez de trouver le match le plus proche [haut -> Down] Après avoir regardé l'expression que vous donnez.

voici la formule: xxx

Office365: xxx < / pré>

 Entrez la description de l'image ici

Comment ça marche:

  • rangée ($ 1: 12 $) / cheftif ($ D $ 1, "*" & $ B $ B $ B & B $ B $ 12 & "*" € & "*" Si correspondez.
  • Agrégat Ignorer les erreurs d'erreur et renvoyer la ligne d'index Ascendant avec rangée (A1)

    J'espère que je le comprends correctement :)


2 commentaires

Merci pour la suggestion. Vous avez raison, il s'agit de trouver le match le plus proche. J'ai ajouté un exemple dans l'OP. Ma sortie requise est un peu différente par rapport à la solution que vous proposez.


Publiez une autre question et décrivez cela brièvement et exactement ce que vous voulez!