Avatar billede mile Juniormester
10. september 2004 - 10:07 Der er 15 kommentarer og
2 løsninger

Hjælp til placering af tal i intervaller

hej

Jeg har en hel masse tal fra 0 - 30.000, Eks.

98
102
150
312

osv.

Jeg skal egentligt tælle hvor mange forekomster der er i hvert interval, men hvordan får jeg tallene placeret i intervallerne

0-999
1000-1099
1100-1199

osv.
10. september 2004 - 10:10 #1
TÆL.HVIS(.....)
Avatar billede mile Juniormester
10. september 2004 - 10:16 #2
Ja - jeg har lige fundet noget at Baks det gamle:

http://eksperten.dk/spm/175245
Avatar billede stewen Praktikant
10. september 2004 - 10:23 #3
Denne tæller i intervallet 1000-1099

=-TÆL.HVIS('dit område';"<1000")+TÆL.HVIS('dit område';"<=1099")
Avatar billede mile Juniormester
10. september 2004 - 10:33 #4
Jeg havde nu egentligt forestillet mig en makro der enten placerer dem for mig, eller tæller antal i intervaller og placerer i celler, ellers ville jeg skulle lave en hulens masse formler...
10. september 2004 - 10:52 #5
okay mile - det kan vi også lave.
Skal intervallerne stige med 200 hver (altså når de kommer over 999) ?

Hvor er dine data placeret ? Hvor vil du have resultatet ?
Du er også velkommen til at sende mig dit ark. fd@win-consult.com
Avatar billede mile Juniormester
10. september 2004 - 10:55 #6
OK - jeg sender en fil - Tak Flemming.
Avatar billede sjap Praktikant
10. september 2004 - 11:00 #7
Nu er det måske for sent, men hvor bruger du ikke bare FREKVENS funktion. Det er en matrix funktion, hvor du skriver både dataområde og et område med dine intervaller. Det lyder som lige det du søger - men det er selvfølgelig lettere, hvis flemming vil lave det for dig :0)
Avatar billede mile Juniormester
10. september 2004 - 11:04 #8
Jeg tror at vi er mange der er interesserede alligvel - kunne du uddybe ?
Avatar billede sjap Praktikant
10. september 2004 - 11:14 #9
Eksempel:
Du har dine data i A1:A100
Så skriver du følgende:
B1: 1000
B2: 1100
B3: 1200
osv. det er øvre grænse i alle intervallerne.
I F.eks. C1 skriver du så
=FREKVENS(A1:A100;B1:B10)
Anden del af funktionen er di intervalområde og hvis du f.eks. har skrevet det sidste interval i B9, så angives intervallet til B10 (dvs. der medtages et blank felt). Derved tælles også alle værdier større end det sidst angivne interval. Det er lidt kryptisk beskrevet, men jeg håber du forstår.
Når du har indlæst formlen, markerer du felterne C1 - C10 (én for meget ligesom ovenfor) trykker F2 og derefter trykker du Ctrl-Shift-Enter så fyldes matrixformlen ud i alle de valgte felter og du kan straks se resultatet.
10. september 2004 - 11:34 #10
en mulighed sendt retur

Forudsætinger......
- tallene står i kolonne V i Sheet1
- intervallerne står i kolonne A+B i Sheet2


Private Const msCOL_LETTER As String = "V"
Private Const mlFIRST_ROW As Long = 2
Private mcolNumbers As Collection

Public Sub DoInterval()
    Dim lRow As Long
   
    FilNumbersCollection
   
    With Sheet2
        For lRow = mlFIRST_ROW To .Range("A1").End(xlDown).Row
            .Cells(lRow, 3).Value = FrequenceInCollection(.Cells(lRow, 1).Value, .Cells(lRow, 2).Value)
        Next lRow
    End With

End Sub

Private Function FrequenceInCollection(ByVal lLow As Long, ByVal lHigh As Long) As Long
    Dim lRetVal As Long
    Dim lItem As Long
   
    For lItem = 1 To mcolNumbers.Count
        If mcolNumbers(lItem) >= lLow And mcolNumbers(lItem) <= lHigh Then
            lRetVal = lRetVal + 1
        End If
    Next lItem
   
    FrequenceInCollection = lRetVal
End Function

Private Sub FilNumbersCollection()
    Dim lRow As Long
    Set mcolNumbers = New Collection
   
    With Sheet1
        For lRow = mlFIRST_ROW To Sheet1.Range(msCOL_LETTER & CStr(mlFIRST_ROW)).End(xlDown).Row
            mcolNumbers.Add Sheet1.Range(msCOL_LETTER & CStr(lRow)).Value
        Next lRow
    End With
End Sub
Avatar billede mile Juniormester
10. september 2004 - 11:51 #11
Det ser godt ud Flemming - lægger du lige et svar ?
10. september 2004 - 11:56 #12
:-)
Avatar billede mile Juniormester
10. september 2004 - 12:17 #13
Tak for hjælpen begge to.
Avatar billede sjap Praktikant
10. september 2004 - 13:40 #14
Nu har jeg ikke lige prøvet Flemmings funktion, men svarer det ikke til at opfinde den dybe tallerken. Jeg spørger blot fordi det umiddelbart ligner en funktion, der laver det samme som FREKVENS funktionen. Eller er er der noget jeg har misforstået?
10. september 2004 - 13:46 #15
sjap> Den laver i princippet det samme. Problemerne ved formler kan nu og da være, at de fylder en del, og gør regnearket langsomt. Tror det er årsagen til ønsket om en VBA løsning...
Avatar billede sjap Praktikant
10. september 2004 - 13:58 #16
flemmingdahl -> Jeg havde bare ikke lige set, at der blev ønsket en VBA løsning, og jeg har ikke oplevet at frekvensfunktionen er langsom (har godt nok heller ikke prøvet den op mod din), men med 30000 tal som mile skriver om, kan jeg slet ikke registrere nogen forsinkelse.
10. september 2004 - 14:02 #17
frekvens er heller blandt de sløveste, men det kan jo være i en stor løsning, hvor jo færre formler jo bedre..... hvem ved
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