Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Index Vergleich bei mehreren Ergebnissen

Index Vergleich bei mehreren Ergebnissen
24.10.2018 10:04:27
Jo
Hallo zusammen,
ich ziehe aus verschiedenen Excel Mappen in einem bestimmten Ordner per Makro bestimmte Daten in eine Excel Datenbank.
Diese Daten aus der Datenbank beziehen sich auf Projekte.(Je information neue Spalte)
z.B.
A // B // C // D
Projekt 1 // Projekt-Nr: 4000 // Angebotsphase // Dateipfad XX
Projekt 2 // Projekt-Nr: 3000 // Abwicklungsphase // Dateipfad XY
In einer gesonderten Auswertung ziehe ich nun unter anderem den Dateipfad der !Abwicklungsphase! in eine neue Spalte über:
=WENN(INDEX(Datenbank!$A:$D;VERGLEICH(Auswertung!A2;Datenbank!$B:$B;0);3)="Abwicklungsphase"; INDEX(Datenbank!$A:$D;(VERGLEICH(Auswertung!A2;Datenbank!$B:$B;0));1))
Diese Formel funktioniert auch wunderbar, doch kommt es immer häufiger vor, dass das Projekt in der Angebotsphase zum Projekt in der Abwicklungsphase wird. Es werden also in der Datenbank 2 Datensätze alias 2 Zeilen gebildet (können sich auch unterscheiden in Projektvolumen etc. - hier ändert sich ebenfalls der Dateipfad!)
A // B // C // D
Projekt 1 // Projekt-Nr: 4000 // Angebotsphase // Dateipfad XX
Projekt 1 // Projekt-Nr: 4000 // Abwicklungsphase // Dateipfad XZ
Projekt 2 // Projekt-Nr: 3000 // Abwicklungsphase // Dateipfad XY
Wenn ich hier meine Formel (siehe oben) laufen lasse, bekomme ich als Output "Falsch". Was auch logisch ist, da mein Dann_Wert in der Excel keine eindeutige Projektnummer zuordnen kann, da es zwei Stück gibt. Ich will aber nur den Dateipfad des Projekts 1 in der Abwicklungsphase mit Dateipfad XZ.
Wie müsste ich hierzu meine Formel umschreiben, dass ich nur den für mich richtigen Wert in der Zieltabelle erhalte?
Bitte nicht auf https://www.herber.de/forum/archiv/1544to1548/1546594_sverweis_mehrere_Ergebnisse.html
o.ä. verweisen, da ich hieraus auch nicht schlau geworden bin bzw. nicht umsetzen konnte...
Der Link zur Testdatei: https://www.herber.de/bbs/user/124864.xlsx
Vielen Dank für eure Hilfe!
Grüße
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
per Doppel-VERGLEICH
24.10.2018 10:26:35
WF
Hi,
in C2 der Tabelle Auswertung folgende Arrayformel:
{=INDEX(Datenbank!D:D;VERGLEICH(A2&"Abwicklungsphase";Datenbank!B:B&Datenbank!C:C;0))}
WF
AW: Index Vergleich bei mehreren Ergebnissen
24.10.2018 11:07:29
Jo
Hallo WF,
danke für deine Hilfe. Diese Formel funktioniert prinzipiell auch - nur sehr langsam.
Wenn ich das Array {=INDEX(Datenbank!D:D;VERGLEICH(A2&"Abwicklungsphase";Datenbank!B:B&Datenbank!C:C;0))} auf die gesamte Datenbank anwenden möchte, erscheint bei mir:
>
Gäbe es noch eine Alternativ-Lösung für den Fall?
Danke und Grüße
Anzeige
;0) im VERGLEICH auf ;1) drehen
24.10.2018 11:17:05
lupo1
Dafür brauchst Du jedoch zwei Vorbereitungen:
Sort nach B:B, darunter: C:C
Doppelte Verwendung des LOOKUPS, um "Identität" der Ergebnisse sicherzustellen (nicht nur: "im Intervall zum nächst höheren befindlich")
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Index Vergleich bei mehreren Ergebnissen


Schritt-für-Schritt-Anleitung

Um den Index Vergleich bei mehreren Ergebnissen in Excel durchzuführen, befolge diese Schritte:

  1. Daten vorbereiten: Stelle sicher, dass deine Daten in einer Tabelle ordentlich strukturiert sind. Du solltest mindestens die Spalten für Projektname, Projekt-Nr, Phase und Dateipfad haben.

  2. Formel eingeben: Verwende die folgende Formel, um den Dateipfad der Abwicklungsphase auszugeben:

    =WENN(INDEX(Datenbank!$A:$D;VERGLEICH(Auswertung!A2;Datenbank!$B:$B;0);3)="Abwicklungsphase"; INDEX(Datenbank!$A:$D;VERGLEICH(Auswertung!A2;Datenbank!$B:$B;0);1))

    Diese Formel gibt nur den Dateipfad zurück, wenn die Phase "Abwicklungsphase" ist.

  3. Arrayformel verwenden: Falls du mehrere Ergebnisse zurückgeben möchtest, kannst du die Arrayformel verwenden:

    {=INDEX(Datenbank!D:D;VERGLEICH(A2&"Abwicklungsphase";Datenbank!B:B&Datenbank!C:C;0))}

    Dies erfordert, dass du die Formel mit Strg + Shift + Enter eingibst.

  4. Ergebnisse prüfen: Überprüfe die Ergebnisse in deiner Auswertungstabelle auf Korrektheit.


Häufige Fehler und Lösungen

  • Falsche Ausgabe: Wenn die Formel "Falsch" zurückgibt, könnte es daran liegen, dass es mehrere übereinstimmende Datensätze gibt. Stelle sicher, dass die Kombination aus Projektname und Phase eindeutig ist.

  • Langsame Berechnung: Die Verwendung von Arrayformeln kann bei großen Datensätzen die Berechnung verlangsamen. Überlege, ob du die Daten vorher filtern oder sortieren kannst, um die Berechnung zu optimieren.

  • Referenzfehler: Achte darauf, dass die Zellreferenzen in der Formel korrekt sind und auf die richtigen Bereiche zeigen.


Alternative Methoden

Eine alternative Methode zum Index Vergleich bei mehreren Ergebnissen ist die Verwendung von SVERWEIS oder FILTER (in Excel 365):

  • SVERWEIS:

    =SVERWEIS(Auswertung!A2;Datenbank!$B:$D;3;FALSCH)

    Diese Formel sucht nach dem Projekt und gibt die entsprechende Phase zurück. Beachte, dass SVERWEIS nur den ersten gefundenen Wert zurückgibt.

  • FILTER-Funktion (nur Excel 365):

    =FILTER(Datenbank!D:D; (Datenbank!B:B = Auswertung!A2) * (Datenbank!C:C = "Abwicklungsphase"))

    Diese Funktion gibt alle Dateipfade zurück, die den Kriterien entsprechen.


Praktische Beispiele

Angenommen, du hast folgende Daten in der Tabelle "Datenbank":

Projektname Projekt-Nr Phase Dateipfad
Projekt 1 4000 Angebotsphase Dateipfad XX
Projekt 1 4000 Abwicklungsphase Dateipfad XZ
Projekt 2 3000 Abwicklungsphase Dateipfad XY

Um den Dateipfad für "Projekt 1" in der Abwicklungsphase zu erhalten, kannst du die oben genannten Formeln verwenden. Die Ausgabe sollte dann "Dateipfad XZ" sein.


Tipps für Profis

  • Datenbanken optimieren: Halte deine Datenbank so klein und übersichtlich wie möglich. Dies verbessert die Berechnungszeit und die Handhabung von Formeln.

  • Verwende Tabellen: Wenn du deine Daten als Excel-Tabelle formatierst, kannst du mit strukturierten Verweisen arbeiten, was die Lesbarkeit und Wartbarkeit deiner Formeln erhöht.

  • Dynamische Bereiche: Nutze dynamische Bereiche oder benannte Bereiche, um die Formeln flexibler und übersichtlicher zu gestalten.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Ergebnisse in einer Zelle ausgeben?
Du kannst die FILTER-Funktion verwenden, um alle Ergebnisse in einer Zelle anzuzeigen. Dies funktioniert nur in Excel 365.

2. Warum funktioniert meine Arrayformel nicht?
Stelle sicher, dass du die Formel mit Strg + Shift + Enter eingibst und dass alle Referenzen korrekt sind.

3. Gibt es eine Möglichkeit, die Berechnung zu beschleunigen?
Ja, reduziere die Anzahl der Datensätze und optimiere deine Formeln, etwa durch die Verwendung von SVERWEIS oder INDEX in Kombination mit SORTIEREN.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige