Witold Sobków

Witold Sobków Problem Analyst

Temat: Wyświetlenie ilości dni danego miesiąca oraz bieżącego...

Witam,

Czy mógłbym prosić o 1) wskazanie funkcji na wyświetlenie ilości dni z jakiej składa się bieżący miesiąc oraz funkcji, która 2) codziennie zmieni liczbę zwracając aktualny dzień miesiąca.

1. Mamy Marzec. Marzec ma 31 dni. Chciałbym aby w polu w przyszłym miesiącu wyświetliło się 30, jako, że Kwiecień ma 30 dni.

2. Dziś 15 Marca, zatem wartość powinna wskazywać 15 :) Jutro natomiast 16.

=datevalue("xxxx/xx/xx") zwraca serial_number, który wprowadzony do funkcji =day(serial_number) zwraca bieżący dzień, ale raczej nie zmieni go jutro na 16 ponieważ serial aktualny jest dla 15-go.

Dziękuję z góry.

konto usunięte

Temat: Wyświetlenie ilości dni danego miesiąca oraz bieżącego...

Witam,
może tak:
1.

=DZIEŃ(DATA(ROK(DZIŚ());MIESIĄC(DZIŚ())+1;1)-1)

2.

=DZIEŃ(DZIŚ())

Pozdrawiam.
Witold Sobków

Witold Sobków Problem Analyst

Temat: Wyświetlenie ilości dni danego miesiąca oraz bieżącego...

Druga funkcja działa :) Pierwsza niestety nie.. mogę prosić o krótki opis, który pozwoli mi to zrozumieć? :)
Grzegorz C.

Grzegorz C. Specjalista,
Uniwersytet Śląski

Temat: Wyświetlenie ilości dni danego miesiąca oraz bieżącego...

Mała poprawka do formuły zaproponowanej przez Darka
=DZIEŃ(DATA(ROK(DZIŚ());MIESIĄC(DZIŚ())+2;1)-1)
Witold Sobków

Witold Sobków Problem Analyst

Temat: Wyświetlenie ilości dni danego miesiąca oraz bieżącego...

W angielskiej wersji Excela wyświetla mi 30/01/1900. Gdy usunę +2 i -1 wyświetla 01/01/1900. Nie wiem do końca co dodaje +2 a co odejmuje -1. Ponadto funkcja =DATE powinna wyświetlić 30 z daty 30/01/1900 a wyświetla ją całą. Don't get it.

Oto funkcja:
=DAY(DATE(YEAR(TODAY()), MONTH(TODAY())+2, 1)-1) - przekalkowana na amerykański :)
Mariusz Jankowski

Mariusz Jankowski Programista
Excel/VBA

Temat: Wyświetlenie ilości dni danego miesiąca oraz bieżącego...

Sprawdź jeszcze takie rozwiązanie:

=DAY(DATE(YEAR(TODAY());MONTH(TODAY())+1;0))
Witold Sobków

Witold Sobków Problem Analyst

Temat: Wyświetlenie ilości dni danego miesiąca oraz bieżącego...

Dobrze, dziękuję. Wygląda na to, że działa, ale.. :)

Funkcja bez +1 czyli w postaci:
=DATE(YEAR(TODAY()); MONTH(TODAY());0)
Zwraca: 2012-02-29

Funkcja z +1 a zatem w postaci:
=DATE(YEAR(TODAY()); MONTH(TODAY())+1;0)
Zwraca: 2012-03-31

Dlaczego wyświetla 29 luty i dlaczego należy dodać 1 aby wyświetliło poprawnie? :)

Dzięki z góry za wyjaśnienie.
Mariusz Jankowski

Mariusz Jankowski Programista
Excel/VBA

Temat: Wyświetlenie ilości dni danego miesiąca oraz bieżącego...

To jest bardzo ciekawy trick :-).

Kluczowe jest tutaj zrozumienie faktu, że dzień 0 danego miesiąca jest przez Excela traktowany jako ostatni dzień poprzedniego miesiąca... Czyli w mojej formule dodajemy 1 do miesiąca -> mamy kwiecień, ale ustawienie dnia na 0 powoduje, że konkretnie otrzymujemy datę 31 marca 2012r. Funkcja DAY() dokonuje formalności i wyciąga numer dnia z tej daty.

W Twoim przypadku:
1. Funkcja nie dodaje miesiąca, czyli mamy cały czas marzec. Ustawienie 0 dla dnia powoduje, że wynikiem jest 29 luty 2012r. - jak wpiszesz zamiast zera jedynkę to bęzie 1 marca 2012r.
2. Tutaj podobnie. Do miesiąca dodajemy 1 czyli mamy kwiecień, ale ustawienie zera na dzień powoduje, że otrzymujemy datę 31 marca 2012r.

Pozdrawiam

konto usunięte

Temat: Wyświetlenie ilości dni danego miesiąca oraz bieżącego...

Ad.1) Tu można też w ten deseń:
=DZIEŃ(NR.SER.OST.DN.MIES(DZIŚ();0))
Witold Sobków

Witold Sobków Problem Analyst

Temat: Wyświetlenie ilości dni danego miesiąca oraz bieżącego...

W przypadku 12 miesiąca (grudzien) + 1 (zrozumie jako styczeń 2013?) i zwróci 31 grudnia 2012? :)
Mariusz Jankowski:
To jest bardzo ciekawy trick :-).

Kluczowe jest tutaj zrozumienie faktu, że dzień 0 danego miesiąca jest przez Excela traktowany jako ostatni dzień poprzedniego miesiąca... Czyli w mojej formule dodajemy 1 do miesiąca -> mamy kwiecień, ale ustawienie dnia na 0 powoduje, że konkretnie otrzymujemy datę 31 marca 2012r. Funkcja DAY() dokonuje formalności i wyciąga numer dnia z tej daty.

W Twoim przypadku:
1. Funkcja nie dodaje miesiąca, czyli mamy cały czas marzec. Ustawienie 0 dla dnia powoduje, że wynikiem jest 29 luty 2012r. - jak wpiszesz zamiast zera jedynkę to bęzie 1 marca 2012r.
2. Tutaj podobnie. Do miesiąca dodajemy 1 czyli mamy kwiecień, ale ustawienie zera na dzień powoduje, że otrzymujemy datę 31 marca 2012r.

Pozdrawiam
Mariusz Jankowski

Mariusz Jankowski Programista
Excel/VBA

Temat: Wyświetlenie ilości dni danego miesiąca oraz bieżącego...

Witold Sobków:
W przypadku 12 miesiąca (grudzien) + 1 (zrozumie jako styczeń 2013?) i zwróci 31 grudnia 2012? :)

Tak jest :-).
Witold Sobków

Witold Sobków Problem Analyst

Temat: Wyświetlenie ilości dni danego miesiąca oraz bieżącego...

=LEFT(TEXT(DATE(YEAR(TODAY()),MONTH(TODAY())+1,DAY(0)),"dd/mm/yyyy"),2) zwraca 31 :)
Krzysztof Leszczyński

Krzysztof Leszczyński na raz na dwa, świat
za uszy dziś złap...

Temat: Wyświetlenie ilości dni danego miesiąca oraz bieżącego...

Witam,

podłączę się pod pytanie, ponieważ potrzebuję obok podanych już rozwiązań jeszcze jednego, a mianowicie, mając 15 lipca, po wpisaniu w komórkach
A1:   2017-07
B1:   =DZIEŃ(NR.SER.OST.DN.MIES(A1;0))
C1:   =DZIEŃ(DZIŚ())
otrzymam odpowiednio w:
B1:   30
C1:   15

Ale już 5 sierpnia komórki będą wyświetlały
B1:   30
C1:   5

Chciałbym, aby komórka C1 wyświetlała:
C1:   30

czyli tyle dni, ile było w danym miesiącu, czy już w nim minęło. Dla prostszego wytłumaczenia, jeśli lipiec ma 30 dni, to 15 lipca będzie wyświetlało się 15, dla 26 lipca będzie to 26, ale już dla 5 sierpnia powinno być też 30. Zresztą dla 28 grudnia C1 też 30. Da się?
Tutaj należy pamiętać, że gdy dzisiaj mamy 15 lipca, to w komórce C1 wyświetli się 15, ale gdyby dziś byłby 6 maja, to komórka C1 powinna dać 0.

Dziękuję za ewentualny poświęcony czas
KrzysiekTen post został edytowany przez Autora dnia 13.07.17 o godzinie 23:25
Bogdan Gilarski

Bogdan Gilarski www.excelperfect.pl
Perfect And
Practical

Temat: Wyświetlenie ilości dni danego miesiąca oraz bieżącego...

Krzysztof L.:
Dla prostszego wytłumaczenia, jeśli lipiec ma 30 dni,

Czytam, czytam,... i nie ogarniam problemu.
Który Lipiec ma 30 dni, który Grudzień ma 30 dni?
Krzysztof Leszczyński

Krzysztof Leszczyński na raz na dwa, świat
za uszy dziś złap...

Temat: Wyświetlenie ilości dni danego miesiąca oraz bieżącego...

ok, może za bardzo zawile.

ustawiam sobie komórkę, w której - niezależnie od miesiąca - będzie wyświetlała się ilość dni z ustalonego miesiąca.

Jeśli ustalimy sobie miesiąc na wrzesień (A1), to jedna komórka (A2) ma wskazywać, ile jest w tym miesiącu dni (to ogarniam), a druga komórka (A3) ma wskazywać, ile już dni upłynęło w tym miesiącu. I teraz, jeśli mamy 17 lipca, to komórka A3 powinna wskazywać 0 (zero). Jeśli będzie 13 września, to komórka A3 powinna wskazywać 13, a jeśli będziemy mieli 25 grudnia, to komórka A3 powinna wskazywać 30.

PS. z lipcem się pomyliłem, z grudniem chodziło o wyświetlanie ilości dni w lipcu ;-)Ten post został edytowany przez Autora dnia 17.07.17 o godzinie 10:27
Bogdan Gilarski

Bogdan Gilarski www.excelperfect.pl
Perfect And
Practical

Temat: Wyświetlenie ilości dni danego miesiąca oraz bieżącego...

Mam nadzieję, że o to chodziło
=JEŻELI(MIESIĄC(DZIŚ())=MIESIĄC(A1);DZIEŃ(A1);JEŻELI(DZIŚ()<A1;0;30))

Czyli, jeżeli data jest z bieżącego m-ca to wynikiem jest dzień m-ca, jeżeli z wcześniejszego miesiąca to 30, jeżeli natomiast data jest z późniejszego m-ca niż aktualny, to 0.
Krzysztof Leszczyński

Krzysztof Leszczyński na raz na dwa, świat
za uszy dziś złap...

Temat: Wyświetlenie ilości dni danego miesiąca oraz bieżącego...

Bogdan G.:
Czyli, jeżeli data jest z bieżącego m-ca to wynikiem jest dzień m-ca, jeżeli z wcześniejszego miesiąca to 30, jeżeli natomiast data jest z późniejszego m-ca niż aktualny, to 0.
dokładnie tak,tyle tylko że:
=JEŻELI(MIESIĄC(DZIŚ())=MIESIĄC(A1);DZIEŃ(A1);JEŻELI(DZIŚ()<A1;0;30))
nie wiem dlaczego, ale w danym miesiącu wyświetla mi 1.

PS. Próbuję jeszcze to rozwikłać ;-)Ten post został edytowany przez Autora dnia 18.07.17 o godzinie 09:51
Bartosz O.

Bartosz O. Administrator
systemów

Temat: Wyświetlenie ilości dni danego miesiąca oraz bieżącego...

Krzysztof L.:
Bogdan G.:
Czyli, jeżeli data jest z bieżącego m-ca to wynikiem jest dzień m-ca, jeżeli z wcześniejszego miesiąca to 30, jeżeli natomiast data jest z późniejszego m-ca niż aktualny, to 0.
dokładnie tak,tyle tylko że:
=JEŻELI(MIESIĄC(DZIŚ())=MIESIĄC(A1);DZIEŃ(A1);JEŻELI(DZIŚ()<A1;0;30))
nie
>
wiem dlaczego, ale w danym miesiącu wyświetla mi 1.

PS. Próbuję jeszcze to rozwikłać ;-)

Pokazuje 1 bo pewnie masz w A1 wpisane np 2017-07-01. Drugi błąd, który widzę to wartość 30 na końcu - tam też powinna być funkcja.

Spróbuj tego:

=JEŻELI(MIESIĄC(DZIŚ())=MIESIĄC(A1);DZIEŃ(DZIŚ());JEŻELI(DZIŚ()<A1;0;DZIEŃ(NR.SER.OST.DN.MIES(A1;0))))
Ten post został edytowany przez Autora dnia 18.07.17 o godzinie 14:46
Krzysztof Leszczyński

Krzysztof Leszczyński na raz na dwa, świat
za uszy dziś złap...

Temat: Wyświetlenie ilości dni danego miesiąca oraz bieżącego...

@Bogdan, dzięki za kierunek.

@Bartosz, dziękuję za rozwiązanie! działa.
faktycznie mam wpisane 2017-07-01, choć wyświetla 2017-07 (format rrrr-mm), dlatego nie wiem, skąd to -01?
Krzysztof Leszczyński

Krzysztof Leszczyński na raz na dwa, świat
za uszy dziś złap...

Temat: Wyświetlenie ilości dni danego miesiąca oraz bieżącego...

ehm, witam ponownie ;-)

jako że temat był w 2017 roku, ale dotyczył liczenia od lipca, powrócił do mnie nowy problem (jak bumerang). Liczy mi na nowo komórki dot. właśnie lipca, sierpnia (pewnie września za miesiąc też będzie) z 2017 roku (te z 2018 też liczy) ;-)

czy można dodać do poniższej formuły sprawdzanie jeszcze roku? tak, aby w 2018 nie liczył mi dat z 2018?

wiem, że =DZIŚ() wyświetlimy dzisiejszą datę, ale jak z tego wyciągnąć tylko rok (teoretycznie da się formatowaniem rrrr)?

ponownie dziękuję za ewentualną podpowiedź :-)
Krzysiek



Wyślij zaproszenie do