20. november 2008 - 14:04Der er
21 kommentarer og 2 løsninger
Hvor mange gange optræder data - kender ikke data
Jeg har et stort regneark, med masser af data. Jeg har brug for at vide hvor mange gange forskellige data optræder - jeg ved ikke hvilke data det er.
Altså: I fx kolonne A har jeg en masse numre. Jeg ved ikke hvilke numre der er, men nogle optræder mere end 1 gang. Jeg har brug for at tælle hvor mange der optræder 1 gang, hvor mange to gange, tre gange osv, og til 10 gange, til sidst skal jeg vide hvor mange der optræder over ti gange. Hjælp :)
Mit problem er netop at jeg ikke ved hvilke værdier jeg kigger efter, ellers var det relativ enkelt løst.
Jeg skal bruge en funktion der kan fortælle mig hvor mange værdier der optræder en gang, hvor mange to gange osv
Ønsket output:
Antal med 1 fejl 7 Antal med 2 fejl 5 Antal med 3 fejl 0 Antal med 4 fejl 6 Osv til 10
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
En anden løsning er, at skrive tallene fra 1 til 10 ien tom kolonne. Marker cellerne ved siden af, plus 1. Altså har du fx tallene i D1:D10 skal du markere E1:E11.
Mens markeringen er på indtaster du denne formel =FREKVENS(A1:A200000;D1:D10), hvor A1:A200000 er det område, du har tal i. Afslut formlen med Ctr´+skift+enter - altså som en matrixformel.
Cellen, hvor der ikke står noget i D-kolonnen, er antallet af forekomster over 10.
Sagen er at det skal kunne bruges uden at man gør andet end at paste data ind, så det nytter ikke at der skal sorteres. og jeg kan nemt løse det ved at indsætte en hjælpekolonne, men det er jo ikke rigtig sjovt. Men det er måske ikke muligt at undgå? Er der virkelig ikke nogle funktioner der kan udføre det?
Det er et regneark der skal køres en gang årligt i en anden afdeling.
Jkrons: forstår ikke helt den med frekvens - vil du prøve at give et eksempel? Det lyder som den bedste løsning, hvis det ikke kan lade sig gøre helt at undgå ekstra kolonner :)
Subtotal kræver ikek ekstrakolonner. Jeg kan godt forstå, at du ikke forstår Frekvens i denne sammenhæng, for jeg kan se, at jeg har misforstået dit spørgsmål, så den kan faktisk ikke bruges på den måde.
Du har en stor mænde tal fx i A-kolonnen. u vil du vide, hvor mange forskellige tal, der forekommer én gang, hvor mange, der forekommer to gange osv. Du er ikke interesseret i at få at vide hvilke tal der er tale om, men kun tallet?
Det er komponenter der fejler, og jeg ønsker at vide hvor mange komponenter der har 1 fejl, hvor mange har 2 osv. Jeg er ligeglad med hvilke komponenter det drejer sig om.
Sagen er at jeg efterlader arket i en afdeling hvor der ikke er nogen der kender Excel. Alene det at skulle paste data over har krævet instruktion, så det skal helst køre fuldstændig automatisk. Jeg overlever hjælpekolonner hvis det ikke kan være anderledes ;o) Jeg vil nødig ud i en makro, da jeg aldrig har prøvet det.. Er det svært?
Jeg er enig i, at hvis funktionen eksisterer, findes den der. Jeg kender bare ikke umiddelbart en funktion, der kan tælle noget ukendt. Men jeg kigger lige på det.
Jeg er med på, at din løsning ikke er elegant. Slet ikke, hvis tallene i A står i tilfældig rækkefølge og der er felre tusinde af dem. Specielt ikke, hvis du ikek ved, hvad det største antal fejl, der kan forekomme er, for så bliver den sidste formel svært at lave på forhånd.
Dim x(3000) Dim y(3000) Dim rng Set rng = Sheets("Ark1").Range("A1:A3000")
For t = 1 To 3000 x(t) = Sheets("Ark1").Cells(t, 1) Next
For t = 1 To 3000 For l = t + 1 To 3000 If x(t) = x(l) Then x(l) = "" Next Next
For t = 1 To 3000 If x(t) <> "" Then If Application.CountIf(rng, x(t)) < 11 Then y(Application.CountIf(rng, x(t))) = y(Application.CountIf(rng, x(t))) + 1 End If If Application.CountIf(rng, x(t)) >= 11 Then y(11) = y(11) + 1 End If Next
For t = 1 To 11 If y(t) = "" Then y(t) = 0 If t < 11 Then MsgBox "Antal værdier som forekommer " & t & " gange = " & y(t) If t = 11 Then MsgBox "Summen af værdier som forekommer mere end 10 gange = " & y(t) Next
End Sub
--------------------- Ovenstående kode indsættes i din Projektmappe på følgende måde: Kopier koden (CTRL+c) Retur i arket tast (ALT+F11) Vælg Module i menuen Insert Indsæt koden der (CTRL+v) Retur til arket med (ALT+q) I arket tast (ALT+F8) vælg Forekomster og klik Afspil
Resultatet vises på skærmen, jeg ved ikke hvor du vil have dem i arket
Tak for alle inputs, jeg havde håbet på en simpel funktion. jkrons og excelent, sender i svar? Så deler jeg pointene mellem jer, som tak for indsatsen :)
Jeg har læst alle mine kilder igennem, og tilsyneladende findes der ikke en indbygget funktion, der kan tælle værdier, hvis disse er ukendte - elelr antallet af varianter er. Men her er et svar.
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.