Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1580to1584
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

Bei zwei Übereinstimmungen Zelle auslesen

Bei zwei Übereinstimmungen Zelle auslesen
20.09.2017 09:53:17
Christian
Schönen guten Morgen zusammen,
seit langer Zeit habe ich mal wieder eine Aufgabe mit Formeln in Excel und stehe auf dem Schlauch. Daher die Bitte ob Ihr mir weiterhelfen könntet.
Habe in einem Tabellenblatt (a) in der Spalte A ein Datum und in einer zweiten B eine Identnummer stehen. Nun möchte ich in einem anderen Tabellenblatt (b) nach genau diesem Datum suchen und wenn dann noch in der Zeile die Identnummer übereinstimmt eine weitere Zelle in mein Tabellenblatt (a) übertragen. Möchte somit aus zwei Blättern Informationen zusammenfügen.
Bin mir nicht sicher ob das mit einem SVersweis klappt oder ob ein Makro her muss.
Wäre sehr dankbar, wenn Ihr mir weiterhelfen könntet.
Gruß Christian

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bei zwei Übereinstimmungen Zelle auslesen
20.09.2017 10:33:00
Christian
Hallo steve1da,
danke für die schnelle Rückmeldung.
Habe grad versucht das Beispiel 1:1 mal in Excel nachzuvollziehen aber bei mir bringt er mir als Ergebnis #Wert. Habe die Tabelle 1:1 in Excel kopiert und dann in einer Zelle die Formel =INDEX(C:C;VERGLEICH("x"&"y";A1:A99&B1:B99;0))
eingegeben. Was mache ich falsch?
Gruß Christian
AW: Formel ist eine MATRIXFormel ...
20.09.2017 10:44:49
...
Hallo Christian,
... und muss entsprechend eingegeben werden. Es gibt aber auch eine Alternative ohne den spez. Matrixformelabschluss auf Basis der Funktion AGGREGAT().
Gruß Werner
.. , - ...
Anzeige
Du solltest den link anklicken
20.09.2017 11:03:19
WF
da stehen 4 Aggregat-freie und {}-freie Alternativen.
WF
AW: wäre dann halt eine 5. Variante owT
20.09.2017 11:15:36
...
Gruß Werner
.. , - ...
Die wäre dann aber nicht Aggregat-frei.
20.09.2017 14:26:18
WF
.
AW: geht auch ohne AGGREGAT(), trozdem ohne {} ...
20.09.2017 20:30:57
...
Hallo WF,
... und zwar als Alternative zur Auflistung der Mehrfachtreffer zu Formel 30, für die bisher keine {}-freie Formelvariante in eurer Seite aufgezeigt ist.
Konkret beispielbezogen würde die Formel sogar kürzer als die {}-Formel. Noch kürzer (mit einem kleiner "Trick") würde diese, wenn Textwerte in Spalte C stehen.
Natürlich wird die Formel ohne den erwähnten "Trick" für ein allgemeines Ergebnislisting etwas länger als die {}-Formel.
Allerdings auch wenn Du es nicht mehr lesen kannst/willst, mit AGGREGAT() werden vergleichsweise die wenigsten Funktionen gebraucht, die Formel wird auch etwas kürzer, die Auflistung flexibler und die Auswertung schneller.
Gruß Werner
.. , - ...
Anzeige
AW: Formel ist eine MATRIXFormel ...
20.09.2017 11:20:07
Christian
Hallo zusammen,
hab das ganze nicht als Matrixformel eingegeben. Abschluss der Formel mit Strg, Shift und Enter hat geholfen. Das passiert wenn man sich nicht richtig auskennt und nur Halbwissen hat.
Nun sagt er mir aber, dass nicht genügend Ressourcen für das berechnen der Formeln da sind und gibt eine 0 als Ergebnis aus.
WIe geht das mit dem Aggregat?
Meine Formel lautet derzeit:
=SVERWEIS(A2;WENN(C2='abw. Reihung'!J:J;'abw. Reihung'!A:M;"");5;1)
Gruß Christian
AW: Formel ist eine MATRIXFormel ...
20.09.2017 11:24:02
SF
Hola,
hat es einen besonderen Grund warum du ganze Spalten verwendest?
Gruß,
steve1da
AW: Formel ist eine MATRIXFormel ...
20.09.2017 11:40:35
Christian
Hallo,
das hat keinen besonderen Grund. Dachte das muss ich so machen. Aber der Hinweis war super!!!
Mit der Formel geht es nun anscheinend:
=INDEX('abw. Reihung'!$E$2:$E$45000;VERGLEICH(1;MMULT(('abw. Reihung'!$B$2:$B$45000=A2) *('abw. Reihung'!$J$2:$J$45000=C2);1);0))
DANKESCHöNN!!! Vor allem für Eure Geduld!!
Gruß Christian
Anzeige
AW: derartige Auswertungen sollten so nicht ...
20.09.2017 11:42:52
...
Hallo Christian,
... über den gesamten Spaltenbereich oder über viele tausende Zeilen hinweg mit klassischen Matrixformeln (die mit den spez. Formelabschluss) aber auch nicht mit Matrixfunktion(alität)sformel die keines spez. Formelabschluss benötigen, vorgenommen werden.
Denn beide Formeltypen arbeiten prinzipiell ähnlich und bedürfen im Vergleich zur Anwendung von Standardfunktionen wie SVERWEIS() oder ZÄHLENWENN() etc. wesentlich mehr Ressourcen und sollten deshalb auf den max. auszuwertenden Bereich beschränkt werden.
Was also willst Du genau auswerten?
Gruß Werner
.. , - ...
Anzeige
AW: derartige Auswertungen sollten so nicht ...
20.09.2017 15:26:52
Christian
Hallo Werner,
möchte im Prinzip nur Daten aus zwei Unterschiedlichen Tabellenblättern zusammenfahren. In einem Tabellenblatt A habe ich ca. 800.000 Datensätze. Dort gibt es ein Datum und eine Identnummer. In einem zweiten Tabellenblatt B ist zu den Indentnummern und den Daten eventuell ein in einer Zelle ein Status 0 oder 1 hinterlegt.
Nun möchte ich das auf Basis der Tabellenblatts A mit dem Datum und der Identnummer in Tabellenblatt B nachschauen ob dort ein Status hinterlegt ist und welcher. Wenn ein Status hinterlegt ist möchte ich diesen dann im Tabellenblatt A in einer eigenen Spalte eintragen. Das ist die Aufgabe.
Gruß Christian
Anzeige
AW: derartige Auswertungen sollten so nicht ...
20.09.2017 15:47:59
Daniel
Hi
bei dieser Datenmenge geht's eigentlich nur so:
1. füge im Tabellenblatt B eine Hilfsspalte am Anfang (Spalte A) ein, in welcher du IdentNummer und Datum zu einem eindeutigen ID-Begriff zusammenfasst (einfach Identnummer und Datum mit & verketten)
2. sortiere dieses Tabellenblatt nach der Hilfsspalte aufsteigend.
3. dann kannst du über diesen Identbegriff (der dann hoffentlich eindeutig ist) in der Liste 1 den Status mit Hilfe des SVerweises einlesen:
dh im Tabellenblatt A brauchst du diese Formel, der erste SVerweis prüft, ob überhaupt ein Eintrag in Tabelle B vorhanden ist, der zweite liest dann den Status aus.
=Wenn(SVerweis(ID&Datum;TabelleB!A:A;1;wahr)=ID&Datum;SVerweis(ID&Datum;TabelleB!A:Z;?;wahr);"---") 
das muss man so machen, weil der SVerweis für sortierte Daten keinen Fehler ausgibt, wenn der Suchbegriff nicht gefunden wird, sondern das nächstkleinere Element als Ergebnis verwendet.
Der SVerweis für sortierte Daten ist aber bei dieser Datenmenge die einzig brauchbare Methode, weil er auf grund der Sortierung eine wesentlich schnellere Suchmethode verwenden kann.
Bei unsortierten Daten müsste man im Prinzip jeden Wert aus Tabelle A mit jedem Wert aus Tabelle B vergleichen und das sind verdammt viele (800.000²).
Gruß Daniel
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige