2013-02-26 2 views
0

Je commencerai par décrire mes donnéesliste de recherche en utilisant des cartes sauvages

List1: 
Company   Result 
--------- 
Company1 (1234) 1 
Company1 (1445) 1 
Company3blabla 2 
Company4   0 

LookupList: 
Company  Index 
------------------ 
*Company1* 1 
*Company3* 2 

J'essaie de trouver une formule qui recherche pour chaque entreprise dans List1 si elle contient un match de LookupList (d'où la présence de * caractères génériques), et si tel est le cas, elle renvoie la valeur d'index correspondante, comme indiqué dans la colonne Résultat.

Jusqu'à présent, je suis une formule qui peut retourner 1 s'il y a un match, et 0 sinon, mais je ne sais pas comment la valeur d'index à partir de là:

{= MAX (ISNUMBER (RECHERCHE ('LookupList'! $ A $ 1: $ A $ 2, Liste1 [[# Cette ligne], [Société]])) + 0)}

Répondre

0

Vous n'avez pas besoin des caractères génériques (RECHERCHE recherche automatiquement dans un autre texte de toute façon) de sorte que vous pouvez supprimer ceux-ci et utiliser cette formule dans la colonne de résultat pour obtenir la valeur INDEX

=IFERROR(LOOKUP(2^15,SEARCH('LookupList'!$A$1:$A$2,List1[[#This Row],[Company]]),'LookupList'!$B$1:$B$2),"")

Cela vous donnera un blanc s'il n'y a pas de correspondance - changez le "" à la fin du texte comme "Aucune correspondance" si nécessaire

+0

Cela fonctionne très bien! La seule chose était que cela renvoyait la valeur de la société au lieu de l'indice. Pour obtenir l'index, j'ai dû faire référence à la col B dans l'argument de la recherche: = IFERROR (LOOKUP (2^15, SEARCH ('LookupList'! $ A $ 1: $ A $ 2, List1 [[# This Row], [ Société]]), 'LookupList'! $ B $ 1: $ B $ 2), "") – Lukasz

+0

Merci beaucoup, Barry. – Lukasz

+0

Oui, l'original que j'ai posté avait les mauvais refs - j'ai changé ça peu après .... –

Questions connexes