Erstellen Sie eine Suchabfrage in Excel mit benannten Bereichen, die in einer Zelle gespeichert sind

3711
Gruffling

Ich habe eine Tabelle mit vielen benannten Bereichen, von denen jeder eine Tabelle ist. Ich möchte in der Lage sein, eine Suche auszuführen, die einen Wert aus einer der Tabellen abruft. Ich möchte in der Lage sein, den Namen des benannten Bereichs in einer Zelle zu speichern.

Ich habe es versucht:

=HLOOKUP(B14,B6,(B22+1),FALSE) 

B14 war der Wert, den ich nachschlagen wollte. B6 hat den Namen des benannten Bereichs gespeichert, und die Datenvalidierung kann nur den Namen eines benannten Bereichs enthalten. B22 hat die Anzahl der Zeilen in der Tabelle gespeichert und natürlich stoppt +1 die Suche in der Kopfzeile.

Das Problem ist, dass die Lookup-Syntax von Excel der Meinung ist, dass ich den Zellbereich für das Lookup eingebe. das B6 ist der Bereich.

Ich habe einen Weg gefunden, eine Liste aller benannten Bereiche, die in der Kalkulationstabelle definiert sind, sowie den Zellbereich hinzuzufügen, indem Sie die Formeln / Definierte Namen / In-Formel verwenden verwenden. Ich dachte, ich könnte dies als verschachtelte Suche im Sinne von verwenden

=vlookup(B6,Sheet1!$A$1,$B$77,2,FALSE) 

Obwohl dies an sich den richtigen Wert zurückgibt, tut es so, als ob es sich um Text handelt. Ich stelle fest, dass es am Anfang des Strings ein = gibt und ich frage mich, ob ich das trennen kann ( MIDFunktion?). Dann könnte es als ein Bereich von Zellen erkannt werden, den man nachschlagen kann. Das Problem mit demMID Funktion ist jedoch, dass Sie die Anzahl der Zeichen in der Zeichenfolge kennen müssen und einige mehr Zeichen als andere haben werden - Einzel- und Doppelbuchstaben für Spalten und Einheiten gegenüber Zehner-Zeichen für Hunderte

Also bin ich festgefahren und brauche Hilfe: Alle Ideen wären sehr dankbar.

2
Es ist schwierig, alles zu verfolgen, was Sie versuchen, ohne es zu sehen. Dieser Artikel kann Ihnen helfen - [VLOOKUP-Funktion in mehreren Tabellen verwenden] (http://www.brainbell.com/tutorials/ms-office/excel/Use_The_VLOOKUP_Function_Across_Multiple_Tables.htm). CharlieRB vor 8 Jahren 0

1 Antwort auf die Frage

3
Andi Mohr

Schwer zu sagen, was genau Sie suchen, ohne einen Screenshot, aber das könnte für Sie funktionieren. Es ist eine dynamische VLOOKUPFormel, die Tabellennamen und Spaltennamen als Eingaben übernimmt.

Hier ist die Formel:

=VLOOKUP(F14,INDIRECT(F15),MATCH(F16,INDIRECT(F15&"[#Headers]"),0),0) 

Es INDIRECTbezieht sich auf Ihre benannten Bereiche und MATCHum herauszufinden, welche Spalte Sie eingeben müssen VLOOKUP.

Vielen Dank, Andi. Normalerweise verbringe ich Stunden mit verschachtelten if-Anweisungen, um Ergebnisse wie diese zu erhalten, aber ich habe vor kurzem angefangen, benannte Bereiche zu verwenden, nachdem ich an einem Kurs teilgenommen habe, aber das macht sie so viel wertvoller. Dies war in meinem Fall ich habe die Match-Funktion (die auch für mich neu ist) nicht gebraucht. Gruffling vor 8 Jahren 0
Vielen Dank, Andi. Normalerweise verbringe ich Stunden mit verschachtelten if-Anweisungen, um Ergebnisse wie diese zu erhalten, aber ich habe vor kurzem angefangen, benannte Bereiche zu verwenden, nachdem ich an einem Kurs teilgenommen habe, aber das macht sie so viel wertvoller. Dies war um so viel schlimmer, als ich mit 76 Suchvorgängen arbeitete, was ich selbst, wenn es nicht brach, das verschachtelte Limit von Excels brechen würde, wäre ein Albtraum, wenn es darum ging, die fehlende Halterung zu jagen! In meinem Fall habe ich die Match-Funktion (die auch für mich neu ist) nicht benötigt, da ich einen anderen Ausdruck hatte, der die Anzahl der Zeilen im Ausdruck bestimmt. Nochmals kann ich Ihnen nicht genug für Ihre Hilfe danken. : D Gruffling vor 8 Jahren 1