Ten artykuł zawiera opis składni formuły i zastosowania funkcji WARTOŚĆ.MODUŁU w programie Microsoft Excel.

Opis

Zwraca zagregowaną wartość z modułu.

Składnia

WARTOŚĆ.MODUŁU(połączenie;[wyrażenie_elementu1];[wyrażenie_elementu2];…)

W składni funkcji WARTOŚĆ.MODUŁU występują następujące argumenty:

  • Połączenie    Argument wymagany. Jest to ciąg tekstowy określający nazwę połączenia z modułem.

  • Wyrażenie_elementu    Argument opcjonalny. Jest to ciąg tekstowy określający wyrażenie wielowymiarowe (MDX), którego wartością jest unikatowy element modułu. Ten argument może również być zestawem zdefiniowanym przy użyciu funkcji ZESTAW.MODUŁÓW. Argument wyrażenie_elementu ma zastosowanie jako wyrażenie określające część modułu, dla której funkcja ma zwrócić zagregowaną wartość. Jeśli w argumencie wyrażenie_elementu nie zostanie podana miara, program użyje domyślnej miary modułu.

Spostrzeżenia

  • Podczas wyznaczania wartości, przed zakończeniem pobierania danych, funkcja WARTOŚĆ.MODUŁU tymczasowo wyświetla w komórce komunikat „#POBIERANIE_DANYCH…”.

  • Jeśli w argumencie wyrażenie_elementu jest używane odwołanie do komórki zawierające funkcję MODUŁ, w wyrażeniu jest używane wyrażenie MDX identyfikujące element znajdujący się w komórce, której dotyczy odwołanie, a nie wartość wyświetlana w tej komórce.

  • Jeśli nazwa połączenia nie jest prawidłowym połączeniem skoroszytu przechowywanym w skoroszycie, funkcja WARTOŚĆ.MODUŁU zwraca #NAME? wartość błędu #ADR!. Jeśli serwer OLAP (Online Analytical Processing) nie jest uruchomiony, niedostępny lub zwraca komunikat o błędzie, funkcja WARTOŚĆ.MODUŁU zwraca #NAME? wartość błędu #ADR!.

  • Jeśli co najmniej jeden element w krotce jest nieprawidłowy, funkcja WARTOŚĆ.MODUŁU zwraca #VALUE! wartość błędu #ADR!.

  • Funkcja WARTOŚĆ.MODUŁU zwraca wartość błędu #N/D! w następujących przypadkach:

    • Składnia argumentu wyrażenie_elementu jest nieprawidłowa.

    • W module nie ma elementu określonego argumentem wyrażenie_elementu.

    • Krotka jest nieprawidłowa, ponieważ dla określonych wartości nie ma przecięcia. (Może się tak zdarzyć w przypadku wielu elementów z tej samej hierarchii).

    • Zestaw zawiera co najmniej jeden element o innym wymiarze niż pozostałe elementy.

    • Funkcja WARTOŚĆ.MODUŁU może zwrócić wartość błędu #N/D!, gdy w tabeli przestawnej podczas udostępniania połączenia występuje odwołanie do obiektu zależnego od sesji, takiego jak element obliczeniowy lub nazwany zestaw, i gdy ta tabela przestawna zostaje usunięta lub jest konwertowana na formuły. (Na karcie Opcje w grupie Narzędzia kliknij przycisk Narzędzia OLAP, a następnie kliknij polecenie Konwertuj na formuły).

Problem: Wartości null są konwertowane na ciągi o zerowej długości

Jeśli komórka w programie Excel nie zawiera danych, ponieważ nigdy nie była zmieniona lub usunięto jej zawartość, to komórka ta zawiera wartość pustą. W wielu systemach baz danych wartość pusta jest nazywana wartością null. Wartość pusta, czyli wartość null, oznacza dosłownie „brak wartości”. Jednak formuła nie może zwracać pustego ciągu ani wartości null. Formuła zawsze zwraca jedną z trzech wartości: wartość liczbową, wartość tekstową (która może być ciągiem o zerowej długości) lub wartość błędu, na przykład #LICZBA! lub #ARG!.

Jeśli formuła zawiera funkcję WARTOŚĆ.MODUŁU połączoną z bazą danych OLAP (Online Analytical Processing), a zapytanie do tej bazy danych daje wartość Null, program Excel konwertuje tę wartość Null na ciąg znaków o zerowej długości, nawet jeśli w przeciwnym razie formuła zwróciłaby wartość liczbową. Może to prowadzić do sytuacji, w której zakres komórek zawiera kombinację wartości ciągów liczbowych i znaków o zerowej długości, a ta sytuacja może mieć wpływ na wyniki innych formuł odwołujące się do tego zakresu komórek. Jeśli na przykład komórki A1 i A3 zawierają liczby, a komórka A2 zawiera formułę z funkcją WARTOŚĆ.MODUŁU, która zwraca ciąg znaków o zerowej długości, następująca formuła zwróci #VALUE! błąd:

=A1+A2+A3

Aby temu zapobiec, należy sprawdzać występowanie ciągu o zerowej długości przy użyciu funkcji CZY.TEKST i zamieniać taki ciąg na wartość 0 (zero) przy użyciu funkcji JEŻELI, jak w poniższym przykładzie:

=JEŻELI(CZY.TEKST(A1);0;A1)+JEŻELI(CZY.TEKST(A2);0;A2)+JEŻELI(CZY.TEKST(A3);0;A3)

Można także zagnieździć funkcję WARTOŚĆ.MODUŁU w warunku JEŻELI, który zwróci wartość 0, gdy funkcja WARTOŚĆ.MODUŁU zwróci ciąg o zerowej długości, jak w poniższym przykładzie:

=JEŻELI(WARTOŚĆ.MODUŁU("Sprzedaż";"[Miary].[Zysk]";"[Czas].[2004]";"[Wszystkie produkty].[Napoje]")=""; 0; WARTOŚĆ.MODUŁU("Sprzedaż";"[Miary].[Zysk]";"[Czas].[2004]";"[Wszystkie produkty].[Napoje]"))

Należy pamiętać, że funkcja SUMA nie wymaga testowania wystąpień ciągu o zerowej długości, ponieważ automatycznie ignoruje ciągi o zerowej długości podczas obliczania zwracanej wartości.

Przykłady

=WARTOŚĆ.MODUŁU("Sprzedaż";"[Miary].[Zysk]";"[Czas].[2004]";"[Wszystkie produkty].[Napoje]")

=WARTOŚĆ.MODUŁU($A$1;"[Miary].[Zysk]";D$12;$A23)

=WARTOŚĆ.MODUŁU("Sprzedaż";$B$7;D$12;$A23)

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.