dynamiczne odwołania i dni tygodnia w arkuszu calc… oraz cena ignorancji

gdy chce się zrobić coś więcej w Calc’u niż dodawanie, a nie przechodziło się szkolenia (tylko po partyzancku szukało się intuicyjnie po nazwach funkcji i podglądało przykładu w helpie, gdy była potrzeba) to można wiele czasu stracić na banał…

prosta rzecz: pokaż mi nazwę dnia tygodnia obok daty…

oczywiście =DZIEŃ.TYG(A4)  zwraca nr dnia: 0 – ND, 1 – PN, 2 – WT, itd.. <-zbieżność adresu komórki przypadkowa🙂

można zrobić 7 IFów, ale chciałem szybciej: w kolejnych komórkach mam nazwy dni tyg.–> odwołuj się do pierwszej+DZIEŃ.TYG(A4)


NO I TU SCHODY: jak się „odwołać do kolejnej komórki”, a nie „dodać jeden do jej wartości”, czyli inkrementować wskaźnik, a nie wartość… ???

Calc nie rozumie =A(4+1)  bo nie zna funkcji A, czy nawet bezwzględnie =$A$(4+1)

no to googlanie;

problemy z googlaniem:

  1. większość przykładów jest dla Excela (ale nie zetknąłem się z problemem kompatybilności)
  2. nazwy funkcji w polskim offic’ie są spolszczone (ale tłumaczenia są w większości OK)

jednak pomimo nich:

można stworzyć adres:  =ADRES(4+1,1) <– zwróci $A$5, ale nie wyświetli wartości komórki z tego adresu…

kombinowanie, szukanie, kombinowanie… –> jest: =KOMÓRKA(„contents”;ADR.POŚR(T(ADRES(4+DZIEŃ.TYG(B8);1))))

w B8 jest data, a w kolumnie od A4 są nazwy dni

skomplikowane?

=T zamienia adres na tekst, a =ADR.POŚR z powrotem na adres; nie wiem dlaczego, ale bez tych 2 funkcji nie działa😦

no i najważniejsze:

=KOMÓRKA(„contents”… zwraca wartość komórki, a nie jej adres


no i tak wykombinowałem, ale dopiero teraz robiąc risercz do posta znalazłem, OFFSET, czyli =PRZESUNIĘCIE() <– to czego od początku szukałem ;( (nazwa wyjątkowo nieintuicyjna)

  • czyli wystarczy =PRZESUNIĘCIE(A4;1;2), żeby dostać wartość komórki C5
  • jest też odpowiednik switch’a, więc zamiast 7 IF’ów można napisać =WYBIERZ(C10;”niedziela”;”poniedziałek”;”wtorek”;”środa”;”czwartek”;”piątek”;”sobota”)

    • c10 <– to nr dnia tygodnia
  • w ogóle, to formatowanie komórki jako daty –> wystarczy maska „NNNN”; czy z poziomu funkcji: =TEKST(C10;”NNNN”)

Tagi: , ,

Jedna odpowiedź to “dynamiczne odwołania i dni tygodnia w arkuszu calc… oraz cena ignorancji”

  1. MareKopel Says:

    a w GoogleDocs nie ma „NNNN”, czy „DDDD”, ale jest „ddEEEE”… i trzeba tylko wyciąć 2 pierwsze znaki…
    za http://sites.google.com/site/gssfaq/#WeekDay

Skomentuj

Please log in using one of these methods to post your comment:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s


%d bloggers like this: