Excel - weryfikacja czy od daty dzisiejszej minął rok

Cześć wszystkim, mam pewną zagwostkę i nigdzie w internecie nie mogę znaleźć na tę zagwostkę odpowiedzi.

Chodzi mi dokładnie o formułę, która miałaby zweryfikować czy od jakiejś konkretnej daty minął co najmniej rok i jeżeli tak, to żeby zwrócił np. wartość “Pomidor”, a jeżeli w danym miejscu nic nie zostało wprowadzone, to powinien zwrócić wartość “Ziemniak”.

Operowanie na datach sprawia mi pewne trudności, a ta formuła jest mi ogromnie potrzebna do szczęśliwego i spokojnego życia.

Nie proszę nawet o napisanie mi jej, tylko chociaż o wskazówki.

Pozdrawiam i z góry dziękuję za odpowiedzi.

Ja bym użył do tego funkcję DNI w połączeniu z Jeżeli.
W A1 masz jakąś datę , =JEŻELI(DNI(DZIŚ();A1)>365 ;“tak”;“nie”)

Mam nadzieję, że Cię uszczęśliwiłem :wink:

1 polubienie

Będzie błąd co 4 lata :wink:

edit.
Kombinuję coś takiego

=JEŻELI(LUB(ROK.PRZESTĘPNY(A1);ROK.PRZESTĘPNY(DZIŚ()));
	JEŻELI(DNI(DZIŚ();A1)>366;
		"tak";
		"nie");
	JEŻELI(DNI(DZIŚ();A1)>365;
		"tak";
		"nie"))

A nie wystarczy sprawdzać czy dzisiaj jest ten sam dzień imiesiąc co w podanej komórce?

=JEŻELI(ORAZ(MIESIĄC(DZIŚ())=MIESIĄC(A1);DZIEŃ(DZIŚ())=DZIEŃ(A1));"P"; "F")

EDYTA:

Z lutym będzie problem więc można dać:

=JEŻELI(ORAZ(MIESIĄC(DZIŚ())>=MIESIĄC(A1);DZIEŃ(DZIŚ())>=DZIEŃ(A1));"P"; "F")

Edyta 2:

dobra, złe rozumowanie…

=JEŻELI(ORAZ(ROK(DZIŚ())>ROK(A1);MIESIĄC(DZIŚ())>=MIESIĄC(A1);DZIEŃ(DZIŚ())>=DZIEŃ(A1));"P";"F")

Wyjaśnienie jak to ma działać.

Formuła sprawdza czy Rok w dzisiejszym dniu jest większy od podanego w komórce, a potem sprawdza czy miesiąc oraz dzień jest równy bądź większy. Ze względu na luty musi tak zostać. Zresztą mamy sprawdzać czy dzisiejszy dzień to dzień, od którego minął co najmniej rok i nie chcemy by 2 marca wywaliło nam jako błąd, bo w komórce jest 1 marca.

Wrzucałeś to do excela? Bo mi na libre wywala błąd :wink:

Robiłem to w Excelu 2019.

No to wybierze co mu będzie bardziej pasowało. W sumie moje rozwiązanie jest mniej eleganckie przez zagnieżdżanie warunków, ale też działa :smiley:

Libre nie przyjmuje “ORAZ”. Nie wiem jaki jest zamiennik.

LUB :joy:
Dlatego najlepsze są anglojęzyczne wersję :wink:

Ok, znalazłem. W Libre zamiast “ORAZ” jest “I”.

Aha. Czyli to było AND, a nie OR :smiley: No przecież :man_facepalming:

BTW. Tłumaczenie z Excela chyba lepsze.

Ano. I tak znalazłem błąd w formule. Jeżeli liczymy np od 23.04 to 01.05 nie jest liczony jako spełnienie warunki - wg tego rok nie minął. Gdy przejdziemy na nowy miesiąc to formuła się sypie. Brakuje warunku.

Ostateczna formuła:

=JEŻELI(ORAZ(ROK(DZIŚ())>ROK(A1);MIESIĄC(DZIŚ())>=MIESIĄC(A1);LUB(DZIEŃ(DZIŚ())>=DZIEŃ(A1);MIESIĄC(DZIŚ())>MIESIĄC(A1)));"P";"F")

Jest pewien problem, faktycznie ta formuła wskazuje komórki, którym dzisiaj minął rok, jednakże jeżeli w sprawdzanej komórce zmienić miesiąc, np. z 24.03.2018 na 24.11.2018 to wskazuje, że to fałsz.

Ale przegięta ta formuła…

masz funkcje część roku
CZĘŚĆ.ROKU(data_początkowa;data_końcowa;[podstawa])

gdzie przy dacie początkowej dajesz funkcje dziś;
a dacie końcowej dajesz sprawdzaną date
podstawa tutaj w zależności jak traktujesz daty i miesięce, jeżeli traktujesz, że każdy miesiąc ma 30 dni bez lat przestępnych to zostawiasz puste lub wpisujesz zero, jak nie to sprawdź która wartość cię interesuje

Więc funkcja wygląda następująco
=JEŻELI(CZĘŚĆ.ROKU(DZIŚ();A1)>=1;“Pomidor”;“Ziemniak”)