PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerExcelExcelRäkna rader per dagRäkna rader per dag
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2024-10-31 10:57
 

 Hej! Jag blir inte klok på vad felet kan vara den formel jag försöker få till.

Formlerna i kolumn C har jag lagt till men skulle helst slippa den kolumnen, formel "=DAG(B3)"

Med kolumn C så funkar denna formel: =ANTAL.OMF($A$3:$A$37;$F$9;C3:C37;F4)

Jag skulle vilja att det gick att få samma funktion med hjälp av kolumn B istället för C. Testar jag då denna formel så tycker Excel att den är ogiltig, fast hovrar jag över de olika begreppen så stämmer alla resultat: =ANTAL.OMF($A$3:$A$37;$F$9;(DAG($B$3:$B$37));F4)

 

Nytt inlägg
 2024-10-31 15:01
 
 Ändrad av anoying mouse  på 2024-10-31 15:11:42

Antal.om/antal.omf  och övriga  ".om" formler fixar inte formelr i dataområdet.

Testa det här t.ex:

=ANTAL.OM(DAG($B$3:$B$37);F4)

 

Du kan istället utnyttja att en parantes med villkor blir 0/1 och multiplicera villkorsparanteser:

=($A$3:$A$37=$F$9)*(DAG($B$3:$B$37)=F4)

Då blir det bara 1 om båda villkoren/paranteserna är sanna. Annars 0.

Summera för svar

=SUMMA(($A$3:$A$37=$F$9)*(DAG($B$3:$B$37)=F4))

 

Eller kör filter om du tycker att det är lättare att förså.

=FILTER(A3:A37;($A$3:$A$37=$F$9)*(DAG($B$3:$B$37)=F4))

räkna antal (AntalV eftersom a-kolumnen är i textformat)

=ANTALv(FILTER(A3:A37;($A$3:$A$37=$F$9)*(DAG($B$3:$B$37)=F4)))

 

***********************************************************************************

Om du har en gammal excel får du köra produktsumma istället 

=produktSUMMA(($A$3:$A$37=$F$9)*(DAG($B$3:$B$37)=F4))

Nytt inlägg
 2024-11-01 08:32
 
 Ändrad av Henrik  på 2024-11-01 08:54:30

 Tack för tipsen. Dock får jag det inte att fungera ändå. Efter att ha testat de olika delarna i ditt förslag så noterar jag att Wildcard "*" inte fungerar att ha med i dina exempelformler. Wildcard fungerar med Antal.OM /.OMF men inte i en vanlig formel eller i en SUMMA formel som du föreslog.

Har du någon work around för det också?

 

Edit:

Jag hittade en fungerande lösning själv: =SUMMA(ÄRTAL(SÖK($F$9;$A$3:$A$37))*(DAG($B$3:$B$37)=F4))

Nytt inlägg
 2024-11-01 10:24
 

 Bra att du delade med dig! 

(Jag får lite skamset erkänna att jag inte såg att du hade wildcards...)

Nytt inlägg
 2024-11-01 12:24
 

 Jag körde nu stopp i nästa steg. Jag beskriver det här i samma tråd så man förstår bakgrunden...

Den data jag ska söka igenom enligt mitt första inlägg är data jag läser in till ett annat blad (import från CSV). Då varje import innehåller en månads händelser vilka kan variera mycket i antal, t.ex. för oktober är det 3328 rader. I formeln har jag ju angivit ett statiskt värde för vilket cellområde jag vill söka i, men jag skulle vilja ha formeln så att den automatiskt anpassar sig till hur många rader det finns Text i.

=SUMMA(ÄRTAL(SÖK($F$9;$A$3:$A$37))*(DAG($B$3:$B$37)=F4))

I oven formel är det ju "$A$3:$A$37" som jag skulle vilja få till så att det högre värdet blir sista raden i importen.
Jag har ju lyckats med denna formel =ADRESS(((ANTALV(Document!C:C))-1);1;1;1) få fram  värdet "$A$3328" till en cell men jag lyckas inte baka in den i de övre, långa formeln.

Även denna resulterar ju i radnumret men kommer inte så mycket längre. =((ANTALV(Document!C:C))-1)

 

Några tips?

Nytt inlägg
 2024-11-01 13:25
 

Lite olika alternativ:

="$A$3:"&ADRESS(((ANTALV(Document!C:C))-1);1;1;1) 

Ger bara en textsträng som ser ut som en adress. För att excel skall förstå att texten är en addres måste du använda INDIREKT

=INDIREKT("$A$3:"&ADRESS(((ANTALV(Document!C:C))-1);1;1;1) )

Som kan petas in i dina formler. Men. Jag skulle nog använda en formel som ger hela intervallet direkt. T.ex: så här

=FÖRSKJUTNING($A$3;0;0;ANTALV(A:A)-1)

Respektive

=FÖRSKJUTNING($B$3;0;0;ANTALV(B:B)-1) 

Och din formel blir:

=SUMMA(ÄRTAL(SÖK($F$9;FÖRSKJUTNING($A$3;0;0;ANTALV($A:$A)-1)))*(DAG(FÖRSKJUTNING($B$3;0;0;ANTALV($B:$B)-1))=F4))

****************************************************************

Då är det kanske enklare att utnyttja att dagens datorer (och microsofts excelprogramerare) gör att du kan kika i hela kolumnen. Exempel där du filtrerar hela A-kolumnen efter de rader som uppfyller datumkriteriet och returnerar A-kolumnens texter:

=FILTER($A:$A;OMFEL(DAG($B:$B)=$F$4;0))

Sen kikar du i den delmängden efter de A-rader som uppfyller text-villkoren 

=SUMMA(1*ÄRTAL(SÖK(F9;FILTER(A:A;OMFEL(DAG(B:B)=F4;0)))))

******************************************************************

Eller. Återgå till din ursprungsplan:

eftersom alla datum i kolumn B kommer att höra till samma Månad så kan du få fram det eftersökta datumet så här

=DATUM(ÅR($B$3);MÅNAD($B$3);$F$4)

Det kan du sedan använda i en ANTAL.OMF (man får ha formler i villkoren). Där du kollar att daumet är sörre eller Lika med det eftersökta datumet OCH mindre än dagen efter det eftersökta datumet  och textvillkor med wildcard

=ANTAL.OMF(B:B;">="&DATUM(ÅR($B$3);MÅNAD($B$3);$F$4);B:B;"<"&DATUM(ÅR($B$3);MÅNAD($B$3);$F$4)+1;$A:$A;$F$9)

eller så här om du tycker att LET är enklare att läsa

=LET(dag;DATUM(ÅR($B$3);MÅNAD($B$3);$F$4);ANTAL.OMF(B:B;">="&dag;B:B;"<"&dag+1;$A:$A;$F$9))

Eftersom beräkningarna bara sker en gång (villkoren) så blir resten ANTAL.OMF's egna funktioner och det blir inte specielt segt att köra på hela kolumnerna.

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerExcelExcelRäkna rader per dagRäkna rader per dag

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter