Definieren eines Bereichs mithilfe einer Formel

Definieren eines Bereichs mithilfe einer Formel

Eine vereinfachte Version meines Problems besteht darin, dass Sheet2ich auf einem anderen Blatt Daten habe, die ich mitteln möchte:

=AVERAGE(Sheet2!$A$1:Sheet2!$A$100)

Je nachdem, wo der obige Code verwendet wird, muss ich column Adurch einen anderen Buchstaben ersetzen, zum Beispiel column D. Dazu habe ich eine Funktion erstellt:

=MID("ABCDEFGHIJKLMNOPQRSTUVWXYZ",4,1)

das gibt aus D.

Mein Problem ist, dass ich nicht Folgendes schreiben muss:

=AVERAGE(Sheet2!$D$1:Sheet2!$D$100)

Ich möchte benutzen:

=AVERAGE(Sheet2!$MID("ABCDEFGHIJKLMNOPQRSTUVWXYZ",4,1)$1:Sheet2!$MID("ABCDEFGHIJKLMNOPQRSTUVWXYZ",4,1)$100)

aber Excel akzeptiert dies nicht. Wie kann ich Funktionen neben verwenden Sheet2!?

Antwort1

Sie können INDIRECT verwenden:

=AVERAGE(INDIRECT ("Sheet2!$" & MID("ABCDEFGHIJKLMNOPQRSTUVWXYZ",4,1)&"$1:Sheet2!$" & MID("ABCDEFGHIJKLMNOPQRSTUVWXYZ",4,1)&"$100"))

Antwort2

OFFSET und INDIRECT sind volatil, wir können INDEX verwenden

=AVERAGE(INDEX(Sheet2!$A$1:$Z$100,0,4))

Das 0weist den INDEX an, alle Zeilen zurückzugeben, und das 4ist die 4. Spalte. Daher werden alle Zeilen von 1 bis 100 in Spalte 4 gemittelt.

Gemäß Ihren Kommentaren:

=AVERAGE(INDEX(Sheet2!$A$1:$Z$100,0,(COLUMN(A:A)-1)*3))

Antwort3

Hier ist eine Möglichkeit:

=AVERAGE(OFFSET(Sheet2!$A:$A,0,(COLUMN()-1)*3))

Beachten Sie, dass OFFSETes volatil ist und die Berechnungslast in Ihrer Arbeitsmappe erhöht

verwandte Informationen