Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 3 Suchkriterien in 3 verschiedenen Spalten?

3 Suchkriterien in 3 verschiedenen Spalten?
26.10.2017 14:18:21
Lukas
Hallo Zusammen,
ich habe 3 Suchkriterien in 3 verschiedenen Spalten. Werden diese in Kombination gefunden (immer einmalige Kombi), dann soll ein wert in einer 4. Spalte ausgegeben werden.
Mit sverweis geht es nicht, da es ja 3 Kriterien sind. Mein Ansatz war:
=INDEX($E:$E;VERGLEICH(K4&L4&M4;A:A&B:B&D:D;0))
Ich habe einen Auszug des Dokuments angehängt.
https://www.herber.de/bbs/user/117240.xlsx
Kann hier jemand helfen?
Vielen Dank im Voraus!
Anzeige

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 3 Suchkriterien in 3 verschiedenen Spalten?
26.10.2017 14:20:47
SF
Hola,
=VERWEIS(2;1/(A5:A20&B5:B20&D5:D20=K4&L4&M4);E5:E20)
Gruß,
steve1da
AW: 3 Suchkriterien in 3 verschiedenen Spalten?
26.10.2017 15:32:35
Lukas
Vielen Dank steve1da, das funktioniert!
Mit deiner Formel geht es übrigens auch...
26.10.2017 14:21:52
SF
...du musst sie nur als Matrixformel eingeben.
Anzeige
AW:...sollte man aber in dieser Form vermeiden ...
26.10.2017 14:36:43
...
Hallo,
... da Lukas die Suche über die gesamte Spaltenbereich definiert hat. Matrixformel sollten immer auf den max Bereich beschränkt werden.
Gruß Werner
.. , - ...
(ungetestet) mit zusätzlichem INDEX
26.10.2017 15:48:14
lupo1
{=INDEX($E:$E;VERGLEICH(K4&L4&M4;A:A&B:B&D:D;0))}
wird zu
=INDEX($E:$E;VERGLEICH(K4&L4&M4;INDEX(A:A&B:B&D:D;);))
Anzeige
AW: Zeit für 1.Rechnung stört Dich hier nicht? owT
26.10.2017 16:21:07
...
Gruß Werner
.. , - ...
"1. Rechnung" kenne ich nicht, aber ...
26.10.2017 16:26:41
lupo1
... wenn Du damit die beiden von mir aufgeführten Alternativen meinst:
Die Matrixformel ist ein bisschen schneller (ca. 10%-30%, vermute ich), s.
http://forum.softmaker.de/viewtopic.php?f=261&t=23232&p=108124#p108237 (Spalte F und G)
Dafür funktioniert die INDEX-Variante auch bei Excel-Online.
Anzeige
AW: sonst legst Du doch oft so viel Wert auf v ...
26.10.2017 17:44:33
...
Hallo Lupo,
... wobei ich mit v die Auswertungsgeschwindigkeit (D)einer Formeln meine. Hier diesmal nicht?
Mit "1. Rechnung" meinte ich, dass sich der Geschwindigkeitsverlust natürlich "nur" bei der jeweiligen Erstermittlung des Ergebnisses für die Suchkriterien auswirkt.
Die von Dir aufgezeigte Formel ist eine (wie ich sie bezeichne) Matrixfunktion(alität)sformel wie die auch die VERWEIS()-Formel, die beide ohne den klassischen Matrixformelabschluss auskommt. Aber beide "arbeiten" intern ähnlich wie eine klassische Matrixformel.
Demzufolge wirkt sich in Deinem Vorschlag die von vorgenommene Verkettung von 3 kompletten Spaltenbereichen ungünstig aus. Sie braucht mehr Zeit als z.B. die VERWEIS()-Formel oder eine klassische INDEX() und VERGLEICH()-Formel, die nur über den maßgebenden Bereich definiert sind.
Also warum nicht z.B. so: =INDEX($E:$E;VERGLEICH(K4&L4&M4;INDEX(A1:A99&B1:B99&D1:D99;);)) ?
Wobei ich nach wie vor dem TE zur Formatierung seiner Tabelle als "intelligente Tabelle" raten und eine Auswertungsformel dafür anbieten würde.
Dein letzten Satz ist momentan für mich noch nicht eindeutig. Ich habe Excel Online noch nicht getestet, aber wenn da keine VERWEIS()-Formel möglich sein sollte, werde ich es gar nicht erst tun. Ich denke aber die Einschränkung bezieht sich auf klassische Matrixformeln. Oder?
Gruß Werner
.. , - ...
Anzeige
Da ich nur von VERGLEICH rede, ...
26.10.2017 17:57:57
VERGLEICH
... geht es doch gar nicht um VERWEIS.
Und Excel-Online kann - das jedoch absolut ohne Gewähr! - nur {} NICHT. Möglicherweise kann es aber auch manche Funktionen nicht.
Ansonsten habe ich meine Performanceroutinen-Ergebnisse ja im Link genannt: VERWEIS (in der schnelleren Verkettungs-Variante H statt Doppelteiler-Variante U) braucht danach 60% bis 100% mehr Zeit, als VERGLEICH in F und G. Allerdings geht es dort nur um 2 Spalten statt 3, so dass ich Deiner Behauptung im Moment einfach mal glaube.
Zu dem Problem mit ganzen Spalten: Die nenne ich einfach immer so. Selbst würde ich statt A:A jedoch immer mit "benannt A": =A1:INDEX(A:A;X$1) und X1: =ANZAHL2(A:A) arbeiten. Das wiederhole ich aber nicht für jede Antwort in den Foren neu.
Anzeige
AW: bei Daten, mit den Du arbeitest ...
26.10.2017 19:48:17
...
Hallo,
... wird - wie hier im Beispiel auch - gewährleistet sein, bzw. wirst Du sicherlich dafür Sorge tragen dass ANZAHL2(A:A) auch das erwartete Ergebnis liefert. Aber bei so einigen anderen Daten, die Fragesteller hier schon eingestellt haben, war/ist das oft nicht der Fall.
Gruß Werner
.. , - ...
Anzeige
Das ist mir dann auch egal ...
27.10.2017 06:44:30
lupo1
... Klicki-bunti, Lücki-habi und derlei ist deren Verantwortung. Ich spiele nicht mit Barbiepuppen, sondern mit Daten.
Ich darf das Gleiche bei Daten voraussetzen, wie Excel für "Tabelle in Tabelle", für Sort, Pivot und für Autofilter. Und wenigstens eine durchwegs gefüllte Datenspalte ist fast immer Bestandteil. Und wenn denn tatsächlich nicht, dann halt .CurrentRegion oder ein Formeläquivalent.
Aber so, wie jeder sein Klo zuhause putzt, kann er auch für ordentliche Daten sorgen. Und wenn nicht, muss er jmd. dafür bezahlen.
Anzeige
AW: wenn Du die Tabelle als solche formatierst...
26.10.2017 14:36:28
...
Hallo Lukas,
... über die Funktion "Als Tabelle formatieren" brauchst Du Dir auch keine Gedanken über den auszuwertenden maximalen Bereich zu machen sondern kannst auf die Tabellennamen zurückgreifen
Z.B. standardmäßig auf =Tabelle1[Datum] und hast damit immer den aktuelenn Datenbereich exakt definiert.
Gruß Werner
.. , - ...
Anzeige
AW: dazu ergänzend ...
26.10.2017 14:47:54
...
Hallo,
... wie die Formel dann aussehen könnte:
 ABCDEFGHIJKLMN
2Suchkriterium 1Suchkriterium 2 Suchkriterium 3Ergebnis bei Uebereinstimmung         
3DatumTypInhaltPlatzierungThemaBesucheBestellungCRWarenwert Suchkriterium 1Suchkriterium 2Suchkriterium 3Ergebnis bei Uebereinstimmung
4     18431608,0811797,54 26.09.2017TriggerBanner2AdidasOriginals
526.09.2017ShopSonstigesBanner1TommyHilfiger1183252,111785,34     
626.09.2017TriggeradtProdukt400168Adidas996202,011842,47     
726.09.2017TriggerSonstigesBanner2AdidasOriginals992161,611053,71     
826.09.2017TriggerSonstigesBanner3Asos87350,57318,88     
926.09.2017TriggerSonstigesBanner4Ash65181,23284,86     
1026.09.2017TriggerSonstigesBanner5Bogner26720,75101,96     
1126.09.2017ShopSonstigesSprechblaseClarks23552,13320,87     
1226.09.2017ReflexADTBanner1Dolce16595,45417,80     
1326.09.2017Reflexkey itemProduktEglo16374,29442,84     
1426.09.2017ShopSonstigesshopMODEDC12943,10422,91     
1526.09.2017TriggerADTRecoveryModule1Herschel12386,50580,83     
1626.09.2017TriggerADThomeBoss11098,18549,80     
1726.09.2017ReflexMeinKontoBanner2Clarks10521,901920,97     
1826.09.2017ReflexADTRecoveryModule2Dolce9233,26110,96     
1926.09.2017TriggerSonstigesProduktteaser1Eglo9133,3089,97     
2026.09.2017ShopSonstigesshopKOSEDC8755,75245,84     

Formeln der Tabelle
ZelleFormel
N4=WENNFEHLER(VERWEIS(9;1/(Tabelle1[Datum]=K4)/(Tabelle1[Typ]=L4)/(Tabelle1[Platzierung]=M4); Tabelle1[Thema]); "?")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...
Anzeige
AW: dazu ergänzend ...
27.10.2017 09:47:25
Lukas
Hallo neopa c,
vielen Dank für die Formel. Das ist mit Abstand die Beste. Sie funktioniert aber ich verstehe sie nicht ganz.
Verweis-Funktion.
- Weshalb ist das Suchkriterium 9?
- Den Suchvektor kann ich auch nicht nachvollziehen. Wieso 1 dividiert durch?
Sorry, hoffe du kannst das verständlich erklären.
Anzeige
ganz einfach...
26.10.2017 18:19:14
Frank
Hallo, das ist doch gemalt für DBAUSZUG()... ... unter der Voraussetzung dass die Kombination nur einmal vorkommt..:
Arbeitsblatt mit dem Namen 'Matrix'
 ABCDEFGHIJKLMN
3DatumTypInhaltPlatzierungThemaBesucheBestellungCRWarenwert DatumTypPlatzierungThema
4     18431608,0811797,54 26.09.2017ReflexBanner2Clarks
526.09.2017ShopSonstigesBanner1TommyHilfiger1183252,111785,34     
626.09.2017TriggeradtProdukt400168Adidas996202,011842,47     
726.09.2017TriggerSonstigesBanner2AdidasOriginals992161,611053,71     
826.09.2017TriggerSonstigesBanner3Asos87350,57318,88     
926.09.2017TriggerSonstigesBanner4Ash65181,23284,86     
1026.09.2017TriggerSonstigesBanner5Bogner26720,75101,96     
1126.09.2017ShopSonstigesSprechblaseClarks23552,13320,87     
1226.09.2017ReflexADTBanner1Dolce16595,45417,80     
1326.09.2017Reflexkey itemProduktEglo16374,29442,84     
1426.09.2017ShopSonstigesshopMODEDC12943,10422,91     
1526.09.2017TriggerADTRecoveryModule1Herschel12386,50580,83     
1626.09.2017TriggerADThomeBoss11098,18549,80     
1726.09.2017ReflexMeinKontoBanner2Clarks10521,901920,97     
1826.09.2017ReflexADTRecoveryModule2Dolce9233,26110,96     
1926.09.2017TriggerSonstigesProduktteaser1Eglo9133,3089,97     
2026.09.2017ShopSonstigesshopKOSEDC8755,75245,84     

ZelleFormel
N4=DBAUSZUG(A3:I20;N3;K3:M4)
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

Anzeige
AW: Voraussetzung scheint hier gegeben zu sein ...
26.10.2017 19:42:38
...
Hallo Frank,
... jedenfalls so, wie ich den bereitgestellten Datenauszug interpretiere. In sofern wäre DBAUSZUG() hier die effektivste Lösung.
Allerdings würde ich auch dafür die Daten als Tabelle formatieren und die Formel dann so schreiben: =DBAUSZUG(Tabelle1[#Alle];N3;K3:M4)
De Erfordernis sich Gewissheit zu verschaffen, dass die bezeichnete Voraussetzung auch gewährleistet ist bleibt natürlich bestehen. Wenn man da unsicher ist, sollte man doch auf eine INDEX() und VERGLEICH() oder eine VERWEIS()-Formel zurückgreifen, wo dann wenigstens entweder nur der erste oder eben der letzte "Treffer" als Ergebnis gelistet wird.
Gruß Werner
.. , - ...
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

3 Suchkriterien in 3 verschiedenen Spalten in Excel nutzen


Schritt-für-Schritt-Anleitung

Für die Suche nach einem Wert aus einer Tabelle mit 3 Suchkriterien in 3 verschiedenen Spalten kannst du die INDEX- und VERGLEICH-Formeln verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Datenstruktur vorbereiten: Stelle sicher, dass deine Daten in einer Tabelle organisiert sind, idealerweise mit klaren Spaltenüberschriften.

  2. Formel eingeben: Verwende die folgende Formel, um einen Wert aus einer vierten Spalte zu extrahieren, wenn die Kombination aus 3 Suchkriterien in 3 Spalten gefunden wird:

    =INDEX($E:$E;VERGLEICH(K4&L4&M4;A:A&B:B&D:D;0))

    Hierbei ersetzt du $E:$E mit deiner Zielspalte und A:A, B:B, D:D mit den Spalten, in denen du die Suchkriterien hast.

  3. Matrixformel eingeben: Diese Formel muss als Matrixformel eingegeben werden. Drücke Strg + Shift + Enter, anstatt nur Enter.


Häufige Fehler und Lösungen

  • Fehler 1: #NV oder #WERT!

    • Lösung: Überprüfe, ob die Suchkriterien korrekt sind und die Daten in den entsprechenden Spalten vorhanden sind.
  • Fehler 2: Die Formel gibt nicht das erwartete Ergebnis zurück.

    • Lösung: Stelle sicher, dass du die Formel als Matrixformel eingegeben hast (Strg + Shift + Enter).
  • Fehler 3: Der SVERWEIS funktioniert nicht, da mehrere Suchkriterien benötigt werden.

    • Lösung: Verwende stattdessen die INDEX- und VERGLEICH-Formeln, da diese mehrere Bedingungen unterstützen.

Alternative Methoden

Falls du mit INDEX und VERGLEICH nicht zurechtkommst, gibt es auch andere Ansätze:

  1. VERWEIS-Funktion:

    =VERWEIS(2;1/(A5:A20&B5:B20&D5:D20=K4&L4&M4);E5:E20)

    Dies ist eine gute Alternative, muss aber ebenfalls als Matrixformel eingegeben werden.

  2. DBAUSZUG: Diese Funktion kann ebenfalls verwendet werden, wenn die Datenstruktur es zulässt:

    =DBAUSZUG(Tabelle1[#Alle];N3;K3:M4)

Praktische Beispiele

Angenommen, du hast folgende Tabelle:

Datum Typ Inhalt Platzierung Thema
01.01.2023 A X 1 Thema1
02.01.2023 B Y 2 Thema2
03.01.2023 A Z 3 Thema3

Um den Wert aus der Spalte "Thema" zu finden, wenn Typ "A", Inhalt "Z" und Platzierung "3" ist, kannst du folgende Formel verwenden:

=INDEX(E:E;VERGLEICH("A"&"Z"&3;A:A&B:B&D:D;0))

Tipps für Profis

  • Tabelle formatieren: Nutze die Funktion "Als Tabelle formatieren", um deine Daten zu strukturieren. Dadurch kannst du Tabellennamen in deinen Formeln verwenden, was die Lesbarkeit erhöht und die Formeln flexibler macht.

  • Fehlermeldungen vermeiden: Verwende WENNFEHLER, um saubere Ergebnisse zu erhalten:

    =WENNFEHLER(INDEX(...); "Nicht gefunden")
  • Leistung optimieren: Begrenze die Bereiche in deinen Formeln, anstatt ganze Spalten zu verwenden, um die Berechnungszeit zu reduzieren.


FAQ: Häufige Fragen

1. Frage: Wie kann ich die Formel für mehr als 3 Suchkriterien anpassen?
Antwort: Du kannst die Verkettung in der VERGLEICH-Funktion erweitern, indem du mehr Bedingungen hinzufügst, z.B. K4&L4&M4&N4.

2. Frage: Was ist der Vorteil von INDEX und VERGLEICH gegenüber SVERWEIS?
Antwort: INDEX und VERGLEICH erlauben es dir, in beliebigen Spalten zu suchen und unterstützen mehrere Kriterien, während SVERWEIS nur nach dem ersten Suchkriterium suchen kann.

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