anoniem Geplaatst: 13 mei 2011 Delen Geplaatst: 13 mei 2011 Ik ben een Excel (versie 2003) file aan het maken voor ritten administratie. Als er iemand met de auto naar locatie gaat vul ik in kolom B de datum in en in kolom C de tijd. Nu wil ik doormiddel van wat formules in 12 cellen in één oogopslag kunnen zien hoeveel ritten er per maand gemaakt worden. Bijvoorbeeld in cel H3 staat de volgende formule: =AANTAL(ALS(MAAND($B4:$B5000)=2;$B4:$B5000))} Ik zie dan precies hoeveel ritten er in februari gemaakt zijn. Voor maart maak in cel I3 van de 2 een 3. =AANTAL(ALS(MAAND($B4:$B5000)=3;$B4:$B5000))} Deze formule werkt voor alle maanden behalve voor januari in cel G3. =AANTAL(ALS(MAAND($B4:$B5000)=1;$B4:$B5000))} De formule geeft als resultaat: 4996, elke keer wanneer ik in kolom B een datum erbij typ word dit getal 1 minder behalve wanneer de datum die ik typ in januari valt dan blijft het getal gelijk. Hoe kan ik er voor zorgen dat ook de maand januari goed word berekend? Quote Link naar reactie
anoniem Geplaatst: 15 mei 2011 Auteur Delen Geplaatst: 15 mei 2011 Dit is een bug in Excel. Een datum is voor Excel feitelijk een getal en Excel begint te tellen op 1-1-1900. Dat is dus 1, 2-1-1900 is 2 enzovoort. Je kunt dit zelf zien door een cel als datum op te maken en er een getal in te typen. Negatieve getallen worden weergegeven door ############, maar, en dit is de bug, 0 wordt weergegeven als 0-1-1900! een niet bestaande dag, maar(voor Excel) wel in Januari. Je formule interpreteert lege cellen als 0, dus voor de maand januari worden alle lege cellen meegeteld. Om de formule goed te laten werken moet je dus ook aangeven dat lege cellen niet worden meegerekend. Dat kan bv. met een extra ALS: =AANTAL(ALS($B4:$B5000<>0;ALS(MAAND($B4:$B5000)=1;$B4:$B5000))) In feite laat je je oorspronkelijke formule dus uitvoeren als de ingevoerde data niet 0 zijn. Omdat dat soort ingebedde Als-en de formule onoverzichtelijk maken gebruik ik in dit soort gevallen liever SOMPRODUCT. In de formule =SOMPRODUCT((MAAND($B4:$B5000)=1)*($B4:$B000<>0)) zie je MAAND op dezelfde manier staan als in jouw formule. Het sterretje * kun je hier lezen als "en" In het volgende stuk zie je dat de waarde ongelijk aan 0 moet zijn. Deze reeks is nog uit te breiden. Als je in C4:C5000 de rijtijd in minuten hebt staan kun je bv. *($C4:$C5000>60) toevoegen om het aantal ritten in januari die langer dan een uur duurden te vinden. Quote Link naar reactie
anoniem Geplaatst: 15 mei 2011 Auteur Delen Geplaatst: 15 mei 2011 De formule: =AANTAL(ALS($B4:$B5000<>0;ALS(MAAND($B4:$B5000)=1;$B4:$B5000))) werkt goed, dit is precies wat ik zocht. Bedankt. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen