2017-08-03 4 views
-2

Je travaille avec Excel et j'ai besoin de quelques entrées sur la façon dont nous pouvons rechercher plusieurs mots dans une colonne, puis retourner la position d'où la correspondance a été trouvée. Par exemple, le tableau dont les mots que je veux vérifier sont:rechercher des mots multiples dans une colonne, puis retourner la position de ce terme

Column A Column B 
North  Carolina 
South  Boston 
West  Coast 
East  Central 

Le tableau que je veux vérifier ces phrases est ci-dessous:

Column C 
North West Carolina 
Western Coastal 
Eastern Time for Central 
Southern Boston 

La sortie finale devrait me donner quelque chose comme ci-dessous:

Column A Column B Column D 
North  Carolina 1 
South  Boston 4 
West  Coast  2 
East  Central 3 

Notez que nous recherchons des mots dans la 2ème table quel que soit l'ordre dans lequel ils se trouvent. Par exemple, même si la première rangée du deuxième tableau est North West Carolina, nous obtenons un match. La sortie nous donne essentiellement la position de la phrase où nous pourrions faire correspondre notre texte.

Cela peut-il être fait dans Excel en quelque sorte? Cela me semble être une combinaison de match() et search() en quelque sorte, mais je n'ai pas été en mesure de le craquer. Peut-il être fait?

J'ai essayé la formule ci-dessous, mais sa ne fonctionne pas:

VLOOKUP(and($A1&"*",$B1&"*"),'Table2'!$D$2:$D$5,1,FALSE) 

Mais cela ne fonctionne pas

Merci

+1

ce que vous avez essayé? Est-ce que c'est 'A' ou' B' que vous voulez rechercher avec des parties du texte? Si les deux, il y aura un défaut avec ex 'West'. – krib

+0

J'utiliserais 'SUMPRODUCT()' pour vérifier la valeur de la valeur en utilisant des jokers comme des instructions TRUE/FALSE puis en multipliant le résultat par 'ROW()' –

+0

Les deux mots devraient être présents dans le texte que nous recherchons par exemple, s'il n'y avait que le nord-ouest dans la colonne C première rangée, il ne devrait pas être mappé à la Caroline du Nord – anathema1987

Répondre

1

Essayez ceci (en supposant les données commencent à la ligne 2)

=MATCH(1,ISNUMBER(SEARCH(A2,C$2:C$5))*ISNUMBER(SEARCH(B2,C$2:C$5)),0) 

entré en tant que formule matricielle en utilisant CtrlMajEntrez

enter image description here

+0

merci fonctionne comme un charme !! :) – anathema1987