Excel Formel Aggregat
#1
Hallo,

ich verwende folgende Formel: 

(INDEX(Daten!B:B;AGGREGAT(15;6;ZEILE(A$1:A$9999)/(Daten!I$1:I$9999="Computer");ZEILE(E1)));"") um damit gezielt Werte aus bestimmten Zellen zu kopieren, wenn eine Bedingung erfüllt ist. In diesem Fall, wenn in Spalte I das Wort Computer vorkommt, dann soll der Wert, welcher in Spalte B und in der gleichen Zeile, wie "Computer" steht, kopiert werden. Die Formel funktioniert, ich möchte nichts ändern ... Ich habe aber eine Frage dazu. Kann mir jemand erklären, was der Teil der in der Mitte, nach dem Aggregat steht, genau bedeutet? Ich versuche die Formel zu verstehen um sie ggf. später ändern zu können. Was passiert ab ZEILE(A$1:A$9999)/(Daten!I$1:I$9999="Computer"); ... ?

Erklärungen habe ich u. a. hier gefunden

Die Excel INDEX Funktion ganz einfach erklärt | Excelhero
Die Excel AGGREGAT Funktion ganz einfach erklärt | Excelhero

Ich freue über Hilfe.

Gruß
Matthias
Antworten Top
#2
Moin!

Du hast Excel 365
Dann nutze =FILTER()
AGGREGAT() iVm Zeilenzähler/Wahrheitswert ist erheblich schwieriger zu verstehen!


Wenn Du nicht klar kommst, dann lade ein Beispiel (kein Bild!) hoch.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Danke, ich lade später etwas hoch, jetzt geht es gerade nicht. Ich habe nicht vor die Formel zu ändern, da sie funktioniert. Sie macht was sie soll. Mir geht es wirklich nur ums verstehen.
Antworten Top
#4
5 geteilt durch FALSCH ergibt DIV/0
In AGGREGAT kann man Fehlerwerte ausschließen (das ist die 6 in der Formel).
In Verbindung mit der Sequenz der Zeilennummern und dem richtigen Argument in AGGREGAT (z.B. 15 für KKLEINSTE) kann man sich Ergebnisse der Ausgangsmatrix basteln.
Alles klar soweit?
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
Das was du geschrieben hast, steht auch auf den Seiten zu denen ich Links gepostet habe. Ok das ist klar, wenn es für dich leichter zu verstehen ist, dann werde ich eine Datei hochladen. Mir ist der Teil, der nach dem Aggregat steht ein wenig unklar. Es geht mir um ZEILE(A$1:A$9999)/(Daten!I:I)

Du hast etwas von Zeilenwert/ Wahrheitswert geschrieben. Kann ich das so verstehen, dass der Zeilenwert 9999 ist und dass soviele Zeilen gezählt/ berücksichtigt werden? Der Teil Daten!I:I bezieht sich dann auf den Wahrheitswert, d. h. hier kann ich angeben "suche nach Computer"

Am Ende steht: ZEILE(E1)));"") Diese Spalte E ist bei mir leer. Welche Funktion erfüllt diese und warum muss "" am Ende stehen?
Antworten Top
#6
(03.03.2022, 17:00)Newbie21X schrieb: Das was du geschrieben hast, steht auch auf den Seiten zu denen ich Links gepostet habe. Ok das ist klar, wenn es für dich leichter zu verstehen ist, dann werde ich eine Datei hochladen.

Ich werde mir keine Links ansehen, wenn ich die Funktion (im Gegensatz zu Dir) verstehe!
Damit Du mich nicht falsch verstehst:
Ich beschäftige mich grob 25 Jahre mit Excel.
AGGREGAT() gibt es erst seit 12 Jahren.
Als ich erstmalig diesen damals genialen Schachzug mit der Division durch Wahrheitswerte sah …
• brauchte ich eine Stunde, um die Lösung zu simplifizieren und mittels Formelauswertung (Formelteil markieren und F9, du weißt ja) nachzuvollziehen
• hatte ich mich dennoch ein halbes Jahr geweigert, diese verquere Logik selbst anzuwenden

Als vor mittlerweile 3,5 Jahren FILTER() implementiert wurde, habe ich öffentlich meine Begeisterung für diesen genialen Schachzug der Spill-Formeln zum Ausdruck gebracht.

Zurück zum Thema:
Zitat:Am Ende steht: ZEILE(E1)));"") Diese Spalte E ist bei mir leer. Welche Funktion erfüllt diese
Da könnte genauso gut  ZEILE(RPP1) stehen, das ergibt nämlich beides 1
und wenn man dies herunterzieht, hat man die Sequenz 1, 2, 3, …
Aber alles in 365 nicht mehr notwendig, weil es dafür mittlerweile SEQUENZ() gibt.

Aber Du willst ja nur die obige Formel verstehen.

Deine Datei brauche ich nicht für meine eigene Unzulänglichkeit, sondern um Dir zu zeigen, um wie viel einfacher aktuelle Funktionen anzuwenden sind.
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#7
Ich habe es mir jetzt doch mal angetan, die Links vom Helden Excelhero anzusehen.

Zitat:Das was du geschrieben hast, steht auch auf den Seiten zu denen ich Links gepostet habe.


Das ist eine Frechheit, die an Dreistigkeit nicht zu überbieten ist!
Ich bin raus!
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#8
Hi,



ein Versuch:




INDEX(Daten!B:B;       Hier folgt eine Zeilennummer

AGGREGAT(15;           kleinster Wert

6;                             Fehlerwerte überspringen

    da Index eine Zeilenummer braucht, wird die hier gebildet:

ZEILE(A$1:A$9999)/(Daten!I$1:I$9999="Computer")  die Zeilennummern werden dividiert durch die Werte aus Spalte I. Diese ergeben entweder 1, wenn in der Zelle "Computer" steht, oder 0, wenn nicht! Division durch 0 ergibt einen Fehler.



;ZEILE(E1))) Zähler, beginnend bei 1!

Der erste ermittelte Wert ist die kleinste Zeile, in der das Wort "Computer" vorkommt. Mit der Formelauswertung kannst Du das nachvollziehen (Beschränke aber die Formel dafür auf vielleicht 200 Zeilen, sonst ergibt die Auswertung evtl. Probleme!)

Trotzdem würde ich Dir empfehlen die Funktionen zu nutzen, die man Dir empfohlen hat, die sind wohl etwas einfacher zu handlen! (ich kann sie nicht nutzen, da ich kein 365 habe.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • Newbie21X
Antworten Top
#9
Etwas leichter …
=FILTER(Daten!B:B;Daten!I:I="Computer";"")
Mit ohne ziehen.
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Newbie21X
Antworten Top
#10
Vielen Dank! Ich hab schon oft die Erfahrung gemacht, dass Forumsmitglieder schreiben man hätte nicht im Internet gesucht. Als Kommentar kommt oft "nutze google" oder ähnlich. Aus diesem Grund habe ich die Links oben gepostet, um zu zeigen, dass ich mir das angesehen habe und noch weitere Fragen dazu habe. Wir müssen doch nicht gleich streiten, ganz normal miteinander reden geht doch auch ... hoffe ich.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste