Kann eine Array-Eingabe in den Blattnamen des Bereichs von vlookup verwendet werden?

671
Stephen

Ich habe eine Formel, die funktioniert, aber absurd lang ist, aber die Kerndaten immer wieder wiederholt.

Meine Tabelle enthält 70 Seiten, in denen Kartensätze beschrieben werden. Die Seite, an der ich gerade arbeite, gibt mir eine bestimmte Zusammenfassung, indem der Kartenbezeichner (in A3) als Index verwendet wird. Genauer gesagt, ich möchte den Mindestpreis für eine Karte anhand dieser Kennung, die in einem der Sets erscheinen kann. Alle Sets haben weniger als 500 Karten (der Suchbereich ist also B3: I500)

Die Namen folgen trotz der hier vorgenommenen Vereinfachung keinem Muster, sondern sind in einer Reihe G2: Z2 aufgeführt (im Moment offensichtlich unvollständig)

=MIN( IFERROR(VLOOKUP($A3,Set1!$B$3:$I$500,6,FALSE),99999), IFERROR(VLOOKUP($A3,Set2!$B$3:$I$500,6,FALSE),99999), IFERROR(VLOOKUP($A3,Set3!$B$3:$I$500,6,FALSE),99999), ... 

[Muster wiederholt sich für die anderen Sets ...]

Ich verwende INDIRECT in einem anderen Teil der Tabellenkalkulations- und Arraynotation noch einmal an anderer Stelle.

VLOOKUP($A3,INDIRECT("'"&M$2&"'!$B$3:$I$516"),6,FALSE) 

Ich möchte die Seiten nicht zusammenführen (was zugegebenermaßen die Dinge in mancher Hinsicht enorm vereinfachen würde).

Gibt es eine Möglichkeit, diesen großen Ausdruck in einen kürzeren zu vereinfachen, der dasselbe Ziel erreicht (und hoffentlich weitere Bearbeitung verhindert, da ich die restlichen Daten hinzufüge)?

Ich habe versucht, etwas mit indirektem, vlookup und array zum Laufen zu bringen, aber ich bekomme immer #VALUE-Fehler.

Ich bin nicht auf der Suche nach einer VBA-Lösung oder der einfachen Antwort "In eine Datenbank konvertieren", aber jede Hilfe wird geschätzt.

0
Um nur klar zu sein, wenn es 10 Übereinstimmungen auf dem Kartenidentifikator gibt, möchte ich alle 10 Ergebnisse aus Spalte 6 zurückgeben, so dass min den kleinsten auswählen kann. Stephen vor 12 Jahren 0
Eine schnelle Sache: Wenn Sie Excel 2007 oder neuer verwenden, können Sie IFERROR verwenden, um Wiederholungen zu vermeiden. Zum Beispiel: = IFERROR (VLOOKUP ($ A3, Set1! $ B $ 3: $ I $ 500,6, FALSE), 99999) ` Excellll vor 12 Jahren 1
Dieser Tipp hilft, Isna-Missbrauch zu vereinfachen :) Stephen vor 12 Jahren 0
So beantworten Sie die Frage im Titel: Leider können Sie 3D-Referenzen mit VLOOKUP weder als Quellenreferenz noch als Nachschlagewert verwenden. Weitere Informationen finden Sie hier: http://office.microsoft.com/de-de/excel-help/create-a-3-d-referenz-auf-der-selbe-zellenzone-einer-vielfach-arbeitsblätter-HP010102346. aspx Ellesa vor 12 Jahren 0

2 Antworten auf die Frage

1
chris neilsen

Sie könnten die Suchvorgänge in die Tabellenblätter einfügen Set#.
Wenn Ihre Formel auf Blatt genannt wird Summary:
Setzen Sie eine Formel in etwa Zelle I1auf jedem SetBlatt

=IFERROR(VLOOKUP(Summary!A3,$B$3:$I$500,6,FALSE),99999) 

und dann in SummaryBlatt legen

=MIN('Set1:Set70'!I1:I1) 

Nimmt an, dass die SetBlätter zusammen gruppiert sind (dh es werden keine anderen Blätter dazwischen angezeigt)

Leider enthält das Zusammenfassungsblatt 100 interessante Einträge, die sich häufig ändern. Ich musste also 100 solcher Einträge in die Spalte I setzen, die mehr als eine Erweiterung der vorhandenen Formel zu sein scheint. Danke für die Idee, die Suche aber umzudrehen. Stephen vor 12 Jahren 0
0
Ellesa

So beantworten Sie die Frage im Titel: Leider können Sie 3D-Referenzen mit VLOOKUP weder als Quellenreferenz noch als Nachschlagewert verwenden. Weitere Informationen finden Sie hier: http://office.microsoft.com/de-de/excel-help/create-a-3-d-referenz-auf-der-selbe-zellenzone-einer-multiple-worksheets-HP010102346. aspx

Ihre Formel scheint vereinfacht genug zu sein, obwohl sie ziemlich lang ist. Wenn Ihre Arbeitsmappe jedoch größer wird, würde ich die Verwendung INDEX/MATCHanstelle von VLOOKUPschnelleren Berechnungen empfehlen .