Szukam pomocy w napisaniu makra w Excelu
Moderatorzy: maria.j.nie, elgra, Galinski_Wojciech
- Bea

- Posty: 1599
- Rejestracja: pn 01 cze 2009, 20:03
- Lokalizacja: Mazowsze Północne (Ziemia Zawkrzeńska)
a ja mam problem..
niby excel liczy bez problemu rok 1900, tak ?
to jakim dniem tygodnia wg waszych exceli (może będzie różnie) jest Nowy Rok: 1 stycznia 1900.
mnie wychodzi, że niedziela
a faktycznie był poniedziałek...
mówię oczywiście o kalendarzu gregoriańskim,
(w juliańskim 1 stycznia był w sobotę)
Może ten mój excel źle liczy ?
niby excel liczy bez problemu rok 1900, tak ?
to jakim dniem tygodnia wg waszych exceli (może będzie różnie) jest Nowy Rok: 1 stycznia 1900.
mnie wychodzi, że niedziela
a faktycznie był poniedziałek...
mówię oczywiście o kalendarzu gregoriańskim,
(w juliańskim 1 stycznia był w sobotę)
Może ten mój excel źle liczy ?
Jak to liczysz?
Mój excel (2003) funkcją dzień.tyg(kolejna_liczba, zwracany_typ) zwraca w zależności od typu liczbę, którą zamieniam funkcją wyszukaj.pionowo() na dzień tygodnia słownie.
Zwracany typ to:
1 - niedziela 1 ... sobota 7
2 - poniedziałek 1 ... niedziela 7
3 - poniedziałek 0 ... niedziela 6
Spróbuj w funkcji dzień.tyg(liczba, 2), dopisać 2 (to pogrubione) i wszystko powinno się zgadzać.
Pozdrawiam
Gocha_D
Mój excel (2003) funkcją dzień.tyg(kolejna_liczba, zwracany_typ) zwraca w zależności od typu liczbę, którą zamieniam funkcją wyszukaj.pionowo() na dzień tygodnia słownie.
Zwracany typ to:
1 - niedziela 1 ... sobota 7
2 - poniedziałek 1 ... niedziela 7
3 - poniedziałek 0 ... niedziela 6
Spróbuj w funkcji dzień.tyg(liczba, 2), dopisać 2 (to pogrubione) i wszystko powinno się zgadzać.
Pozdrawiam
Gocha_D
- Bea

- Posty: 1599
- Rejestracja: pn 01 cze 2009, 20:03
- Lokalizacja: Mazowsze Północne (Ziemia Zawkrzeńska)
no właśnie dokładnie tak liczę, bo mi wygodniej jak pn=1 a niedziela =7
tylko ze mi data 1900-01-01 wychodzi, że jest to 7 czyli niedziela
o dziwo data 1900-12-31 jest ok
ale chyba już doszlam o co chodzi.... przyjęli, że 1900 był przestępny
wpiszcie 1900-02-29 - napisze że to środa
a tymczasem rok 1900 nie był przestępny
zgodzicie się ze mną ?
tylko ze mi data 1900-01-01 wychodzi, że jest to 7 czyli niedziela
o dziwo data 1900-12-31 jest ok
ale chyba już doszlam o co chodzi.... przyjęli, że 1900 był przestępny
wpiszcie 1900-02-29 - napisze że to środa
a tymczasem rok 1900 nie był przestępny
zgodzicie się ze mną ?
- Krzysztof_Wasyluk

- Posty: 766
- Rejestracja: śr 02 kwie 2008, 22:51
-
Sroczyński_Włodzimierz

- Posty: 35480
- Rejestracja: czw 09 paź 2008, 09:17
- Lokalizacja: Warszawa
- Otrzymał podziękowania: 1 time
tak, zgodzimy
błąd w 1900 jest opisany, do wyszukania
błąd w 1900 jest opisany, do wyszukania
Bez PW. Korespondencja poprzez maila:
https://genealodzy.pl/index.php?module= ... 3odzimierz
https://genealodzy.pl/index.php?module= ... 3odzimierz
Masz rację, rok 1900 nie był przestępny, coś pokręcili.
O ile dobrze zrozumiałam, masz problem ze słownym zapisem dnia tygodnia sprzed 29-02-1900 r. Napisałam dla Ciebie formułę, może Ci się przyda.
=WYSZUKAJ.PIONOWO(JEŻELI(A2<=$K$1,DZIEŃ.TYG(A2),DZIEŃ.TYG(A2,2)),$I$1:$J$7,2)
$K$1- komórka z datą 29-02-1900
$I$1:$J$7 tablica z nazwami dni tygodnia
Pozdrawiam
Gocha_D
O ile dobrze zrozumiałam, masz problem ze słownym zapisem dnia tygodnia sprzed 29-02-1900 r. Napisałam dla Ciebie formułę, może Ci się przyda.
=WYSZUKAJ.PIONOWO(JEŻELI(A2<=$K$1,DZIEŃ.TYG(A2),DZIEŃ.TYG(A2,2)),$I$1:$J$7,2)
$K$1- komórka z datą 29-02-1900
$I$1:$J$7 tablica z nazwami dni tygodnia
Pozdrawiam
Gocha_D
Ostatnio zmieniony ndz 14 cze 2020, 20:12 przez Gocha_D, łącznie zmieniany 1 raz.
Dziękuję serdecznie! Właśnie tego potrzebowałem.geneawdziek pisze:Miałem linki, które teraz nie działają. Ale coś tutaj znalazłem: https://www.radicalexcel.com/lecture.html (26F i 26G).
Ryszard
Krzysztof
Moje miejscowości: (Nowa) Dęba, Tarnowska Wola, Rozalin, Majdan Królewski, Huta Komorowska, Ślęzaki, Pliskowola, Suchowola, Osiek, Niekrasów, Ossala, Mielec-Rzochów.
- Bea

- Posty: 1599
- Rejestracja: pn 01 cze 2009, 20:03
- Lokalizacja: Mazowsze Północne (Ziemia Zawkrzeńska)
sprawdźcie proszę czy to działa ?
i czy dobrze działa ? (tj. czy podaje dobrą nazwę dnia tygodnia)
https://docs.google.com/spreadsheets/d/ ... sp=sharing
niestety nie specjalnie korzystałam z arkuszy googla i nie do końca umiem się tym posługiwać
komórki edytowalne, to tylko te: rok / miesiąc / dzień
ciekawe co będzie jak kilka osób na raz zacznie zmieniać ???
PS
no już wiem co będzie
zawiesi się
i dzień tygodnia będzie liczyć bardzo długo
i czy dobrze działa ? (tj. czy podaje dobrą nazwę dnia tygodnia)
https://docs.google.com/spreadsheets/d/ ... sp=sharing
niestety nie specjalnie korzystałam z arkuszy googla i nie do końca umiem się tym posługiwać
komórki edytowalne, to tylko te: rok / miesiąc / dzień
ciekawe co będzie jak kilka osób na raz zacznie zmieniać ???
PS
no już wiem co będzie
zawiesi się
i dzień tygodnia będzie liczyć bardzo długo
- Bea

- Posty: 1599
- Rejestracja: pn 01 cze 2009, 20:03
- Lokalizacja: Mazowsze Północne (Ziemia Zawkrzeńska)
Gosiu kompletnie mnie nie zrozumiałaś. Zrobiłam arkusz excel określający dzień tygodnia dla dat sprzed 1900. Bo po 1900 jest normalna funkcja. I pisząc formuły coś mi się nie chciało zgodzić - właśnie wtedy odkryłam, że jest pomyłka w roczniku 1900 w excelu, a od tego się odnosiłam.Gocha_D pisze:Przetestowałaś formułę, którą napisałam (dwa posty wyżej) - wynik natychmiastowy.
Pozdrawiam
Gocha_D
Ale skoro - pomyłka jest udokumentowana, to wszystko gra.
Chyba.
Bo jak dotąd nikt nie skomentował, czy - np. dla jakiś wybiórczych dat - mu się zgadza. Bo może gdzieś się pomyliłam. Zdarza się.
Niestety coś jest nie tak z dokumentem googla - strasznie wolno pracuje. Np. konstytucja 3Maja - wskoczyła mi na początku sobota. Już się zdenerwowałam, że coś jest źle - ale w końcu pokazało wtorek.
Na razie mnie się zgodziło z tym https://www.infor.pl/kalkulatory/wieczn ... .html#form Ale gdybyście mieli jakieś potwierdzenia dokumentów genealogicznych do sprawdzenia poprawności, to byłoby super.
A może zamiast Excela zainstalować darmowy OpenOffice lub LibreOffice. Tam funkcja liczenia dnia tygodnia działa prawidłowo, również dla dat przed 1800 rokiem. I daty można wpisywać bez kombinacji typu: 1.1.1800
Przykład (1=poniedziałek):
1.01.1900 1
31.12.1899 7
1.01.1800 3
1.01.1700 5
Przykład (1=poniedziałek):
1.01.1900 1
31.12.1899 7
1.01.1800 3
1.01.1700 5
--
Pozdrawiam Paweł
Pozdrawiam Paweł
Nie ma potrzeby pisać na nowo. Wcześniej już został podany link do gotowego arkusza, który to liczy.Gocha_D pisze:Źle Cię zrozumiałam, bo napisałaś, że korzystasz z formuły dzień.tyg(), a ona nie działa przed 1900 rokiem. Do testów też podawałaś daty z XX wieku:-)
Jaki zakres dat Cię interesuje? Pomyślę o funkcji działającej w excelu.
Pozdrawiam,
Gocha_D.
Sprawdziłem i jest to bardzo wygodny sposób. Konieczna jest włączona obsługa makr.Miałem linki, które teraz nie działają. Ale coś tutaj znalazłem: https://www.radicalexcel.com/lecture.html (26F i 26G).
Ryszard
Moje miejscowości: (Nowa) Dęba, Tarnowska Wola, Rozalin, Majdan Królewski, Huta Komorowska, Ślęzaki, Pliskowola, Suchowola, Osiek, Niekrasów, Ossala, Mielec-Rzochów.
- Bea

- Posty: 1599
- Rejestracja: pn 01 cze 2009, 20:03
- Lokalizacja: Mazowsze Północne (Ziemia Zawkrzeńska)
Gosiu już nie potrzeba, zadanie jest już wykonane. W linku jest https://docs.google.com/spreadsheets/d/ ... sp=sharing jest rozwiązanie.
Kombinacji nie jest dużo. Albo rok jest przestępny - albo nie. Albo nowy rok jest w poniedziałek, albo we wtorek itd.
Raptem 14 możliwości.
Jeżeli Nowy Rok 1896 był w środę i był to rok przestępny, to układ dni tygodnia jest dokładnie taki sam jak w 2020 - który też jest przestępny i też 1 stycznia wypadał w środę.
Czyli skoro 16 czerwca 2020 to wtorek, to 16 czerwca 1896 to też wtorek.
Wystarczy określić funkcją, które lata są przestępne, a które nie (to akurat proste) i jaki mają pierwszy dzień w roku (to też nie trudne jak się ma do dyspozycji excela).
A pełne rozwiązanie - w linku do arkusza powyżej.
P.S.
ja nie lubię makr
Kiedyś korzystałam, natrudziłam się... a następnie okazało się że nowa wersja excela nie obsługuje tego makra. To mnie skutecznie zniechęciło do mark.
Kombinacji nie jest dużo. Albo rok jest przestępny - albo nie. Albo nowy rok jest w poniedziałek, albo we wtorek itd.
Raptem 14 możliwości.
Jeżeli Nowy Rok 1896 był w środę i był to rok przestępny, to układ dni tygodnia jest dokładnie taki sam jak w 2020 - który też jest przestępny i też 1 stycznia wypadał w środę.
Czyli skoro 16 czerwca 2020 to wtorek, to 16 czerwca 1896 to też wtorek.
Wystarczy określić funkcją, które lata są przestępne, a które nie (to akurat proste) i jaki mają pierwszy dzień w roku (to też nie trudne jak się ma do dyspozycji excela).
A pełne rozwiązanie - w linku do arkusza powyżej.
P.S.
ja nie lubię makr
Kiedyś korzystałam, natrudziłam się... a następnie okazało się że nowa wersja excela nie obsługuje tego makra. To mnie skutecznie zniechęciło do mark.