Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 53185 Skopiuj do schowka Liczenie dni w miesiącu - problem z funkcją licz jeżeli
Autor Wiadomość
aloyzz
świeżak


Posty: 9
Wysłany: 19-07-2016, 16:32   Liczenie dni w miesiącu - problem z funkcją licz jeżeli

Witam.

Mam taki problem, przy którym siedzę już długi czas i nie mogę znaleźć rozwiązania.
Mam tabele (w załączeniu) gdzie w kolumnach są nazwy dni a w wierszach różne kombinacje tych dni. chciałbym policzyć ile razy w miesiącu występują dane dni lub ich kombinacje. W przypadku pojedyńczego dnia to nie problem, funkcja Licz.jeżeli ładnie to wszystko zlicza. ale w przypadku gdy występuje kombinacja kilku dni jest problem. Może zna ktoś proste rozwiązanie.

Pozdrawiam

Tabela.xlsx
Pobierz Plik ściągnięto 39 raz(y) 11.92 KB

ID posta: 298509 Skopiuj do schowka
 
 
szbill62
Excel Expert


Pomógł: 592 razy
Posty: 2580
Wysłany: 19-07-2016, 16:57   

Jest parę możliwości... jedna z nich poniżej.
W AG4 wpisz i skopiuj w dół
Kod:
=JEŻELI(A4="codziennie";LICZBA.KOLUMN($B$3:$AF$3);SUMA.ILOCZYNÓW(--CZY.LICZBA(PODAJ.POZYCJĘ("*"&$B$3:$AF$3&"*";A4:A4;0))))


Pozdrawiam
_________________
Szkolenia z Power Query!!!
ID posta: 298510 Skopiuj do schowka
 
 
Asia_@. 
Excel Expert


Pomogła: 1746 razy
Posty: 2938
Wysłany: 19-07-2016, 17:06   

Kod:
=JEŻELI(A4="codziennie";ILE.NIEPUSTYCH($B$3:$AF$3);SUMA.ILOCZYNÓW(--NIE(CZY.BŁĄD(ZNAJDŹ($B$3:$AF$3;A4)))))
_________________
Pozdrawiam
Asia
ID posta: 298511 Skopiuj do schowka
 
 
aloyzz
świeżak


Posty: 9
Wysłany: 19-07-2016, 17:36   

Obydwie formuły pięknie działają. Wielkie dzięki
ID posta: 298512 Skopiuj do schowka
 
 
aloyzz
świeżak


Posty: 9
Wysłany: 08-08-2016, 08:15   

Przerobiłem trochę te formuły żeby tylko pokazywały rzeczywistą liczbę dni w miesiącu zależnie od roku. Dodałem też taką formułę:

Kod:
=JEŻELI(LUB(FRAGMENT.TEKSTU($C4;1;3)=D$3;FRAGMENT.TEKSTU($C4;5;3)=D$3;FRAGMENT.TEKSTU($C4;9;3)=D$3;$C4="codziennie");"▪";"")


która ma wstawiać kropki jeżeli dany dzień występuję. Niestety pojawia się problem jak miesiąc ma 28,29 lub 30 dni. W pustych kolumnach też pojawiają się kropki.

I drugi problem. Formuła zliczająca kombinację wystąpień danych dni w miesiącu:

Kod:
=JEŻELI(
MAX($D$2:$AH$2)=31;
JEŻELI(C4="codziennie";LICZBA.KOLUMN($D$3:$AH$3);SUMA.ILOCZYNÓW(--CZY.LICZBA(PODAJ.POZYCJĘ("*"&$D$3:$AH$3&"*";C4;0))));
JEŻELI(MAX($D$2:$AH$2)=30;
JEŻELI(C4="codziennie";LICZBA.KOLUMN($D$3:$AG$3);SUMA.ILOCZYNÓW(--CZY.LICZBA(PODAJ.POZYCJĘ("*"&$D$3:$AG$3&"*";C4;0))));
JEŻELI(MAX($D$2:$AH$2)=29;
JEŻELI(C4="codziennie";LICZBA.KOLUMN($D$3:$AF$3);SUMA.ILOCZYNÓW(--CZY.LICZBA(PODAJ.POZYCJĘ("*"&$D$3:$AF$3&"*";C4;0))));
JEŻELI(C4="codziennie";LICZBA.KOLUMN($D$3:$AE$3);SUMA.ILOCZYNÓW(--CZY.LICZBA(PODAJ.POZYCJĘ("*"&$D$3:$AE$3&"*";C4;0)))))))


Chciałbym żeby nie zliczał wystąpień kombinacji danych dni od konkretnej daty (wpisanej w ostatniej kolumnie. Jedyne co umiem zrobić to dodać w powyższej formule coś takiego:

Kod:
-LICZ.JEŻELI(D4:AH4;"x")


ale to wymusza ręczne wpisywanie "x" co przy kolejnych miesiącach jest uciążliwe.

TABELA.xlsx
Pobierz Plik ściągnięto 13 raz(y) 23.27 KB

ID posta: 300051 Skopiuj do schowka
 
 
Maciej Gonet
Excel Expert


Pomógł: 663 razy
Posty: 2241
Wysłany: 08-08-2016, 10:20   

Odnośnie problemu pierwszego: trzeba dodać dodatkowy warunek wyłączający tekst pusty:
Kod:
=JEŻELI(ORAZ(AG$3<>"";LUB(FRAGMENT.TEKSTU($C4;1;3)=AG$3;FRAGMENT.TEKSTU($C4;5;3)=AG$3;FRAGMENT.TEKSTU($C4;9;3)=AG$3;$C4="codziennie"));".";"")

Formułę zliczającą podaną w arkuszu można uprościć do postaci:
Kod:
=JEŻELI(C4="codziennie";MAX($D$2:$AH$2);SUMA.ILOCZYNÓW(--CZY.LICZBA(PODAJ.POZYCJĘ("*"&PRZESUNIĘCIE($D$3:$AH$3;;;1;MAX($D$2:$AH$2))&"*";C4;0))))-LICZ.JEŻELI(D4:AH4;"x")
natomiast pytania związanego z oznaczeniem "x" nie rozumiem. W arkuszu są wpisane 2 daty: jedna styczniowa, druga lutowa. Nie wiem czy te daty są dowolne, czy ich położenie jest jakoś uwarunkowane i nie wiem co ma się nie zliczać i w którym miejscu. W arkuszu nie ma żadnych znaków "x". Proszę podać przykład oczekiwanego wyniku.

TABELA1.xlsx
Pobierz Plik ściągnięto 15 raz(y) 24.76 KB

ID posta: 300059 Skopiuj do schowka
 
 
Asia_@. 
Excel Expert


Pomogła: 1746 razy
Posty: 2938
Wysłany: 08-08-2016, 10:39   

w D2
Kod:
=JEŻELI.BŁĄD(DATA.WARTOŚĆ(NR.KOLUMNY(A:A)&Miesiac_nazwa&ROK);"")

i kopia w prawo
w D3
Kod:
=LEWY(TEKST(D$2;"dddd");3)

i kopia w prawo
w D4
Kod:
=JEŻELI(ORAZ($D$2:$AH$2<>"";LUB(FRAGMENT.TEKSTU($C4;1;3)=D$3;FRAGMENT.TEKSTU($C4;5;3)=D$3;FRAGMENT.TEKSTU($C4;9;3)=D$3;$C4="codziennie"));"&#9642;";"")

i kopia w prawo i w dół
w AI4
Kod:
=JEŻELI.BŁĄD(LICZ.JEŻELI(ADR.POŚR(ADRES(WIERSZ();4)&":"&ADRES(WIERSZ();PODAJ.POZYCJĘ(AJ4;$D$2:$AH$2;0)+2));"?*");LICZ.JEŻELI(D4:AH4;"&#9642;"))

i kopia w dół
_________________
Pozdrawiam
Asia
Ostatnio zmieniony przez Asia_@. 08-08-2016, 10:50, w całości zmieniany 1 raz  
ID posta: 300061 Skopiuj do schowka
 
 
apollo
ExcelSpec


Pomógł: 785 razy
Posty: 2758
Wysłany: 08-08-2016, 10:42   

Masz "codziennie', jeden dzień lub 3 dni. Ale rozumiem, że to tylko przykład. Może być i 2, 4, 5 dni, prawda? Jeśli tak to nie możesz użyć FRAGMENT.TEKSTU. To znaczy możesz ale 5 razy FRAGMENT.TEKSTU?
---------
1. Formuła dla D4
Kod:

=JEŻELI(D$3="";"";JEŻELI($C4="codziennie";"&#9642;";JEŻELI(LICZ.JEŻELI($C4;"*"&D$3&"*");"&#9642;";"")))


2. Z warunkiem w AJ???
Czy AJ16 = 2016-02-14 znaczy, że wszystkie dni OD 2016-02-14 nie są policzone? Jeśli tak to po co AJ7 = 2016-01-05? Bo wtedy wszystkie dni w lutym nie są policzone i AI7 = 0
Jeśli warunek jest taki, jak rozumiem to formuła dla AI4
Kod:

=SUMA.ILOCZYNÓW(LICZ.JEŻELI(C4;"*"&JEŻELI(C4="codziennie";"";$D$3:$AH$3)&"*")*(DATA(A$2;PODAJ.POZYCJĘ(A$1;MIESIAC;0);NR.KOLUMNY(D$2:AH$2)-3)<JEŻELI(AJ4="";60000;AJ4))*($D$2:$AH$2<>""))

-------------
Ale skoro masz te kropki to trzeba wykorzystać
Formuła dla AI4
1. Bez waunku w AJ
Kod:

=LICZ.JEŻELI(D4:AH4;"&#9642;")

2. Z warunkiem w AJ
Kod:

=SUMA.ILOCZYNÓW((D4:AH4="&#9642;")*(DATA(A$2;PODAJ.POZYCJĘ(A$1;MIESIAC;0);NR.KOLUMNY(D$2:AH$2)-3)<JEŻELI(AJ4="";60000;AJ4)))
ID posta: 300062 Skopiuj do schowka
 
 
aloyzz
świeżak


Posty: 9
Wysłany: 17-12-2016, 12:29   

Witam.
Jeszcze jedna prośba jeśli by to komuś nie sprawiło problemu.

W tabelce (w załączeniu) komórka "liczba wystąpień dni" zlicza liczbę wystąpień danych dni (z kolumny A) w danym miesiącu z zaznaczeniem iż liczba tych dni liczona jest od daty w kolumnie B. I chodzi o to żeby:

1. Od sumy liczby wystąpień dni (w kolumnie C) odejmowane zostały dni (określone w kolumnie A) w których wystąpi "x".

2. W formatowaniu warunkowym dni do daty w kolumnie B były nap. zakreskowane

Z góry dziękuję za pomoc. Pozdrawiam

Tabela.xlsx
Pobierz Plik ściągnięto 16 raz(y) 13.6 KB

ID posta: 310790 Skopiuj do schowka
 
 
Tadek
Excel Expert


Pomógł: 685 razy
Posty: 3158
Wysłany: 19-12-2016, 10:01   

W kolumnie A nie ma "X"???
ID posta: 310924 Skopiuj do schowka
 
 
aloyzz
świeżak


Posty: 9
Wysłany: 19-12-2016, 13:02   

Nie ma, kolumna A to tylko wybrane dni tygodnia. chodzi o to że np. pierwszy wiersz (4) to pon/śro/pią. Jeżeli x wypadnie np. w sobotę to nic się nie dzieje, jeżeli w poniedziałek lub środę lub piątek to odejmowany jest od łącznej liczby z kolumny C
ID posta: 310942 Skopiuj do schowka
 
 
Tadek
Excel Expert


Pomógł: 685 razy
Posty: 3158
Wysłany: 19-12-2016, 13:26   

Tobie chodzi o wiersze, a nie kolumnę.
ID posta: 310947 Skopiuj do schowka
 
 
aloyzz
świeżak


Posty: 9
Wysłany: 19-12-2016, 14:08   

Pewnie coś niezrozumiale wytłumaczyłem:
Obszar D4:AH4 to obszar roboczy (31 dni - w zależności od miesiąca). w dowolne wybrane dni może się pojawić "x". Oznacza on że dany dzień jest wyłączony z liczenia. W komórce A4 są wypisane dni/dzień który nas interesuje (w tym wypadku będzie to pon/śro/pią). Komórka C4 zlicza ile tych dni jest łącznie w danym miesiącu (w przypadku grudnia 2016 r . = 13 chociaż w załączniku jest 11 ponieważ suma liczona jest od daty w komórce B4). I teraz chodzi o to że jeżeli w obszarze D4:AH4 "x" wystąpi w dni opisane w komórce A4 (w tym wypadku pon lub środa lub piątek) były one odejmowane od liczby wystąpień dni (komórka C4)
ID posta: 310955 Skopiuj do schowka
 
 
kuma 
Excel Expert


Pomógł: 689 razy
Posty: 2266
Wysłany: 19-12-2016, 14:53   

Witaj. Przetestuj formułę tablicową w 'AG4' z kopią w dół . Dni mca powinny się zmieniać automatycznie po zmianie nazwy mca. Nadmiarowe pola dni mca powinny być puste.
Kod:
=JEŻELI(A4="codziennie";MAX($B$2:$AF$2)-LICZ.JEŻELI($B4:$AF4;"x");SUMA.ILOCZYNÓW(JEŻELI(JEŻELI.BŁĄD(ZNAJDŹ($B$3:$AF$3;A4;1);0);1;0))-SUMA.ILOCZYNÓW(JEŻELI(JEŻELI.BŁĄD(ZNAJDŹ($B$3:$AF$3;A4;1);0);1;0)*($B4:$AF4="x")))
Pozdrawiam.
ID posta: 310963 Skopiuj do schowka
 
 
aloyzz
świeżak


Posty: 9
Wysłany: 19-12-2016, 16:49   

Kod:
=JEŻELI(A4="codziennie";MAX($B$2:$AF$2)-LICZ.JEŻELI($B4:$AF4;"x");SUMA.ILOCZYNÓW(JEŻELI(JEŻELI.BŁĄD(ZNAJDŹ($B$3:$AF$3;A4;1);0);1;0))-SUMA.ILOCZYNÓW(JEŻELI(JEŻELI.BŁĄD(ZNAJDŹ($B$3:$AF$3;A4;1);0);1;0)*($B4:$AF4="x")))


Działa, ale tylko jeżeli miesiąc ma 31 dni. W przypadku np. lutego 2017 r. gdzie m-c kończy się 28 na wtorku zlicza też pozostałe 3 wolne pola.

No i pozostaje kolumna "data od". Zliczanie dni może zaczynać się np od połowy m-ca
ID posta: 310979 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum


Strona używa plików cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.