Wenn Sie einen Bereich mit bestimmten Indizes bearbeiten möchten, sollten Sie aus irgendeinem Grund die INDEX-Funktion verwenden, um Arrays von Werten für bestimmte Indizes abzurufen. So was.
Lassen Sie es uns anhand eines Beispiels verstehen.
Hier habe ich eine Rate-Spalte. Ich möchte Werte an Position 1,3 und 5 summieren. Ich schreibe diese Formel in C2.
=SUMME(INDEX(A2:A11,{1,3,5}))
Überraschenderweise gibt die INDEX-Funktion kein Array von Werten zurück, wenn wir ein Array als Indizes bereitstellen. Wir erhalten nur den ersten Wert. Und die SUM-Funktion gibt nur die Summe eines Wertes zurück.
Wie erhalten wir also die INDEX-Funktion, die dieses Array zurückgibt. Nun, ich habe diese Lösung im Internet gefunden und verstehe nicht wirklich, wie sie funktioniert, aber sie funktioniert.
Die generische Formel, um ein Array von Indizes zu erhalten
=SUMME(INDEX(Bereich,N(IF(1,{Zahlen})))
Bereich: Es ist der Bereich, in dem Sie bei bestimmten Indexnummern suchen möchten
Nummer: Das sind die Indexnummern.
Wenden wir nun die obige Formel auf unser Beispiel an.
Schreiben Sie diese Formel in C2.
=SUMME(INDEX(A2:A11,N(IF(1,{1,3,5})))
Und dies gibt die richtige Antwort als 90 zurück.
Wie es funktioniert.
Nun, wie gesagt, ich weiß nicht, warum es funktioniert und das Array von Zahlen zurückgibt, aber hier passiert was.
IF(1,{1,3,5}): Dieser Teil gibt das Array {1,3, 5} wie erwartet zurück
N(IF(1,{1,3,5})) dies übersetzt sich in N({1,3,5}), was uns wieder {1,3,5} ergibt
HINWEIS: Die N-Funktion gibt das Zahlenäquivalent eines beliebigen Werts zurück. Wenn ein Wert nicht zahlkonvertierbar ist, gibt er 0 (wie Text) zurück. Und bei Fehlern gibt es error zurück.
INDEX((A2:A11,N(IF(1,{1,3,5}))): Dieser Teil übersetzt in INDEX((A2:A11,{1,3,5}) und irgendwie gibt dies das Array zurück { 10,30,50} Wie Sie bereits gesehen haben, gibt es beim Schreiben von INDEX((A2:A11,{1,3,5}) direkt in die Formel nur 10 zurück Wenn Sie es verstanden haben, lassen Sie es mich im Kommentarbereich unten wissen.
So verwenden Sie Zellverweise für Indexwerte, um ein Array zu erhalten
Im obigen Beispiel haben wir die Indizes in function hartcodiert. Aber was ist, wenn ich es aus einem Sortiment haben möchte, das sich ändern kann. Wir ersetzen {1,3,5} durch range? Lass es uns versuchen.
Hier haben wir diese Formel in Zelle D2:
=SUMME(INDEX(A2:A11,N(WENN(1,A2:A5)))
Dies gibt 10 zurück. Der allererste Wert des angegebenen Index. Auch wenn wir sie mit STRG+UMSCHALT+EINGABE als Matrixformel eingeben, erhalten Sie das gleiche Ergebnis.
Damit es funktioniert, fügen Sie den Operator + oder -- (doppelt unär) vor dem Bereich hinzu und geben Sie ihn als Array-Formel ein.
{=SUMME(INDEX(A2:A11,N(IF(1,+A2:A5)))}
Das funktioniert. Frag mich nicht wie? Es funktioniert einfach. Wenn Sie mir sagen können, wie ich Ihren Namen und Ihre Erklärung hier einfügen kann.
Wir haben also gelernt, wie man ein Array aus der INDEX-Funktion erhält. Hier in Excel passieren einige verrückte Dinge. Wenn Sie hier im Kommentarbereich erklären können, wie es funktioniert, werde ich es mit Ihrem Namen in meine Erklärung aufnehmen.
Download-Datei:
In Verbindung stehende Artikel:
Arrays in Excel-Formel
Verwenden Sie INDEX und MATCH, um den Wert zu suchen
So verwenden Sie die LOOKUP-Funktion in Excel
Lookup-Wert mit mehreren Kriterien
Populäre Artikel:
Die SVERWEIS-Funktion in Excel
ZÄHLENWENN in Excel 2016
So verwenden Sie die SUMIF-Funktion in Excel