Použití funkce OFFSET k odkazování na hyperbloky

Toto téma popisuje funkci OFFSET. Odkazuje se na ukázkový report RP006 v aplikaci Vzorky.

Funkce OFFSET není specifická pro Application Studio, ale je zvláště užitečná při práci s hyperbloky, a to proto, že v režimu Zobrazení jsou hyperbloky dynamické. V režimu Návrh je hyperblok statický. Zabírá tedy konkrétní rozsah buněk. V režimu Zobrazení se však hyperblok zvětšuje a zmenšuje se svým obsahem, takže odkazy na konkrétní buňky nedávají smysl. Pokud tedy máte například vzorec mimo hyperblok, který se odkazuje na buňky v hyperbloku, potřebujete použít dynamický vzorec.

Pomocí funkce OFFSET identifikujete buňky zadáním jejich pozice vzhledem k počáteční referenční buňce. Pozici zadáte jako vzdálenost od původní referenční buňky, kterou uvedete jako počet řádků a sloupců.

Následující příklad odkazuje na buňku C13:

=OFFSET(F11,2,-3)

Buňka F11 je výchozí referenční buňkou. Druhý argument 2 udává, že odkazovaná buňka se nachází dva řádky pod buňkou F11. Třetí argument 3 udává, že odkazovaná buňka se nachází 3 sloupce vlevo od buňky F11.

Následující příklad rovněž odkazuje na buňku C13:

=OFFSET(B21,-8,1)

Buňka B21 je výchozí referenční buňkou. Druhý argument -8 udává, že odkazovaná buňka se nachází 8 řádků nad buňkou B21. Třetí argument 1 udává, že odkazovaná buňka se nachází 1 sloupec vpravo od buňky B21.

Funkce OFFSET se v aplikaci Application Studio běžně používá k výpočtu kumulativních hodnot používaných například v ABC analýzách nebo v Paretových diagramech. Kumulativní hodnota se počítá jako součet hodnoty aktuální buňky a buňky nad ní. V dynamickém prostředí hyperbloku však nelze výše uvedenou buňku zadat formou statického odkazu.

Report RP006 obsahuje příklad použití funkce OFFSET k výpočtu kumulativních hodnot.

Report RP006 používá hyperblok vytvořený z dimenze Produkt datové kostky Analýza v aplikaci Vzorky.

Hyperblok má dvě buňky s hodnotami. V první buňce s hodnotou zobrazuje vzorec ROC hodnotu pro každou skupinu produktů. Druhá buňka s hodnotou obsahuje vzorec OFFSET.

V režimu Zobrazení buňka kopíruje hodnoty z první buňky. To je proto, že vzorec OFFSET není správný.

Vzorec v buňce E5 je:

=OFFSET(E5,0,0)+D5

Změna vzorce OFFSET, aby zobrazoval kumulativní hodnoty:

  1. V režimu Návrh klikněte na buňku E5.
  2. V editoru vzorců změňte druhý argument vzorce OFFSET z 0 na -1. Vzorec tedy bude vypadat takto: =OFFSET(E5,-1,0)+D5. Hodnota -1 zde znamená ‚řádek nad buňkou‘.

    V režimu Zobrazení se zobrazí kumulativní hodnoty a popisek Kumulativní. K tomu slouží rovněž funkce OFFSET v buňce E3 vnořená v příkazu IF.

    Příkaz IF má následující tvar: =IF(OFFSET(E3,3,0)=OFFSET(E3,3,-1),"","Kumulativní")

    Víme, že hodnoty v prvním řádku výsledků jsou vždy stejné. Při zobrazení kumulativních hodnot však hodnoty v ostatních řádcích stejné nejsou. Příkaz IF tedy testuje, zda jsou hodnoty v řádku 2 stejné.

    Příkaz IF lze vyjádřit následovně: Je-li hodnota buňky, která se nachází 3 řádky pod buňkou E3, rovna hodnotě buňky, která se nachází 3 řádky pod a jeden sloupec nalevo od buňky E3, nezobrazí se nic (""). Jinak se zobrazí text „Kumulativní“.