Liefert ein Array verwenden in Excel INDEX Funktion Mit
Wenn Sie eine Operation für einen Bereich mit bestimmten Indizes ausführen möchten, sollten Sie aus irgendeinem Grund die INDEX-Funktion verwenden, um ein Array 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.
=SUM(INDEX(A2:A11,{1,3,5}))
Überraschenderweise gibt die INDEX-Funktion kein Array von Werten zurück, wenn wir ein Array als Indizes angeben. Wir bekommen nur den ersten Wert. Die SUMME-Funktion gibt nur die Summe eines Werts 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 zum Abrufen eines Indexarrays
=SUM(INDEX(range,N(IF(1,{numbers})))
Bereich: Dies ist der Bereich, in dem Sie nach bestimmten Indexnummern suchen möchten. Nummer: Dies sind die Indexnummern.
Wenden wir nun die obige Formel auf unser Beispiel an.
Schreiben Sie diese Formel in C2.
=SUM(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 gebe das Zahlenfeld zurück, aber hier, was passiert.
link: / tips-if-condition-in-excel [IF]
(1, \ {1,3,5}):
Dieser Teil gibt das Array \ {1,3, 5} wie erwartet zurück N (link: / tips-if-condition-in-excel [IF]
(1, \ {1,3,5}))
Dies bedeutet N (\ {1,3,5}), was wiederum \ {1,3,5} ergibt. HINWEIS: Die N-Funktion gibt das Zahlenäquivalent eines beliebigen Werts zurück. Wenn ein Wert nicht in eine Zahl konvertierbar ist, gibt er 0 zurück (wie Text). Und für Fehler wird error._
zurückgegeben link: / lookup-formulas-excel-index-function [INDEX]
A2: A11, N (link: / tips-if-condition-in-excel [IF]
(1, \ {1,3 , 5}):
Dieser Teil übersetzt in link: / lookup-formulas-excel-index-function [INDEX]
((A2: A11, \ {1,3,5})
und irgendwie gibt dies das Array \ {10,30,50} zurück. Wie Sie zuvor beim Schreiben von link: / lookup-formulas-excel-index-function [INDEX]
((A2: A11, \ {) gesehen haben 1,3,5})
direkt in der Formel gibt es nur 10 zurück. Wenn wir jedoch die N- und IF-Funktion verwenden, wird das gesamte Array zurückgegeben. Wenn Sie es verstehen, lassen Sie es mich im Kommentarbereich unten wissen.
Wie man Zellreferenzen für Indexwerte verwendet, um ein Array zu erhalten
Im obigen Beispiel haben wir die Indizes in der Funktion fest codiert. Aber was ist, wenn ich sie von a haben möchte? Bereich, der sich ändern kann. Wir ersetzen \ {1,3,5} durch Bereich? Versuchen wir es.
Hier haben wir diese Formel in Zelle D2:
=SUM(INDEX(A2:A11,N(IF(1,A2:A5)))
Dies gibt 10 zurück. Der allererste Wert des angegebenen Index. Auch wenn wir e Wenn Sie es als Array-Formel mit STRG + UMSCHALT + EINGABETASTE eingeben, erhalten Sie das gleiche Ergebnis.
Damit es funktioniert, fügen Sie vor dem Bereich den Operator + oder – (doppelt unär) hinzu und geben Sie ihn als Array-Formel ein.
{=SUM(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 werde.
Also haben wir gelernt, wie man ein Array aus der INDEX-Funktion erhält. Hier ist ein paar verrückte Sachen in Excel los. Wenn Sie hier im Kommentarbereich erklären können, wie es funktioniert, werde ich es mit Ihrem Namen in meine Erklärung aufnehmen.