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: 63838 Skopiuj do schowka Problem: Jak policzyć "przedostatnią" wypełnioną k
Autor Wiadomość
g3m
Starszy Forumowicz


Posty: 33
Wysłany: 17-01-2019, 16:26   Problem: Jak policzyć "przedostatnią" wypełnioną k

Witajcie. Buduję tabelę zużycia mediów wg stanów liczników.
W kolumnach C, E, G, I, K wpisano kolejno, zgodnie z datami, stany liczników. Zużycie zostało policzone w kolumnach następnych po.
W kolumnie E licznik ZW jest uszkodzony (lub brak zużycia) i w E5-E6 zanotowano ten sam stan, następnie w E7, po wymianie licznika, wpisano stan początkowy. W F8 zostało policzone bieżące zużycie.
A teraz kłopoty, jeżeli podczas odczytu liczników zabraknie danych, jak np. w G4-G6, to kolejny wpis stanu w G7 powinien liczyć do G3, czyli H7=4,0 - jeżeli uzupełnię komórkę np. G5, to ona powinna być liczona do G3, itd w całej kolumnie. (Dla przykładu, w kolumnie I też brakuje danych, a w I7 wymieniono licznik).
Może ktoś pomoże, próbowałem innych możliwości, ale się już gubię.

Zużycye wg licznika.xlsx
Pobierz Plik ściągnięto 25 raz(y) 13.16 KB

ID posta: 360703 Skopiuj do schowka
 
 
dm 
Excel Expert


Pomógł: 402 razy
Posty: 1176
Wysłany: 17-01-2019, 18:56   

Sprawdź w kol "G".

Zużycye wg licznika-1.xlsx
Pobierz Plik ściągnięto 14 raz(y) 12.93 KB

ID posta: 360728 Skopiuj do schowka
 
 
kuma 
Excel Expert


Pomógł: 1178 razy
Posty: 3518
Wysłany: 17-01-2019, 19:29   

Przetestuj w H2 z kopią w dół. Dla pozostałych kolumn z zużyciem zrób analogicznie.
Kod:
=JEŻELI(LUB(G1>G2;G2="");"0,0";G2-MAX($G$1:G1))
Pozdrawiam.
ID posta: 360731 Skopiuj do schowka
 
 
g3m
Starszy Forumowicz


Posty: 33
Wysłany: 17-01-2019, 20:43   

Nie działa już w H2, bo nie liczy G2-G1.

g3m w dniu: 2019-01-17, 21:05 napisał/a:
dm napisał/a:
Sprawdź w kol "G".
Nie działa. W H7 nadal nie liczone G7-G3 (ostatnia przed pustymi zapisana komórka). No i nie widzi wyzerowanego stanu licznika np. w G8, jeżeli wstawię np. w G8 stan 0 (bo wstawiłem nowy licznik), to w H8 nie zeruje się zużycie - aby dalej liczyć bieżące zużycie. (Na koniec okresu np. rocznego będę sobie sumował zużycie wszystkich odczytów).


edycja Zbiniek:
1. Nie cytuj całej wypowiedzi znajdującej się bezpośrednio powyżej – w takim przypadku wiadomo, że się do niej odnosisz. Cytowanie stosuj tylko wtedy, gdy nawiązujesz do wypowiedzi o kilka postów wcześniej lub gdy komentujesz tylko jakiś fragment ostatniej wypowiedzi. W obu przypadkach zacytuj tylko fragment, do którego się odnosisz.
2. Proszę korzystać z opcji edytowania wypowiedzi – przycisk „edytuj”. Opcja jest dostępna bodajże przez 30 minut od momentu wysłania wypowiedzi.
ID posta: 360741 Skopiuj do schowka
 
 
kuma 
Excel Expert


Pomógł: 1178 razy
Posty: 3518
Wysłany: 17-01-2019, 22:30   

g3m, działa, tylko przyjąłem, że jest to stan wyjściowy licznika i nie ma zużycia (nie napisałeś, że powinno być zużycie).
W H2
Kod:
=G2
W H3 formuła tablicowa
Kod:
=JEŻELI(G3="";"";JEŻELI(LUB(G3=0;G3<G2);0;MAX(0;G3-MAX(INDEKS(G$1:G$25;JEŻELI(MAX((G$1:G2=0)*(G$1:G2<>"")*(WIERSZ($1:2)))=0;2;MAX((G$1:G2=0)*(G$1:G2<>"")*(WIERSZ($1:2))))):G2))))
Pozdrawiam.
ID posta: 360753 Skopiuj do schowka
 
 
g3m
Starszy Forumowicz


Posty: 33
Wysłany: 18-01-2019, 11:23   

g3m napisał/a:
kuma napisał/a:
Przetestuj w H2 z kopią w dół. Dla pozostałych kolumn z zużyciem zrób analogicznie.
Kod:
=JEŻELI(LUB(G1>G2;G2="");"0,0";G2-MAX($G$1:G1))
Pozdrawiam.
Nie działa już w H2, bo nie liczy G2-G1.
Kuma - poprawiam: wstawiłem teraz do H2 (przedtem trafiłem do H3...). Ten kod byłby już dobry, bo liczy ostatnią przed pustą komórką. Ale jest jeszcze błąd, dajmy na to, jeżeli w G8 wstawię wartość licznika wyzerowanego (bo był np. wymieniony), to przy kolejnym odczycie G9=9, H9 powinna zwrócić wynik 9 (H9=9), tym czasem daje 2, bo liczy G9-G7 zamiast G9-G6. (Należałoby też przyjąć, że wymieniony licznik to niekoniecznie stan 0 - to stan niższy od ostatniego odczytu).
A co do tej tablicowej propozycji, prawie OK, o tym niżej.
ID posta: 360794 Skopiuj do schowka
 
 
g3m
Starszy Forumowicz


Posty: 33
Wysłany: 18-01-2019, 13:10   

kuma napisał/a:
g3m, działa, tylko przyjąłem, że jest to stan wyjściowy licznika i nie ma zużycia (nie napisałeś, że powinno być zużycie).
W H2
Kod:
=G2
W H3 formuła tablicowa
Kod:
=JEŻELI(G3="";"";JEŻELI(LUB(G3=0;G3<G2);0;MAX(0;G3-MAX(INDEKS(G$1:G$25;JEŻELI(MAX((G$1:G2=0)*(G$1:G2<>"")*(WIERSZ($1:2)))=0;2;MAX((G$1:G2=0)*(G$1:G2<>"")*(WIERSZ($1:2))))):G2))))
Pozdrawiam.
Kuma - potężny klucz, dzięki za zaangażowanie. Wstawiłem do H3 i przeciągnąłem na H2 i do końca. H2 liczy poprawnie - jeżeli G3>G2. Jeżeli np. w G2 miałem wysoki stan licznika (ciągłość wskazań), np. G2=4, a w G3 wpisałem licznik po wymianie, ze stanem 1 (G3=1), to kolejny stan G4 np. 4 nie jest już liczony w H4 (mam 0, a powinien policzyć G4-G3). (Nie sprawdziłem tego szczegółu wG1 do G3 w poprzednim kodzie). Ostatnią przed pustą komórką w kol. G kod liczyłby prawidłowo, ale jeżeli G4 wyczyszczę, a G5=5, to H1=1 zamiast 4.
Ważna uwaga: licznik po wymianie niekoniecznie będzie miał stan 0. Zawsze będzie to stan mniejszy od ostatniego odczytu w wyższej komórce. Wpisywany stan liczników pierwszego wiersza tabeli (np. G2, I2) jest kontynuacją wcześniejszych notowań, i nie musi być stanem 0 - początkowym. To tylko stan początkowy tabeli. W załączniku, w I-J wzór wyników. Pozdrawiam

Zużycie wg licznika - Wzór.xlsx
Pobierz Plik ściągnięto 13 raz(y) 13.56 KB

ID posta: 360808 Skopiuj do schowka
 
 
g3m
Starszy Forumowicz


Posty: 33
Wysłany: 18-01-2019, 13:53   

kuma napisał/a:
Przetestuj w H2 z kopią w dół. Dla pozostałych kolumn z zużyciem zrób analogicznie.
Kod:
=JEŻELI(LUB(G1>G2;G2="");"0,0";G2-MAX($G$1:G1))
Pozdrawiam.
Kuma - w załączeniu tabelka z wzorem wyników w I-J i tym, co wyszło w G-H wg Twojego kodu. Pozdrawiam

Zużycye wg licznika - Kuma (1).xlsx
Pobierz Plik ściągnięto 13 raz(y) 13.41 KB

ID posta: 360811 Skopiuj do schowka
 
 
g3m
Starszy Forumowicz


Posty: 33
Wysłany: 18-01-2019, 14:17   

dm napisał/a:
Sprawdź w kol "G".
dm - sprawdziłem. W załączeniu tabelka z wzorem wyników w I-J. W G-H Twój klucz. Może uda się Tobie coś zmienić, ja kombinuję na różne sposoby, ale mam za małą wiedzę. Pozdrawiam

Zużycie wg licznika - dm (1).xlsx
Pobierz Plik ściągnięto 10 raz(y) 13.17 KB

ID posta: 360815 Skopiuj do schowka
 
 
dm 
Excel Expert


Pomógł: 402 razy
Posty: 1176
Wysłany: 18-01-2019, 21:06   

Zobacz załącznik -oparty na makro, niestety formułami tego nie potrafię (o ile w ogóle jest to możliwe)

Edit podmieniłem załącznik z poprawką.

Zużycye wg licznika-1.xlsm
Pobierz Plik ściągnięto 15 raz(y) 18 KB

ID posta: 360837 Skopiuj do schowka
 
 
kuma 
Excel Expert


Pomógł: 1178 razy
Posty: 3518
Wysłany: 19-01-2019, 19:19   

Poprawiłem formuły (oczywiście tablicowe) i przetestuj na różnych układach.
W H2 formuła
Kod:
=G2
Od H3 w dół
Kod:
=JEŻELI(G3="";"";JEŻELI(ORAZ(G3>=G2;G2<>"");G3-G2;JEŻELI(ORAZ(G2>G3;G2<>"");0;G3-INDEKS($G$1:$G$25;MAX((((G$2:G3<G$3:G4)*(G$3:G4<>"")*WIERSZ($2:3))>0)*((G$2:G3<G$3:G4)*(G$3:G4<>"")*WIERSZ($2:3)-1))))))
Pozdrawiam.
ID posta: 360877 Skopiuj do schowka
 
 
g3m
Starszy Forumowicz


Posty: 33
Wysłany: 20-01-2019, 15:46   

Kuma- są nadal błędy H5, H7, dobrze w pozostałych. Słuchaj, w H2 zawsze stan 0, bo liczymy tylko jeden arkusz. W zał. Tabela z Twoim kluczem.

Zużycie wg licznika - Kuma (3).xlsx
Pobierz Plik ściągnięto 11 raz(y) 13.15 KB

ID posta: 360915 Skopiuj do schowka
 
 
g3m
Starszy Forumowicz


Posty: 33
Wysłany: 20-01-2019, 16:24   

dm napisał/a:
Zobacz załącznik -oparty na makro, niestety formułami tego nie potrafię (o ile w ogóle jest to możliwe)

Edit podmieniłem załącznik z poprawką.
dm - jest prawie dobrze - w H8 nie pojawiło się 0. Aha, w H2 Zużycie zawsze startuje od 0, bo liczę tylko dla arkusza - niezależnie od stanu w G2. W zał. tabelka z Twoim makro. Pozdrawiam

Zużycye wg licznika (2makra).xlsm
Pobierz Plik ściągnięto 13 raz(y) 18.18 KB

ID posta: 360918 Skopiuj do schowka
 
 
dm 
Excel Expert


Pomógł: 402 razy
Posty: 1176
Wysłany: 20-01-2019, 18:49   

Sprawdź.

Zużycye wg licznika -makra3.xlsm
Pobierz Plik ściągnięto 14 raz(y) 17.59 KB

ID posta: 360922 Skopiuj do schowka
 
 
g3m
Starszy Forumowicz


Posty: 33
Wysłany: 21-01-2019, 15:51   

dm - w kolumnach D, F i H - 2: >0 (np. w H2 mam 4 - jak w G2). J i L-2 prawidłowe =0
Teraz tak:
w G2 zmieniam z 4 na 0, H2 nie reaguje, =4, H3=3 - prawidłowo,
w G3 kasuję na pustą, w H3 pozostaje wynik 3 zamiast H3=pusta (domyślnie 0),
w G4 wpisuję 3 - H4 liczy, kasuję G4 na pustą, w H4 pozostaje 3 zamiast H4=pusta.
G5=5, nie ruszane, liczy w H5 prawidłowo wyższe zmiany G, wykasowanie G5 nie kasuje H5 na pusta.
Reasumując: jeżeli od początku będę wpisywał dane prawidłowo, to wygląda to dobrze. Ale w przypadku cofania się i poprawiania ewentualnych błędów wprowadzania stanów zaczyna się zabawa w poprawianie i sprawdzanie.
Ważna uwaga: w sytuacji, gdy w wierszu 2, np. G albo I, K, nie wpiszę stanu - bo nie było dostępu do licznika, zliczanie powinno startować od kolejnego niżej wpisanego stanu. I tak, jeżeli np. G2 do G6 puste (i H2 do H6 puste), a w G7 podam stan 7, to jest to stan zerowy =0 w H7 (tak, jak byłby w H2) - dopiero kolejny stan niżej będzie liczony w H (np. H8). Logika dla całości jest taka sama: brak wpisu stanu = brak zużycia (pusta komórka). Pierwszy wpis stanu, po przerwie wyżej, liczony jest od tamtego (ostatniego) stanu, chyba że ten stan jest pierwszym w kolumnie (np G6), to test to pozycja startowa do naliczania zużycia (jeżeli w G6 dam stan licznika jako pierwszy w kol. od początku to H6=0, dopiero G7 lub dalsza będzie liczona w H7 i dalej). Pozdrawiam
ID posta: 360974 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.
Sprawdź, w jaki sposób przetwarzamy dane osobowe