Maciej Hajka

Maciej Hajka pracownik
administracyjny,
Ubojnia Zwierząt
Lucyna Hajka

Temat: jak sprawdzić ilość wystąpień określonej wartości na...

Witam,
mam następujący problem. Pracuję na pliku excela który składa się z około 20 zakładek. Każda z nich odpowiada za jeden dzień miesiąca i umieszczone są tam indeksy badanych w tym dniu towarów oraz ich wyniki. Potrzebuję funkcji która zliczy ilość wystąpień określonego indeksy na wszystkich arkuszach. Próbowałem użyć funkcji licz.jeżeli ale niestety nie działa ona na kilku arkuszach. Czy ma ktoś pomysł jak można by rozwiązać ten problem? Byłbym bardzo wdzięczny ponieważ z excela znam jedynie podstawowe funkcje, a koleżanka dostała nową pracę i prosiła mnie o pomoc :) męczę się z tym już dwa dni i nie bardzo mi idzie ;)
Robert B.

Robert B. Bancassurance
Product & Operations
| Group Insurance |
Em...

Temat: jak sprawdzić ilość wystąpień określonej wartości na...

najlepiej zrobić tabelę przestawną na kilku arkuszach
Bartłomiej Dąbrowski

Bartłomiej Dąbrowski
analiza/przetwarzani
e danych

Temat: jak sprawdzić ilość wystąpień określonej wartości na...

albo tak

myślę, że będzie prościej pojęciowo :)

Wojciech Gardziński

Wypowiedzi autora zostały ukryte. Pokaż autora
Maciej Hajka

Maciej Hajka pracownik
administracyjny,
Ubojnia Zwierząt
Lucyna Hajka

Temat: jak sprawdzić ilość wystąpień określonej wartości na...

Bartłomiej Dąbrowski:
albo tak

myślę, że będzie prościej pojęciowo :)
ta forma odpowiada mi jak najbardziej :) ale co zrobić w przypadku kiedy nazwy zakładek są datami? wówczas excel wyrzuca mi #ODWOŁANIE
Bartłomiej Dąbrowski

Bartłomiej Dąbrowski
analiza/przetwarzani
e danych

Temat: jak sprawdzić ilość wystąpień określonej wartości na...

nie ma takiego kodu błędu jak #ODWOŁANIE :)

a problem można rozwiązać albo wpisując taką formułę:
=LICZ.JEŻELI(ADR.POŚR("'"&TEKST(A2;"rrrr-mm-dd")&"'"&"!A:A");B$1)

albo zmieniając na tekst nazwy zakładek w kolumnie A (tak żeby nie była to data) i wpisując formułę:
=LICZ.JEŻELI(ADR.POŚR("'"&A2&"'"&"!A:A");B$1)
Bartłomiej Dąbrowski edytował(a) ten post dnia 21.07.10 o godzinie 20:24
Waldek Radzik

Waldek Radzik Uprzedzam lojalnie,
że prawie nie znam
sie na komputerach

Temat: jak sprawdzić ilość wystąpień określonej wartości na...

Kiedyś popełniłem przestępstwo pisząc taką prostą funkcyjkę. Myślę, że w tym przpadku może rozwiązać problem. Wystarczy wkleić ją do modułu w skoroszycie i używać do woli jak innych formuł.
Function LiczJezeliwArkuszach(Zakres As Range, Kryterium As String)
Application.Volatile
Dim Zakladka As Worksheet
Dim Liczone
Dim Total
Total = 0
On Error Resume Next
For Each Zakladka In ActiveWorkbook.Worksheets
With Zakladka
Set Zakres = .Range(Zakres.Address)
Liczone = WorksheetFunction.CountIf(Zakres, Kryterium)
End With
Total = Total + Liczone
Next Zakladka
LiczJezeliwArkuszach = Total
End Function
Waldek Radzik edytował(a) ten post dnia 10.08.10 o godzinie 10:17
Monika M.

Monika M. PROGRAMISTA VBA,
Excel, Access,
Outlook, Word -
SZKOLENIA

Temat: jak sprawdzić ilość wystąpień określonej wartości na...

Waldek Radzik:
Kiedyś popełniłem przestępstwo pisząc taką prostą funkcyjkę.

Panie Waldku, jeśli można coś zrobić formułami, to lepiej zrobić formułami, zamiast pisać makro.

Panie Bartłomieju - po co to makro w załączonym pliku?

W obu makrach Panów nie zwalniacie pamięci ze zmiennych obiektowych (VBA nie robi tego sam) - brak "Set Nazwa = Nothing" na końcu makra.

Do wszystkich: zakładka to element interfejsu Excela, ale zakładka to nie arkusz, a więc "robimy odwołanie do arkusza", "nazwy arkuszy", a nie zakładek itd.

Gdzie, jak gdzie, ale na takim forum, zwłaszcza udzielający porad powinni stosować prawidłowe nazewnictwo.
Bartłomiej Dąbrowski

Bartłomiej Dąbrowski
analiza/przetwarzani
e danych

Temat: jak sprawdzić ilość wystąpień określonej wartości na...

Monika M.:
Panie Bartłomieju - po co to makro w załączonym pliku?

Nie mam pojęcia :) Musiało się jakoś zaplątać. Do tego konkretnego problemu nie jest oczywiście przydatne.
Zwalnianie pamięci to oczywiście dobry zwyczaj ale jakoś go sobie lekceważę - trudno powiedzieć czemu.
Gdzie, jak gdzie, ale na takim forum, zwłaszcza udzielający porad powinni stosować prawidłowe nazewnictwo.

A z tym się nie zgadzam.
Stosuję wymiennie:
skoroszyt -> arkusze w skoroszycie
plik -> zakładki w pliku
I stosować będę...
:)Bartłomiej Dąbrowski edytował(a) ten post dnia 10.08.10 o godzinie 12:36
Waldek Radzik

Waldek Radzik Uprzedzam lojalnie,
że prawie nie znam
sie na komputerach

Temat: jak sprawdzić ilość wystąpień określonej wartości na...

Pani Moniko. Dzięki za przylanie po łapkach.
Monika Morawska:
Panie Waldku, jeśli można coś zrobić formułami, to lepiej zrobić formułami, > zamiast pisać makro.
Tu się z Panią zgadzam w stu procentach, ale formuła LICZ.JEŻELI() nie działa na wielu arkuszach a mnie było potrzebne przeliczenie Kryterium w całym pliku. Jeżeli przegapiłem coś formułkowego proszę o sugestie.
Monika Morawska:
W obu makrach Panów nie zwalniacie pamięci ze zmiennych obiektowych (VBA nie > robi tego sam) - brak "Set Nazwa = Nothing" na końcu makra.
Prawda. ale tej poważnej linijki zabrakło jak zwykle przez pośpiech. Oczywiście w każdej chwili można ją dodać.
Monika Morawska:
zakładka to element interfejsu Excela, ale zakładka to nie arkusz, a więc >"robimy odwołanie do arkusza", "nazwy arkuszy", a nie zakładek itd.
I tu się całkowicie zgadzam, ale rzeczona zakładka w mojej funkcji to nazwa najzwyklejszej zmiennej, którą mogłem równie dobrze nazwać "karteczka", "papierek".
Wszystkie Pani cenne uwagi biorę oczywiście do serca i postaram się nie popełniać w przyszłości tak sztubackich błędów. ;)



Wyślij zaproszenie do