Excel-Array-Operation: Wie erhält man dieses Array?

Excel-Array-Operation: Wie erhält man dieses Array?

Ich habe die folgenden zwei Arrays:

 {a,b,c}

 {d,e,f}

Wie bekomme ich dieses Array?

 {a*d,b*e,c*f}

Beispielsweise ist ein Array {0,1,1}, ein anderes {255,122,0}. Ich brauche dieses Array:

{0,122,0}

Es ist wirklich so einfach.

Dies hängt mit diesem Thread zusammen:Excel: Suche nach der letzten Zelle im gefilterten Bereich, die nicht leer und nicht Null ist

Ich habe festgestellt, dass diese Formel SUBTOTAL(2,OFFSET(R5,ROW(R5:R200)-ROW(R5),0)) 1 für die gefilterten Daten (sichtbar) und 0 für die herausgefilterten Daten (unsichtbar) ergibt. Dies ist also ein Array mit 196 Elementen von 0 oder 1.

Ein anderes Array, OFFSET(R5,ROW(R5:R200)-ROW(R5),0), ist im Grunde nur R5:R200.

Wenn ich jedes Element eines Arrays mit seinem entsprechenden Gegenstück in einem anderen Array multiplizieren und ein neues Array erhalten kann, gibt der folgende LOOKUP die letzte von Null verschiedene Zahl in den gefilterten Daten aus.

=VERWEIS(2,1/NEUES-ARRAY,R5:R200)

Dies liegt daran, dass das SUBTOTAL-Array für jede gefilterte (sichtbare) Zelle 1 ergibt und wenn es mit dem Zellinhalt multipliziert wird, werden die sichtbaren Zellen mit einem Inhalt von 0 im neuen Array zu 0 (die zweite 1 in {0,1,1} mal 0 in {255,122,0}). Daher wird die letzte Zelle ungleich Null von LOOKUP erfasst.

Antwort1

Wie @Jeeped sagte, verwenden Sie INDEX:

INDEX({0,1,1}*{255,122,0},0)

Dadurch wird das Array {0,122,0} in eine andere Formel zurückgegeben.

Wenn wir die Zahlen addieren, können Sie Folgendes sehen:

=SUM(INDEX({0,1,1}*{255,122,0},0))

Das gibt 122 zurück

Antwort2

Mit dieser Formel können Sie die Elemente eines Arrays in die gewünschte Form bringen:

Bildbeschreibung hier eingeben

  • Geben Sie diese Formel in die Zelle ein A44und füllen Sie sie bis zum erforderlichen Umfang aus.

=A42*D42

Passen Sie die Zellbezüge in der Formel nach Bedarf an.

Antwort3

Angenommen, in den Zellen A1, B1 und C1 befinden sich jeweils 1, 2 und 3. Und in den Zellen A2, B3 und C2 befinden sich jeweils 4, 5 und 6.

In Zelle A3 können Sie die Formel eingeben:

= A1:C1 * A2:C2

und es wird ein Array von {4,10,18} generiert, das jeweils in A3, B3 und C3 übergeht.

verwandte Informationen