Zellenadressenfunktion für den gesamten Referenzbereich

496
mwolfe02

Die Funktion OFFSET($A$1:$Z$25,2,3,4,5)bezieht sich auf den Bereich $D$3:$H$6des aktuellen Arbeitsblatts.

Übergebe ich als ersten Parameter "address" CELLund OFFSETals zweiten Parameter die obige Funktion, bekomme ich nur die Adresse der ersten Zelle im Bereich. Mit anderen Worten,

=CELL("address", OFFSET($A$1:$Z$25,2,3,4,5)) 

ergibt einen Wert von $D$3.

Gibt es eine Möglichkeit, eine Funktion zu schreiben, um die vollständige Referenz für einen Zellbereich zurückzugeben? Zum Beispiel so etwas wie:

=RANGE("address", OFFSET($A$1:$Z$25,2,3,4,5)) 

das würde einen Wert von $D$3:$H$6?

BEARBEITEN : Mit einem kleinen VBA ist das nicht so einfach. Ich hatte gehofft, dies zu vermeiden, so dass ich nicht gezwungen wäre, eine als Makro aktivierte .xlsm-Datei zu speichern. Hier ist die VBA-Funktion, die ich mit Arbeitsblattfunktionen allein implementieren möchte:

Function ShowAddress(CellRange As Range) As String ShowAddress = CellRange.Address End Function 

Hinweis: Meine Motivation, dies zu erreichen, besteht darin, beim Debuggen der Erstellung komplexer dynamischer benannter Bereiche zu helfen. Ich weiß, dass ich die Formel kopieren und in die Goto-Box einfügen kann, aber dies erhöht den Entwicklungszyklus erheblich.

0

1 Antwort auf die Frage

0
teylyn

Cell () gibt nur die erste Zelle in einer Mehrfachzellenreferenz zurück. Siehe den Support-Artikel .

Wenn Sie eine Mehrfachzellenreferenz erstellen möchten, können Sie Index () für den ersten Bereich und einen anderen Index für die letzte Zelle im Bereich verwenden. Kombinieren Sie die beiden Indexfunktionen mit einem Operator: und das Ergebnis wird ein Bereich sein. Beachten Sie, dass eine solche Formel in einem Argument verwendet werden kann, das einen Bereich erwartet, z. B. Sum (), oder in einer benannten Formel im Namensmanager, jedoch nicht in einer Arbeitsblattzelle, da sie einen Bereich zurückgibt.

=index(sheet1!$A$1:$Z$25,3,4):Index(Sheet1!$A$1:$Z$25,6,8) 

enter image description here

Ich verstehe, wie die Funktion CELL () funktioniert. Ich versuche, komplexe dynamische Bereichsfunktionen zu debuggen, und ich habe die Funktion CELL () als Beispiel für die Art von Merkmal verwendet, nach der ich gesucht habe. Ich hatte gehofft, es würde eine Nicht-Code-Lösung geben, aber ich muss vielleicht nur auf VBA zurückgreifen. Danke trotzdem. mwolfe02 vor 6 Jahren 0
Ich habe Ihnen gezeigt, wie Sie dies mit der Index-Funktion machen. Dies erfordert keine VBA. Wenn Sie alle Parameter für die Funktion Offset haben, haben Sie auch alle Parameter für die beiden Indexfunktionen. teylyn vor 6 Jahren 0