Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1588to1592
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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!

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.
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;);))
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
.. , - ...
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
.. , - ...
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.
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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige