Avatar billede jonasboege Praktikant
03. november 2011 - 14:57 Der er 6 kommentarer og
1 løsning

SUM.HVIS alt for mange hvis'er...

Hej. Jeg kan ikke finde ud af denne :-( Måske skal der bruges VBA - men selv det virker uoverskueligt..

Input:
40.000 linier med emner, der er indleveret til reparation
Hver række har bl.a. følgende oplysninger (i hver sin kolonne):
Indleveringsdato
Type (f.eks. LDT 3805, PPT 8866, MC659B - i alt 28 forskellige)
Udleveringsdato

ØNSKET output:
En tabel med rækker: Alle dage siden 2007
Kolonner: De 28 forskellige typer

Altså en matrix på 28x ca. 1800

Værdierne i matrix'en skal "simpelt hen" bare være antal på "reparationslageret", hvor begge datoer (ind og ud) tæller med som "på lager"

F.eks. bliver der af LDT 3806'ere indleveret én 15-01-07, der bliver udleveret igen 18-01-07 og en anden af samme type bliver indleveret 16-01-07 og udleveret 19-01-07.

I dette eksempel skal der altså ud for LDT 3806 stå
15-01-07: 1
16-01-07: 2
17-01-07: 2
18-01-07: 2
19-01-07: 1
20-01-07: 0

Er der nogle, der kan hjælpe?
Avatar billede rasta Nybegynder
03. november 2011 - 15:34 #1
For en given kolonne (en af de 28), kan du bruge funktionen TÆL.HVISER. For hver dato (række) angiver du fire betingelser (Er det den rigtige type? Er indleveringsdato lig med eller lavere end dags dato? Er udleveringsdato lig med eller højere end dags dato? Er udleveringsdato forskellig fra nul/tom celle?

Og så kopierer du den ovenstående formel 50.400 gange. Cirka.

Det bliver dog noget nemmere (og mindre gumpetungt), hvis man laver opslag, i stedet oversigt.

Lav én celle med TÆL.HVISER funktionen, og brug tre celler til indtastning af indleveringsdato, type og udleveringsdato. Så kan du ved at udfylde de tre, lave et opslag i dine data - i stedet for at lave 50.000 funktioner, eller VBA-programmering. Det giver ikke helt det samme overblik, men det er til gengæld til at arbejde med.

Bemærk i øvrigt at TÆL.HVISER funktionen kun findes i Excel 2007 og frem (dvs. ikke i 2003)
Avatar billede Slettet bruger
03. november 2011 - 19:13 #2
En pivottabel forekommer oplagt her.
Avatar billede jonasboege Praktikant
04. november 2011 - 08:59 #3
Mange tak. Det var præcis den formel, jeg ville forvente at få! Og nu forstår jeg bedre hvorfor jeg ikke kunne finde den i Excel, for jeg har ikke Excel 2007 :-(

Er der nogen omvej til samme funktion i 2003?

Jeg kan godt følge dig i at lave et opslag, så arket bliver lidt hurtigere... - så det tror jeg, at jeg vil bruge (hvis altså det kan lade sig gøre i 2003)
Avatar billede jonasboege Praktikant
04. november 2011 - 12:32 #4
Hej dkhanknu:
Kan du uddybe? Jeg kan slet ikke finde den løsning med pivottabel - men det lyder meget spændende.

Jeg har nu fundet en løsning efter inspiration fra rasta (en søgning på "tæl.hvisser" her på eksperten:
=SUMPRODUKT((ARK!$E$2:$E$5000<=17-01-07)*(ARK!$P$2:$P$5000>=17-01-07)*(ARK!$G$2:$G$5000="LDT 3806"))

Det virker vist...
Avatar billede Slettet bruger
04. november 2011 - 12:54 #5
Hvis du kan og vil sende (eventuelt en lille del af) filen der illustrerer opgaven, så skal jeg gerne forsøge at hjælpe.
Send i givet fald til:
hans.knudsensnabelsmail.tele.dk
Avatar billede jonasboege Praktikant
28. november 2011 - 13:10 #6
Hej Rasta - smid du bare et svar - så splejser vi :-)
Det hjalp mig med at få idéen til at søge videre med tæl.hvisser... :-)
Avatar billede jonasboege Praktikant
20. december 2011 - 12:47 #7
Timeout :-(
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester