Avatar billede PBChristensen Juniormester
03. august 2017 - 10:45 Der er 9 kommentarer og
1 løsning

Tæl antallet af værdier

Hej,

Kan I hjælpe mig med at tælle antallet af værdier som har flere kriterier?

Har prøvet med tæl.hviser funktionen, men kan ikke rigtigt få det sidste kriterie til at virke. Her er problemet:

Ark1
Kolonne A
(Udvalgte kundenumre)
123
145
798

Ark2
Kolonne A
(Kundenumre)
123
145
346
675
798

Kolonne C
(Beløb)
200,00
400,00
600,00
350,00
350,00

---
Problemet er at jeg skal tælle antallet af beløb over 300,- hvor kundenummeret OGSÅ indgår i de udvalgte kundenumre - ergo vil det i ovennævnte være 2 stk.
Avatar billede jkrons Professor
03. august 2017 - 11:20 #1
Er de udvalgte altid 3, eller kan det variere?
Avatar billede PBChristensen Juniormester
03. august 2017 - 11:32 #2
De udvalgte kundenumre er en lang liste på ca. 2500 kundenumre, mens der på alle kundenumre er omkring 5.000 - men numrene er ikke variable, men faste
Avatar billede acore Ekspert
03. august 2017 - 11:53 #3
Kan man forestille sig en hjælpekolonne i Ark2 - fx kolonne D, der viser SAND/FALSK alt efter om liniens kundenummer er i listen i Ark1? Og så bruge TÆL.HVISER

I Ark2 kolonne D:

=IKKE(ER.IKKE.TILGÆNGELIG(MATCH(Ark2!A1;Ark1!$A$1:$A$3;0)))

Og i sammentællingen:

=COUNTIFS(Ark2!D1:D5;TRUE;C1:C5;">300")
Avatar billede acore Ekspert
03. august 2017 - 11:53 #4
...og TRUE i den sidste linie skal nok rettes til SAND
Avatar billede xl-Enthusiast Ekspert
03. august 2017 - 11:53 #5
Hvis du har dine udvalgte kundenumre i Ark1!A":A4 og kundenumre og beløb i Ark2!A2:B6 så prøv denne matrixformel et eller andet sted i Ark2:

=SUM((A2:A6=TRANSPONER('Ark1'!A2:A4))*(B2:B6>300))

Husk at holde Ctrl og Shift nede før tryk på Enter.
Avatar billede xl-Enthusiast Ekspert
03. august 2017 - 11:56 #6
Der skulle have stået (i første linje)

Hvis du har dine udvalgte kundenumre i Ark1!A2:A4
Avatar billede acore Ekspert
03. august 2017 - 12:07 #7
xl-Enthusiast: Formlen i #5 er smart!

Har du nogen erfaringer med store matrix-formler. Jeg mener: Før SUM(...) har du i det aktuelle eksempel en 5000x5000 matrix med 0 og 1 taller i - det er en del. Bliver det tungt?
Avatar billede xl-Enthusiast Ekspert
03. august 2017 - 12:40 #8
Tja - nogen erfaring har jeg da.
Matrixformlen i #5 skulle ikke give store problemer over et område på 5000 rækker, selvom det selvfølgelig afhænger af, hvor kraftig en pc'er du har.

Hvor tungt det bliver er meget afhængig af, hvilke funktioner der benyttes i matrixformlen, Hvis der for eksempel er flere udgaver af FORSKYDNING, eller INDIREKTE eller andre såkaldt volatile funktioner, så kan det sagtens blive meget tungt selv med mindre end 5000 celler. Og så giver dit spørgsmål mig i øvrigt anledning til at gentage en advarsel jeg mange gange har skrevet:

Brug aldrig "full column references" i matrix- eller matrixlignende formler så som:

SUM((A:A=TRANSPONER('Ark1'!A:A))*(B:B>300))
Det ser måske smart ud, men det er ikke smart.

(med matrixlignende formler mener jeg SUMPRODUKT, selvom den ikke kræver matrixindtastning).

Begræns altid referenceområdet til det der er nødvendigt.
Avatar billede acore Ekspert
03. august 2017 - 12:54 #9
Tak for update og nyttig info.

5000 rækker lyder ikke af meget, men det er 5000x5000 = 25 millioner tal, der skal lægges sammen ved hver eneste gennemregning af den ene celle. Og det var det, jeg syntes lød voldsomt, men du har sikkert ret - det er ikke nødvendigvis et problem, fordi det er simple operationer.
Avatar billede PBChristensen Juniormester
03. august 2017 - 14:01 #10
Hej XL-Entusiast!

Super - virker fint.

...og må indrømme, at dén havde jeg ikke umiddelbart fundt ud at :) :)
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