2017-03-28 4 views
3

Meine Datentabelle besteht aus a) Indexnummern und b) Zeichenfolgen, die diesen Indexnummern zugeordnet sind. In meiner Vorlage würde ein Benutzer eine Indexnummer eingeben und die Zeichenfolge, die dieser Indexnummer zugeordnet ist, würde angezeigt.Excel - So finden Sie Platzhalterzeichenfolge aus großer Liste

Zum Beispiel

1 Bag 
1 Catsgsg 
1 Dogs 
1 oygg 
2 Stackoverflow 
2 tacks 
2 Binoculars 
2 all 
. 
. 
. 
1000 Bonobos 
1000 Canopy 
1000 Ascot 

Wenn ein Benutzer der Nummer 1000 gibt, wie kann ich ziehe das Wort Bonobos zu wissen, dass ein b Wort gibt es aber nicht das eigentliche Wort? Wie kann ich meine Array-Formel so anpassen, dass sie für Platzhalter funktioniert?

=INDEX(Partners!$D$2:$D$2227,MATCH(1,(Partners!$A$2:$A$2227=number)*(Partners!$C$2:$C$2227="b *"),0)) 

EDIT: ich in der Lage war callum-Lösung und haben die Formel Konto für mehrere Platzhalter-Strings zu zwicken.

=INDEX(Partners!$D$2:$D$2227,MATCH(1,IFERROR(SEARCH(num&"A*",Partners!$A$2:$A$2227&Partners!$D$2:$D$2227),0)+IFERROR(SEARCH(num&"B*",Partners!$A$2:$A$2227&Partners!$D$2:$D$2227),0)+IFERROR(SEARCH(num&"C*",Partners!$A$2:$A$2227&Partners!$D$2:$D$2227),0),0)) 

Antwort

4

nur bestimmte Funktionen übernehmen Platzhalter, so dass Sie einer von ihnen verwenden müssen, wenn Sie die * Platzhalter verwenden möchten. SEARCH ist ein Beispiel:

=INDEX(Partners!$D$2:$D$2227,MATCH(1,IFERROR(SEARCH(number&"b*",Partners!$A$2:$A$2227&Partners!$B$2:$B$2227),0),0)) 

Oder können Sie nur die Wildcard ganz vermeiden:

=INDEX(Partners!$D$2:$D$2227,MATCH(number&"b",Partners!$A$2:$A$2227&LEFT(Partners!$B$2:$B$2227,1),0)) 


sowohl als Matrixformeln eingegeben (Ctrl + Umschalttaste + Geben Sie)

+0

Dank callum, genau das, was ich suchte. – lostinOracle

+0

ist es möglich, nach einem Array von Platzhaltern zu suchen? Zum Beispiel, wenn Sie Wörter haben wollen, die mit ab, c oder d beginnen ... können Sie suchen (Nummer & {"b *", "c *", "d *"}, ......) – lostinOracle

+0

Hallo @ excelmonkey93, glücklich zu helfen. Leider konnte die Suchfunktion das nicht erreichen, aber es ist wahrscheinlich durch eine andere komplizierte Formel machbar. Ich würde wahrscheinlich Zeit sparen und separate Formeln für jeden Suchwert haben b, c, ... etc – CallumDA

2

Versuchen,

=INDEX(B:B, AGGREGATE(15, 6, ROW(A$1:INDEX(A:A, MATCH(1E+99, A:A)))/((A$1:INDEX(A:A, MATCH(1E+99, A:A))=E6)*(LEFT(B$1:INDEX(B:B, MATCH(1E+99, A:A)), 1)=F6)), 1)) 

Im folgenden mitgelieferten Beispielbild, ich habe Ihre B zu einem C, um zu zeigen, geändert, dass die Formel nicht einfach ist, fand die erste zurück.

enter image description here

Verwandte Themen