OFFSET zur Referenzierung von Hyperblocks verwenden

Dieser Abschnitt beschreibt die OFFSET-Funktion. Dabei wird auf den Beispielbericht RP006 der Beispielanwendung verwiesen.

Die OFFSET-Funktion wurde nicht speziell für Application Studio entwickelt, kann aber bei der Arbeit mit Hyperblocks sehr hilfreich sein, da Hyperblocks im Ansichtsmodus dynamisch sind. Im Bearbeitungsmodus sind Hyperblocks statisch, belegen also einen bestimmten Zellbereich. Im Ansichtsmodus hingegen erweitern und reduzieren sich Hyperblocks mit ihrem Inhalt, wodurch genaue Zellreferenzen bedeutungslos werden. Wenn Sie also zum Beispiel in einer Formel, die sich außerhalb des Hyperblocks befindet, Zellen innerhalb des Hyperblocks referenzieren müssen, benötigen Sie eine dynamische Formel.

Mit der Funktion OFFSET geben Sie Zellen an, indem Sie deren Position relativ zu einer Referenzzelle bestimmen. Sie geben die Position mithilfe von Koordinaten an, die dem Abstand von der ursprünglichen Referenzzelle in Zeilen und Spalten entsprechen.

Im folgenden Beispiel wird Zelle C13 referenziert:

=OFFSET(F11,2,-3)

Zelle F11 ist die ursprüngliche Referenzzelle. Das zweite Argument (2) zeigt an, dass sich die referenzierte Zelle zwei Zeilen unter F11 befindet. Das dritte Argument (-3) zeigt an, dass sich die referenzierte Zelle drei Spalten links von F11 befindet.

Im folgenden Beispiel wird ebenfalls Zelle C13 referenziert:

=OFFSET(B21,-8,1)

Zelle B21 ist die ursprüngliche Referenzzelle. Das zweite Argument (-8) zeigt an, dass sich die referenzierte Zelle acht Zeilen über B21 befindet. Das dritte Argument (1) zeigt an, dass sich die referenzierte Zelle eine Spalte rechts von B21 befindet.

OFFSET wird häufig in Application Studio verwendet, um kumulierte Werte zu berechnen, die beispielsweise in ABC-Analysen oder Pareto-Diagrammen benötigt werden. Bei der Berechnung kumulierter Werte wird der Wert der aktuellen Zelle zum Wert der darüberliegenden Zelle addiert. In der dynamischen Umgebung eines Hyperblocks kann die darüberliegende Zelle allerdings nicht als statische Referenz angegeben werden.

Bericht RP006 enthält ein Beispiel für die Verwendung von OFFSET zur Berechnung kumulierter Werte.

Bericht RP006 enthält einen Hyperblock, der aus der Dimension Product des Cubes Analysis der Beispielanwendung erstellt wurde.

Der Hyperblock enthält zwei Wertezellen. In der ersten Wertezelle zeigt eine ROC-Formel einen Wert für jede Gruppe von Produkten an. In der zweiten Wertezelle befindet sich eine OFFSET-Formel.

Im Ansichtsmodus vervielfältigt die Zelle die Werte der ersten Wertezelle. Das liegt daran, dass die OFFSET-Formel fehlerhaft ist.

Die Formel in Zelle E5 lautet:

=OFFSET(E5,0,0)+D5

So ändern Sie die OFFSET-Formel, um kumulierte Werte anzuzeigen:

  1. Klicken Sie im Bearbeitungsmodus auf Zelle E5.
  2. Ändern Sie im Formel-Editor das zweite Argument der OFFSET-Formel von 0 auf -1. Ändern Sie die Formel also in: =OFFSET(E5,-1,0)+D5. Der Wert -1 bedeutet hier 'die Zeile darüber'.

    Im Ansichtsmodus werden nun kumulierte Werte und die Beschriftung Cumulative angezeigt. Dies wird ebenfalls durch eine OFFSET-Funktion erreicht, die sich in Zelle E3 befindet und in eine IF-Anweisung eingebettet ist.

    Die IF-Anweisung lautet: =IF(OFFSET(E3,3,0)=OFFSET(E3,3,-1),"","Cumulative")

    Wir wissen, dass die Werte in der ersten Zeile der Ergebnisse immer gleich sind. Wenn kumulierte Werte angezeigt werden, sind die Werte in allen anderen Zeilen allerdings nicht gleich. Die IF-Anweisung prüft deshalb, ob die Werte in Zeile 2 gleich sind.

    Die IF-Anweisung lässt sich also folgendermaßen ausdrücken: Wenn der Wert der Zelle, die sich drei Zeilen unter E3 befindet, mit dem Wert der Zelle übereinstimmt, die sich drei Zeilen unter und eine Spalte links von E3 befindet, dann zeige nichts an (""). Zeige andernfalls "Cumulative" an.