webForumDet fria alternativet

Räkna veckordagar

5 svar · 957 visningar · startad av onzo

onzoMedlem sedan okt. 200617 inlägg
#1

Har kört fast med en sak i Excel, säkert enkelt att lösa men jag får inte till det.

Grejen är den att jag har en kolumn med en massa datum. Jag skulle nu vilja räkna ut hur många av dessa datum som inföll en måndag, en tisdag, en onsdag osv.

Jag vet det där med funktionerna veckodag och antal.om men att kombinera dom får jag inte ihop. Det fungerar om jag gör ytterligare en kolumn med där jag kör =veckodag(fälten;2) och i denna kolumn så får jag då ett värde mellan 1 och 7. Kör jag sen antal.om och räknar ut hur många måndagar, tisdagar osv så är det en baggis.

Men jag skulle vilja slippa den där extra kolumnen.

Den jag har testat är:
ANTAL.OM(VECKODAG(B1:B100;2);1) (för att få antal måndagar)

Men det funkar inte.

Tacksam för svar.

MindreVetandeMedlem sedan okt. 2005371 inlägg
#2

Nej, ANTAL.OM är inte bra om man vill infoga en annan funktion (tror att den tolkar semikolonet i VECKODAG som "sitt").
Testa:
=PRODUKTSUMMA(--(VECKODAG(B1:B100;2)=1))

eller om du föredrar:
=PRODUKTSUMMA(1*(VECKODAG(B1:B100;2)=1))

Eller om du tycker att det är mer logiskt
=SUMMA((OM(VECKODAG(B1:B100;2)=1;1)))
Matas in som matrisformel. Dvs ctrl+shift+enter när du är klar så att det blir "måsvingar"
{=SUMMA((OM(VECKODAG(B1:B100;2)=1;1)))}

onzoMedlem sedan okt. 200617 inlägg
#3

Det där ser ut att funka alldeles utmärkt.

Tackar!!

Ps. Använde varianten med produktsumma...

onzoMedlem sedan okt. 200617 inlägg
#4

En liten fråga till.

Vissa av de celler jag räknar med är tomma men kommer att fyllas i så småningom. Jag har med dessa i uträkningen nu men alla tomma celler får nu värdet 6, vilket är en lördag.

Går det att på något sätt kolla om cellen är tom innan cellen räknas med? Alltså, är inte cellen tom så kolla vilken dag det var det aktuella datumet, är cellen tom så räkna inte med den.

Jag testade lite med en om-sats men fick inte till det.

MindreVetandeMedlem sedan okt. 2005371 inlägg
#5

Så dumt.
Hmm, för enskilda celler går det att byta ut:
=VECKODAG(B1;2)
mot:
=VECKODAG(""&B1;2)
För att tvinga fram ett felmeddelande. Men tyvärr fungerar inte det i den "stora" formeln. Då sänker felmedelandet hela formeln istället....
Du skulle naturligtvis kunna lägga in veckodagsformeln i kolumn C och sedan köra en ANTAL.OM på kolumn C.

Men, om vi tar din idé med dubbla OM-satser så fungerar det med den renodlade i matrisformeln:
=SUMMA(OM(B1:B100<>0;OM(VECKODAG(B1:B100;2)=6;1)))
eller:
=SUMMA(OM(ÄRTAL(B1:B100);OM(VECKODAG(B1:B100;2)=6;1)))

Men Produktsumma fungerar inte bra med OM-satser, så då får du multiplicera in ett vilkor och utnytja att en parantes=0 när uttrycket är falskt:

=PRODUKTSUMMA(--((ÄRTAL(B1:B100)*VECKODAG(B1:B100;2))=6))
eller, kortare:
=PRODUKTSUMMA(--((B1:B100<>0)*VECKODAG(B1:B100;2)=6))

Inte helt logiskt.
ÄRTAL säger alltså att en tom cell ger "falsk" (inget tal).
Medan B1:B100<>0 säger att en tom cell är=0.

Den logiken kan du fundera på...
Du kanske skall köra <>"" istället. Då är det lite tydligare att det är tomma celler vi menar:
=PRODUKTSUMMA(--((B1:B100<>"")*VECKODAG(B1:B100;2)=6))

För övrigt, om du har tråkigt och vill räkna klartext istället:
=TEXT(""&B1;"DDDD")

=PRODUKTSUMMA(--(TEXT(""&B1:B100;"DDDD")="lördag"))

onzoMedlem sedan okt. 200617 inlägg
#6

Ledsen för att jag inte har svarat förrän nu...

I alla fall, testade en av dina idéer, nämligen

=PRODUKTSUMMA(--((B1:B100<>"")*VECKODAG(B1:B100;2)=6))

Den funkade alldeles utmärkt.

Tack ännu en gång.

139 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)