• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Functie die getallen op kan tellen in een bereik

Status
Niet open voor verdere reacties.

Lindeskote

Gebruiker
Lid geworden
26 mrt 2014
Berichten
38
Beste Helmpij leden,

Voor mijn werk ben ik even een ''geautomatiseerde'' urenstaat aan het maken. Dit werkt goed, behalve als ik bijvoorbeeld op een vrije dag tekst invul. Dan komt er #waarde! te staan.

Mijn vraag is nu: is er een manier/code die alleen de getallen (in dit geval het aantal uren) optelt en de tekst niet, zonder dat er de melding #waarde! komt.

Groet,
Lindeskote

Urenstaat.jpg
 
Zonder xls voorbeeld bestandje zou ik zeggen probeer dit eens.
=IF(COUNT(C2: D2)=2;D2-C2;"")
 
Doorgaans telt Excel met de somfunctie ook wel alleen de getallen op als er in bepaalde cellen tekst staat. Maar om zeker te zijn toch best alleen maar de cellen optellen met getallen. Dat kan met het voorbeeld van popipipo, maar daarbij wordt wel verondersteld dat beide cellen zijn ingevuld. Het kan ook bv. zo (invoeren via Ctrl-Shift-Enter):
Code:
=SOM(ALS(ISGETAL(C1:C6);C1:C6))
In jouw blad gaat het om optellen van tijden. Als je daarin fouten krijgt, is er vaak wat anders aan de hand. Dat is altijd het nadeel als er geen Excelbestand bij de vraag wordt geplaatst: er is dan nooit precies te zien wat er mis is.
 
Om als voorbeeld in jouw bestand G21 te nemen: daar kun je, analoog aan mijn voorbeeld hierboven, gebruiken (invoeren via Ctrl-Shift-Enter):
Code:
=SOM(ALS(ISGETAL(G13:G19);G13:G19))
Jij gebruikt daar de naam 'Table', maar daarvan is het bereik niet correct gedefinieerd.
In andere formules zie ik nogal vaak het at-teken, wat daarvan de bedoeling is begrijp ik niet, evenals ook niet van de namen die je daarin gebruikt ( @[Aanvang], @[Einde], @[uren aanwezig], e.d.), want die namen zijn in je bestand niet gedefinieerd.
De celopmaak moet je in G21 uiteraard hetzelfde instellen als de cellen daarboven.
 
Laatst bewerkt:
Als ik de formule invul in G21 wordt de cel blanco, dus die oplossing werkt helaas niet. Of doe ik wat verkeerd?

De term table en de andere termen met @[....], komen automisch wanneer het bereik wordt geselecteerd tijdens het opstellen van de formule. Wanneer je achteraf op een van deze termen klikt, zie je welke velden er worden genomen. Voor het overzicht is het inderdaad handiger om deze termen weg te halen, dus hierbij nogmaals het bestand.

Voor de duidelijkheid:

aanvang= aankomst tijd werk
Einde= vertrek bij werk
Uren aanwezig= aantal uren aanwezig inclusief pauze
Uren pauze --> spreekt voor zich
Gewerkte uren= uren ''echt'' gewerkt, dus zonder pauze

De code die in kolom G en kolom I staan, zorgt ervoor dat er in elke kolom 'nvt' kan worden getypt. Dan wordt de melding #waarde! niet weergeven. Echter wil ik dat dit gaat gelden voor elk random woord wat getypt wordt.

Bekijk bijlage Urenstaat.xlsx
 
In G13 en naar beneden doortrekken.
Code:
=ALS(EN(ISGETAL([@Aanvang]);ISGETAL([@Einde]));[@Aanvang]+[@Einde];"nvt")
 
Laatst bewerkt:
Opgelost

Het probleem is inmiddels opgelost met wat hulp van een collega.

Dit is de code die gebruikt is:

=ALS(ISTEKST(E13)=WAAR;E13;ALS(ISTEKST(F13)=WAAR;F13;F13-E13))

Zie bijgevoegd excel bestand. Bekijk bijlage Urenstaat.xlsx

Bedankt voor de hulp!
 
Dat kan anders.
Excel bepaalt wel voor je of het 'Waar' is.
Code:
=ALS(ISTEKST(G13);G13;ALS(ISTEKST(H13);H13;G13-H13))
 
Leuk om te weten dat excel zelf kijkt of het antwoord waar is, scheelt weer in de formule.
Thanks voor de info!
 
maar daarbij wordt wel verondersteld dat beide cellen zijn ingevuld
Als ze niet beide zijn ingevuld weet je ook niet hoelang er gewerkt wordt.
Ik zie dus het probleem niet.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan