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

 
ForumForumDiskussionerDiskussionerExcelExcelHämta tidigast datum givet villkorHämta tidigast datum givet villkor
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2020-01-13 07:12
 

Jag använder Excel på engelska så jag skriver formelrna på engelska.

Jag vill mäta tidsperiod (antal dagar) mellan två datum. Låt oss kalla det första produktionsordern efter senaste inköpsordern. Senaste inköpsordern går fint att hämta med en MAX(IF)-array formel. Den ser ut såhär:

{=MAX(IF($L$2:$L$9=A8;$M$2:$M$9;))}
Denna formel lägger jag i cell C8.
Där kolumn L är en kolumn med listade artiklar, och kolumn M är tillhörande datum för inköp. Denna formel fungerar utan problem.
I cell A8 har jag artiklen jag är intresserad av.

I kolumn O har jag på samma sätt som i kolumn L listat alla artiklar och i kolumn P tillhörande datum för produktion.
Jag försöker sedan med formlen:

{=MIN(IF($P$2:$P$8>C8;IF($O$2:$O$8=A8;$P$2:$P$8;);))}

Men denna retunerar 0 (eller 1900-01-01 i datumformat). Jag tänker att MIN(IF)-array formeln borde fungera som MAX(IF)-array formlen fast tvärtom, men så verkar inte fallet vara? Någon som vet varför detta inte fugerar och vad man kan göra istället?

Tack!

Nytt inlägg
 2020-01-13 09:19
 
 Ändrad av anonymous  på 2020-01-13 10:20:59

 om du har ny excel så är motsvarigheten till din Maxformel (inte matris):

=MINIFS(P2:P10;P2:P10;">"&C8;O2:O10;A8)

 

Problemet med din formel är att vilkoret returnerar falskt (0) när villkoet inte är uppfyllt. Och 0=1900-01-01. Om du utesluter "omfel" så borde det bli rätt (matrisformler)

=MIN(OM($P$2:$P$8>C8;OM($O$2:$O$8=A8;$P$2:$P$8)))

Alternativt ersätter FALSKT(0) med tomt ""

=MIN(OM($P$2:$P$8>C8;OM($O$2:$O$8=A8;$P$2:$P$8;"");""))

Nytt inlägg
 2020-01-13 18:19
 

 Tusen tack!

Vad jag kan se nu när jag testar så fungerar det!

Var det mina semikolon som ställde till det? Det är väl enda skillnaden på:

=MIN(IF($P$2:$P$8>C8;IF($O$2:$O$8=A8;$P$2:$P$8;);))

och

=MIN(OM($P$2:$P$8>C8;OM($O$2:$O$8=A8;$P$2:$P$8)))

?

Mvh

Nytt inlägg
 2020-01-14 12:43
 
Japp. Dina semikolon betyder att false returneras till arrayen som ska tolkas av minfunktionen. False tolkas som 0, vilket blir minsta värdet om du inte har negativa tal.
Mvh
Christian
Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerExcelExcelHämta tidigast datum givet villkorHämta tidigast datum givet villkor

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