19. april 2004 - 13:08 Der er 10 kommentarer og
1 løsning

Matrix Count IF

Hejsa

((Det er mandag!!))

Har følgende tabel:
A = IDnr
B = Fejlkodenr

I et andet ark skal jeg have talt antallet af forekomster pr. fejlkode pr. IDnr

Altså en countif med både IDnr og Fejlkodenr som kriterie.

Må gerne være en VBA løsning - men via f.eks. WorksheetFunctions
I et andet ark har jeg IDnr i kolonne A og fejlkodenr i række 1 fra kolonne B til f.eks. F.

(kan sagtens selv tælle dem op - men det er en langsom løsning)

Takker
Flemming
Avatar billede bak Forsker
19. april 2004 - 13:25 #1
Hvis dine data er på ark1 og sammentælling på ark2.
På ark2 har du ID nedad fra A2 til A117 og Fejlkoder fra B1 til F1.
Indsæt formlen i B2 og træk nedad og henad


=SUMPRODUCT((Ark1!$A$1:$A$117=$A2)*(Ark1!$B$1:$B$117=B$1))
Avatar billede bak Forsker
19. april 2004 - 13:28 #2
19. april 2004 - 13:34 #3
bak - kan det gøres med Application.WorksheetFunctions..... således der ikke kommer formler i regnearket ?
19. april 2004 - 13:39 #4
Det andet virker fint, men med mange celler er det en langsom løsning synes jeg.
19. april 2004 - 13:40 #5
Lav iøvrigt et svar
Avatar billede bak Forsker
19. april 2004 - 13:45 #6
tænker lige, det er også mandag her :-)
Hvad men en pivottabel istedet ?
19. april 2004 - 13:48 #7
Det er rent statatistik materiale, som ønskes vis specifikt - ingen pivottabeller.

Du har nu scoret 50 point for formel løsningen..... sidste 50 findes i VBA løsningen.
Avatar billede bak Forsker
19. april 2004 - 13:50 #8
Nu ved jeg godt at de ikke er markeret inden, men her er et forslag

Sub test()
Dim rcell As Range
For Each rcell In Selection
rcell.Value = _
    Evaluate("=SUMPRODUCT((Ark1!$A$1:$A$117=$A" & rcell.Row & ")*(Ark1!$B$1:$B$117=" & Mid(rcell.Address, 2, 1) & "$1))")
Next
End Sub
19. april 2004 - 14:16 #9
Super bak - Evaluate virker perfekt - resultat:
rCell.Offset(lRow, 1 + lCol).Value = Evaluate("SUMPRODUCT(('" & mwksData.Name & "'!$A$2:$A$65536=" & rCell.Offset(lRow, 0).Address & ")*('" & mwksData.Name & "'!$B$2:$B$65536=" & rCell.Offset(0, 1 + lCol).Address & "))")
Avatar billede bak Forsker
19. april 2004 - 14:19 #10
Takker for pointz, flemming.
men det blev vel ikke hurtigere ... ? snarere tværtimod, ikke ..
19. april 2004 - 14:27 #11
Jeg synes faktisk det er hurtigere end at sætte formlen ind i arket.... og så skifte den til en værdi.... måske jeg bliver klogere...!!

Takker :-)
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
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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