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

Forumthread: Index+KKleinste + 2 Kriterien

Index+KKleinste + 2 Kriterien
23.02.2021 09:28:28
Chris
Hallo Zusammen,
ich bräuchte eure Hilfe bei folgender Formel:
=INDEX('Input 02'!A:A;KKLEINSTE(WENN('Input 02'!B:B="B";ZEILE('Input 02'!B:B)); ZEILE('Input 02'!A6)-5))
Aktuell wird hier eine Liste erstellt mit Werten, auf die zutrifft dass in einem anderen Tabellenblatt, die Spalte B mit einem "B" befüllt ist.
Ich möchte hier ein zweites Kriterium hinzufügen, so dass ebenfalls Werte gelistet werden wenn in der Spalte B ein "PE" steht.
Probiert habe ich es bereits mit der "oder" Funktion innerhalb von "wenn" probiert, die aber scheinbar bei Index nicht funktioniert.
Danke für eure Rückmeldung ;-)
Chris
Anzeige

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Index+KKleinste + 2 Kriterien
23.02.2021 09:35:51
SF
Hola,
=INDEX('Input 02'!A:A;AGGREGAT(15;6;ZEILE('Input 02'!$A$2:$A$10)/(('Input 02'!$B$2:$B$10="b") +('Input 02'!$B$2:$B$10="pe"));ZEILE(A1)))
Gruß,
steve1da
AW: Index+KKleinste + 2 Kriterien
23.02.2021 09:58:07
Chris
Hi Steve,
funktioniert perfekt, vielen Dank für die schnelle Hilfe! Mir war nicht bewusst dass man dann auf "aggregat" umschwenken muss.
Gruß,
Chris
Anzeige
AW: Index+KKleinste + 2 Kriterien
23.02.2021 10:00:33
SF
Hola,
muss man nicht - man spart sich den Abschluss als Matrixformel. Ginge auch mit deiner Formel:
=INDEX('Input 02'!A:A;KKLEINSTE(WENN(('Input 02'!B:B="B")+('Input 02'!B:B="pe");ZEILE('Input 02'!B:B) ); ZEILE('Input 02'!A6)-5))
Gruß,
steve1da
AW: die von Dir gesuchte ODER()-Funktionalität ...
23.02.2021 10:07:30
Dir
Hallo Chris,
... kann in derartigen Matrixformeln nicht mit ODER() realisiert werden sondern z.B. mit + wie es SF aufgezeigt hat. In Deinem Fall geht es aber auch einfacher/kürzer.
Aber zuvor noch der Hinweis, dass eine derartige Matrixformel nicht über den gesamten Zeilenbereich auswerten sollte sondern möglichst nur auf das max. notwendige. Nachfolgend hab ich den Bereich auf bis zu Zeile 99 beschränkt, was Du noch anpassen kannst.
Besser wäre es aber aus Deine Datenliste in eine "formatierte" Tabelle zu wandeln und dafür die eine Formel zu definieren. Dann brauchst Du Dich nicht mehr um die Größe des auszuwertenden Datenbereichs in der Formel zu kümmern, wie bei nachfolgender aufgezeigter.
Formel mit Zelladressbezug Zeile 6 bis momentan Zeile 99:

=WENNFEHLER(INDEX('Input 02'!A:A;AGGREGAT(15;6;ZEILE('Input 02'!A$6:A$99) /('Input 02'!B$6:B$99={"b"."pe"});ZEILE(A1)));"")

und ziehend weit genug nach unten kopieren.
Gruß Werner
.. , - ...
Anzeige
LogikFktt ODER und UND in MatrixFmln
23.02.2021 15:40:23
Luc:-?
Hallo, Werner;
ich hatte bisher gedacht, die MatrixFml-Unfähigkeit dieser Fktt läge daran, dass sie nur Einzelwerte verarbeiten können. Aber das stimmt nicht und geht auch aus bestimmten Auslassungen in der xlFktshilfe hervor. Sie sind genauso „nicht matrixfml-fähig“ wie zB SUMME, denn sie liefern stets ein GesamtErgebnis über einen angegebenen Bezug (Bereich oder Ausdruck). Und das ergibt folglich stets nur einen Wert, der dann auf den ggf ausgewählten GesamtErgebnisBereich (plurale MxFmln) übertragen wird. Setzt man aber INDEX dafür richtig ein, ergibt sich auf Grund der INDEX-BasisFktionalität auch ein Datenfeld aus den einzelnen Vgln. Wichtig ist hierbei, dass der Vgl bereits im 1.INDEX-Argument erfolgt, weil dadurch Einzelwerte positionsabhängig zV gestellt wdn, was die LogikFktt dann auch nur einzeln verarbeiten können. Anderenfalls fassen sie immer alle Werte im Sinne ihrer Funktion zusammen.
Gruß, Luc :-?
Anzeige
AW: nachgefragt ...
23.02.2021 17:17:41
neopa
Hallo Luc,
... so ich Deine Aussage richtig interpretiere, würdest Du für diese oder auch für ähnliche Ermittlungen ODER() einsetzen - dies eben nur mit einem etwas anderen Formelkonstrukt? Wie sähe denn Deine Formel dafür aus?
Gruß Werner
.. , - ...
Nee, würde ich nicht unbedingt, ...
24.02.2021 00:33:28
Luc:-?
…Werner,
weil die übliche Methode idR einfacher ist, obwohl sie eigentlich nicht das Gleiche bedeutet. INDEX hat ja dann das Problem, dass ganze Datenfelder üblicherweise nur über mehrere Zellen erzeugt wdn können. In manchen Fällen lassen sich aber auch in nur einer Zelle alle Werte bereitstellen, aber wie du weißt, fällt mir die Methode zZ nicht wieder ein und alles, was ich hier mit INDEX probiert hatte, fktionierte nicht. Man kann das zwar mit WAHL erreichen, aber dafür müssten die Bezüge auf Einzelwerte gestellt wdn. Mit dem 1.Argument von WAHL kann man das dann zusammenfassen.
Es scheint folglich unmöglich zu sein, das auf einfache Weise zu lösen, und auch mit der XLM-Fkt AUSWERTEN ist das nicht erfolgreich, sobald ein ZellBereich ins Spiel kommt, weil die sich idR ebenfalls nach dem Vorgehen des FmlText-Interpreters richtet. Bliebe als relativ einfache Möglichkeit nur noch die UDF TxEval, die ganze Datenfelder separat ermitteln kann, aber dafür die US-Original-FmlNotation als Text verwenden muss. N(INDIREKT(…)) wäre zwar sonst eine Alternative, aber hier nicht, weil der Vgl unmittelbar einbezogen wdn müsste, was INDIREKT nicht leisten kann.
Eine mögliche BspFml zur Auswahl aus 5 Werten in C nach 2 Kriterien sähe dann als plurale MxFml so aus:
{=TxEval(WECHSELN("or(#100)";"#";C1:C5))} bzw das Ggteil
{=TxEval(WECHSELN("and(#>20,# Du kannst das auch mit einer singularen MxFml in je einer Zelle überprüfen, indem Du die UDF VJoin in der Dir vorliegenden letzten Version verwendest oder mit erweiterter Fml Werte aus der Spalte extrahierst und die dann in derselben Fml summierst.
Mir kam es hier also nur darauf an, das Verständnis der Wirkungsweise dieser beiden LogikFktt zu fördern. Gäbe es so etwas wie VERKETTEN, das zellweise verknüpft, auch für diese LogikFktt, hätte es diese immer wieder mal aufflammende Diskussion kaum je gegeben.
Übrigens, alternativ fktioniert natürlich auch folgende plurale MxFml, die sogar noch etwas kürzer ist und die Du auf die gleiche Weise per singulärer MxFml überprüfen kannst:
{=TxEval("or("&C1:C5&"100)")}
Morhn, Luc :-?
Anzeige
AW: danke für Deine Infos owT
24.02.2021 08:48:13
neopa
Gruß Werner
.. , - ...
Schöne neue Excel-Welt
23.02.2021 10:22:08
RPP63
Moin!
In einem aktuellen Excel geht das so (als einzige Formelzelle):
=SORTIEREN(FILTER('Input 02'!A:A;('Input 02'!B:B="B")+('Input 02'!B:B="PE")))
Gruß Ralf
AW: Nachhaltigkeit ist mir lieber als "schön" ...
23.02.2021 10:33:44
neopa
Hallo Ralf,
... unabhängig davon, da ich die Version nicht habe hierzu nachgefragt.
In Deiner sollte dann aber auch:
=SORTIEREN(FILTER('Input 02'!A:A;'Input 02'!B:B={"B"."pe"}) funktionieren, oder?
Gruß Werner
.. , - ...
Anzeige
Das wäre ja wider jede Excelei
23.02.2021 11:10:34
lupo1
=SORTIEREN(FILTER('Input 02'!A:A;'Input 02'!B:B={"B"."pe"})
kann ja auch nicht plötzlich intelligenter sein, als eine sonst überall nötige ODER-Regelung (bzw. das Matrix-Pendant). Ungetestet:
=SORTIEREN(FILTER('Input 02'!A:A;WECHSELN('Input 02'!B:B;"pe";"B")="B")
Anzeige
AW: mit AGGREGAT() geht es auch so; sieh 10:07 owT
23.02.2021 11:32:46
neopa
Gruß Werner
.. , - ...
Genauso "geschummelt" wie bei mir.
23.02.2021 12:52:55
lupo1
AW: nein, das war und ist bisher "Standard" ...
23.02.2021 13:08:07
neopa
Hallo,
... und galt und gilt auch für andere "alte" Formeleinsatzmöglichkeiten wie u.a. auch für SUMMENPRODUKT()-Formeln.
Gruß Werner
.. , - ...
Anzeige
Nein, denn es ist kein ODER, sondern ...
23.02.2021 13:13:44
lupo1
... statt eines Vektors eine Matrix, mit der KKLEINSTE, AGGREGAT oder auch SUMMENPRODUKT dort arbeiten. Die gedankliche Lösung ist ja auch schick, ohne Frage.
Zusätzlich ist es "more versatile" als mein WECHSELN, sobald mehr als zwei Einträge ausgewertet werden sollen.
AW: das hatte ich auch nicht geschrieben ...
23.02.2021 13:24:56
neopa
Hallo,
... sondern um 10:07 "In (diesem) Fall geht es aber auch einfacher/kürzer" und dafür meine alternative kürzere Formellösung aufgezeigt und dann 10:22 Ralf nachgefragt, ob sein Formelvorschlag nicht auch bei den neueren Funktionen möglich ist.
Gruß Werner
.. , - ...
Anzeige
AW: Danke, für Deine Info owT
23.02.2021 11:30:32
neopa
Gruß Werner
.. , - ...
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
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

Index und KKLEINSTE mit zwei Kriterien in Excel


Schritt-für-Schritt-Anleitung

Um in Excel mit der Funktion INDEX und KKLEINSTE zwei Kriterien zu vergleichen, befolge diese Schritte:

  1. Daten vorbereiten: Stelle sicher, dass deine Daten in einem Excel-Blatt (z.B. 'Input 02') vorhanden sind. Die Spalte A enthält die Werte, die du abrufen möchtest, und die Spalte B enthält die Kriterien (z.B. "B" oder "PE").

  2. Formel eingeben: Nutze die folgende Formel, um die gewünschten Werte zu extrahieren:

    =INDEX('Input 02'!A:A; AGGREGAT(15; 6; ZEILE('Input 02'!$A$2:$A$10) / (('Input 02'!$B$2:$B$10="B") + ('Input 02'!$B$2:$B$10="PE")); ZEILE(A1)))

    Diese Formel sucht die Werte in Spalte A, die den Kriterien in Spalte B entsprechen.

  3. Formel anpassen: Du kannst die Zeilen anpassen, um den benötigten Bereich zu reflektieren. Wenn du mehr Kriterien hinzufügen möchtest, erweitere die Bedingung in der Formel.

  4. Ergebnisse abrufen: Ziehe die Formel nach unten, um weitere Übereinstimmungen zu finden.


Häufige Fehler und Lösungen

  • Fehlerhafte Kriterien: Stelle sicher, dass die Kriterien in der Formel genau mit den Werten in der Spalte B übereinstimmen. Groß- und Kleinschreibung kann hier wichtig sein.

  • Matrixformeln: Wenn du die KKLEINSTE-Funktion in einer Matrixformel verwendest, vergesse nicht, sie mit STRG + SHIFT + ENTER abzuschließen, wenn du nicht die AGGREGAT-Funktion verwendest.

  • Zu viele Zeilen: Vermeide es, die gesamte Spalte zu durchsuchen, da dies die Berechnungszeit erheblich verlängern kann. Begrenze stattdessen den Bereich.


Alternative Methoden

Wenn du nach einer einfacheren Methode suchst, kannst du die FILTER-Funktion verwenden (verfügbar in neueren Excel-Versionen):

=SORTIEREN(FILTER('Input 02'!A:A; ('Input 02'!B:B="B") + ('Input 02'!B:B="PE")))

Diese Formel filtert die Werte in Spalte A basierend auf den Kriterien in Spalte B und sortiert die Ergebnisse.


Praktische Beispiele

  • Beispiel 1: Angenommen, du hast die folgenden Daten in 'Input 02':

    • A1: "Wert1", B1: "B"
    • A2: "Wert2", B2: "PE"
    • A3: "Wert3", B3: "B"

    Verwende die obige Formel, um eine Liste von "Wert1" und "Wert3" zu erhalten.

  • Beispiel 2: Wenn du mehr als zwei Kriterien vergleichen möchtest, kannst du die Formel anpassen, um zusätzliche Bedingungen hinzuzufügen:

    =INDEX('Input 02'!A:A; AGGREGAT(15; 6; ZEILE('Input 02'!$A$2:$A$10) / (('Input 02'!$B$2:$B$10="B") + ('Input 02'!$B$2:$B$10="PE") + ('Input 02'!$B$2:$B$10="X")); ZEILE(A1)))

Tipps für Profis

  • Namen verwenden: Verwende benannte Bereiche für deine Daten, um die Lesbarkeit der Formeln zu verbessern.

  • Daten in Tabellen umwandeln: Wandle deine Daten in eine formatierte Tabelle um. Das erleichtert die Handhabung der Formeln, da Excel automatisch den Bereich anpasst.

  • Dynamische Arrays: Nutze die Vorteile der dynamischen Arrays in neueren Excel-Versionen, um mehrere Ergebnisse in einer Zelle zurückzugeben.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Kriterien in einer INDEX-Formel verwenden?
Du kannst die Bedingungen mit dem + Operator kombinieren, um die ODER-Logik zu erreichen.

2. Funktioniert das in allen Excel-Versionen?
Die FILTER-Funktion ist nur in Excel 365 und Excel 2021 verfügbar. Die Verwendung von INDEX und KKLEINSTE funktioniert in älteren Versionen.

3. Was ist der Unterschied zwischen AGGREGAT und KKLEINSTE?
AGGREGAT ist flexibler und kann auch Fehler ignorieren, während KKLEINSTE spezifisch für die Rückgabe des k-kleinsten Wertes aus einer Liste zuständig ist.

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