1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | Private Sub Worksheet_Change(ByVal Target As Range) If Not (Application.Intersect(Worksheets(4).Range("D4:F86"), Target) Is Nothing) Then DoSort End If End Sub Private Sub DoSort() Worksheets(1).Range("A2:I6").Sort Key1:=Worksheets(1).Range("J2"), Order1:=xlDescending, _ Key2:=Worksheets(1).Range("I2"), Order2:=xlDescending, Header:=xlYes Worksheets(1).Range("A10:I14").Sort Key1:=Worksheets(1).Range("J10"), Order1:=xlDescending, _ Key2:=Worksheets(1).Range("I10"), Order2:=xlDescending, Header:=xlYes Worksheets(1).Range("A18:I22").Sort Key1:=Worksheets(1).Range("J18"), Order1:=xlDescending, _ Key2:=Worksheets(1).Range("I18"), Order2:=xlDescending, Header:=xlYes Worksheets(1).Range("A26:I30").Sort Key1:=Worksheets(1).Range("J26"), Order1:=xlDescending, _ Key2:=Worksheets(1).Range("I26"), Order2:=xlDescending, Header:=xlYes Worksheets(1).Range("A34:I38").Sort Key1:=Worksheets(1).Range("J34"), Order1:=xlDescending, _ Key2:=Worksheets(1).Range("I34"), Order2:=xlDescending, Header:=xlYes Worksheets(1).Range("A42:I46").Sort Key1:=Worksheets(1).Range("J42"), Order1:=xlDescending, _ Key2:=Worksheets(1).Range("I42"), Order2:=xlDescending, Header:=xlYes Worksheets(1).Range("A50:I54").Sort Key1:=Worksheets(1).Range("J50"), Order1:=xlDescending, _ Key2:=Worksheets(1).Range("I50"), Order2:=xlDescending, Header:=xlYes Worksheets(1).Range("A58:I62").Sort Key1:=Worksheets(1).Range("J58"), Order1:=xlDescending, _ Key2:=Worksheets(1).Range("I58"), Order2:=xlDescending, Header:=xlYes End Sub ------------------------------------------------------------------------------------------------------------------------------------------- Private Sub Worksheet_Change2(ByVal Target As Range) If Not (Application.Intersect(Worksheets(4).Range("J4:L86"), Target) Is Nothing) Then DoSort2 End If End Sub Private Sub DoSort2() Worksheets(5).Range("A2:I6").Sort Key1:=Worksheets(5).Range("J2"), Order1:=xlDescending, _ Key2:=Worksheets(5).Range("I2"), Order2:=xlDescending, Header:=xlYes Worksheets(5).Range("A10:I14").Sort Key1:=Worksheets(5).Range("J10"), Order1:=xlDescending, _ Key2:=Worksheets(5).Range("I10"), Order2:=xlDescending, Header:=xlYes Worksheets(5).Range("A18:I22").Sort Key1:=Worksheets(5).Range("J18"), Order1:=xlDescending, _ Key2:=Worksheets(5).Range("I18"), Order2:=xlDescending, Header:=xlYes Worksheets(5).Range("A26:I30").Sort Key1:=Worksheets(5).Range("J26"), Order1:=xlDescending, _ Key2:=Worksheets(5).Range("I26"), Order2:=xlDescending, Header:=xlYes Worksheets(5).Range("A34:I38").Sort Key1:=Worksheets(5).Range("J34"), Order1:=xlDescending, _ Key2:=Worksheets(5).Range("I34"), Order2:=xlDescending, Header:=xlYes Worksheets(5).Range("A42:I46").Sort Key1:=Worksheets(5).Range("J42"), Order1:=xlDescending, _ Key2:=Worksheets(5).Range("I42"), Order2:=xlDescending, Header:=xlYes Worksheets(5).Range("A50:I54").Sort Key1:=Worksheets(5).Range("J50"), Order1:=xlDescending, _ Key2:=Worksheets(5).Range("I50"), Order2:=xlDescending, Header:=xlYes Worksheets(5).Range("A58:I62").Sort Key1:=Worksheets(5).Range("J58"), Order1:=xlDescending, _ Key2:=Worksheets(5).Range("I58"), Order2:=xlDescending, Header:=xlYes End Sub |
1 2 3 4 5 6 7 8 9 | Private Sub Worksheet_Change(ByVal Target As Range) If Not (Application.Intersect(Worksheets(4).Range("D4:F86"), Target) Is Nothing) Then DoSort End If If Not (Application.Intersect(Worksheets(4).Range("J4:L86"), Target) Is Nothing) Then DoSort2 End If End Sub |
1 | =((100/(SOM(C93;C97;C106;C110;C119;C123;C132;C136;C143;C147;C156;C160)))*((ALS(C94="herhaalklacht";C93;0))+(ALS(C98="herhaalklacht";C97;0))+(ALS(C107="herhaalklacht";C106;0))+(ALS(C111="herhaalklacht";C110;0))+(ALS(C120="herhaalklacht";C119;0))+(ALS(C124="herhaalklacht";C123;0))+(ALS(C133 = "herhaalklacht";C132;0))+(ALS(C137 = "herhaalklacht";C136;0))+(ALS(C144 = "herhaalklacht";C143;0))+(ALS(C148 = "herhaalklacht";C147;0))+(ALS(C157 = "herhaalklacht";C156;0))+(ALS(C161 = "herhaalklacht";C160;0)))/100) |
1 | =((100/(SOM(C180;C184;C193;C197;C206;C210;C219;C223;C230;C234;C243;C247)))*((ALS(C181="herhaalklacht";C180;0))+(ALS(C185="herhaalklacht";C184;0))+(ALS(C194="herhaalklacht";C193;0))+(ALS(C198="herhaalklacht";C197;0))+(ALS(C207="herhaalklacht";C206;0))+(ALS(C211="herhaalklacht";C210;0))+(ALS(C220 = "herhaalklacht";C219;0))+(ALS(C224 = "herhaalklacht";C223;0))+(ALS(C231 = "herhaalklacht";C230;0))+(ALS(C235 = "herhaalklacht";C234;0))+(ALS(C244 = "herhaalklacht";C243;0))+(ALS(C248 = "herhaalklacht";C247;0)))/100) |
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.Opinion is the medium between knowledge and ignorance (Plato)
quote:Op donderdag 15 mei 2014 20:00 schreef Janneke141 het volgende:
Dat kan wel, maar voor zover ik het kan overzien word je daar niet vrolijk van. Ik word sowieso al niet vrolijk van je formules, maar als je ze ook nog gaat decoreren met INDIRECT-lussen om je sprongen van 87 te maken is het helemaal niet meer te volgen.
Als ik een beetje mag gokken wat je aan het doen bent, wil je het aantal nieuwe klachten per kalenderweek tellen (of er een percentage van maken, weet ik veel). Kun je dit niet oplossen met SOM.ALS of iets in die streek?Ja ik ben niet superhandig met Excel, niet vaak gebruikt tot een tijdje terug Het gaat om niet gefactureerde uren met vier mogelijke redenen, waarbij ik een percentage uitreken. Bijvoorbeeld twee uur niet gefactureerd door service en drie uur niet gefactureerd door garantie, dan rekent hij met die formule uit 60% niet gefactureerd door garantie en 40% door service. Klinkt misschien wat ingewikkeld en ik was dan ook al bijzonder trots op mezelf dat ik het werkend heb gekregenSPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Wat houdt dat SOM.ALS precies in?
Je zorgt dat je indeling bijvoorbeeld als volgt is:quote:
Nou ik weet niet of dat kan, want het zit zo:quote:Op donderdag 15 mei 2014 21:56 schreef Speculant. het volgende:
[..]
Je zorgt dat je indeling bijvoorbeeld als volgt is:
c181= "herhaalklacht" d181=waarde
c185= "herhaalklacht" d185=waarde
etc.
Dan doe je som.als( c181:c248; "herhaalwaarde"; d181:d185). Per rij wordt gekeken of de waarde in c_x voldoet aan "herhaalwaarde"->indien dat zo is neemt hij de waarde uit d_x apart. Je krijgt als resultaat de som van alle waarden die apart zijn genomen.
Precies wat jij doet, alleen wat simpeler.
=SOMMEN.ALS(C3:C19;A3:A19;"Reden niet gefactureerd";B3:B19;"herhaalklacht")quote:Op donderdag 15 mei 2014 22:11 schreef Heeinz het volgende:
[..]
Nou ik weet niet of dat kan, want het zit zo: [ afbeelding ]
Ik moet dus alleen die niet gefactureerde uren tellen, niet de gefactureerde of de aangenomen. Of is het misschien handiger als ik dat bestand even ergens upload?
Lastig om uit te leggen, ik zal eens kijken wat ik met de tips kan en anders kom ik er binnenkort wel op terug. Bedankt iigquote:Op donderdag 15 mei 2014 22:26 schreef Speculant. het volgende:
[..]
=SOMMEN.ALS(C3:C19;A3:A19;"Reden niet gefactureerd";B3:B19;"herhaalklacht")
zo?
Als deze formule niet helemaal duidelijk kun je die sheet wel oploaden als je dat makkelijker lijkt. Je wilt getallen uit een kolom optellen die aan 2 condities voldoen?
Het makkelijkst is het om gebruik te maken van de datum voor je leeftijdscategorie:quote:Op zondag 18 mei 2014 10:02 schreef IBMWV het volgende:
Hoi, vraagje. Ik heb een bestand met daarin allerlei gegevens van personen. In een van deze tabellen staan hun geboortedata, bijvoorbeeld:
1-1-1980
2-2-1985
3-3-1955
10-4-1960
Alleen in plaats van 4 cellen heb ik er ongeveer 2000. Nu zou ik graag de gemiddeldes willen weten. Dus hoeveel mensen zitten in de leeftijdscategorie 18-35, 35-50, 50 - 65, 65+. Ik wil hiermee iets meer inzicht krijgen in de doelgroep.
Iemand enig idee hoe ik dit het best kan doen in Excel? Het zal ongetwijfeld makkelijk zijn, maar ik kom er even niet uit. Dank alvast
1 2 | VAN(=C1) TOT(=D1) AANTAL(=E1) 1-1-1996 1-1-1979 =aantallen.als($A$1:$A$2000;$A$1:$A$2000;">"&C2;$A$1:$A$2000;"<"&D2) |
Ben net eens gaan klooien in Excel met de formule, maar ik ben bang dat ik er nog weinig van snap. Is er een soort van stappenplan om dit vanaf 'scratch' te doen? Dus enkel met een kolom met daarin een aantal geboortedata, en in plaats van 2000 zet ik hem even op 4. Dat vergroot de duidelijkheid voor mij al wat .quote:Op zondag 18 mei 2014 10:30 schreef snabbi het volgende:
[..]
Het makkelijkst is het om gebruik te maken van de datum voor je leeftijdscategorie:
Als je al die geboortedatums in 1 kolom hebt, bijvoorbeeld A1 tot A2000. De onderstaande Tabel zet je er naast in bijvoorbeeld C1 en verder:
[ code verwijderd ]
De formule aantallen.als (of countifs in het engels), zal uit de eerste kolom tellen, wanneer het voldoet aan een aantal voorwaarden. De voorwaarde zie je daar achter namelijk wanneer de geboortedatum in groter is dan C2 en kleiner dan D2.
Eventueel kan je de datum van vandaag er in verwerken. Dat doe je dan door in C2 geen 1-1-1996 te zetten maar bijvoorbeeld: =DATUM(1996;MAAND(VANDAAG());DAG(VANDAAG()))
Dat klinkt makkelijk, alleen hoe bereken ik de leeftijd voor elke persoon? Stel ik wil de leeftijd berekenen op basis van de volgende geboortedatum:quote:Op zondag 18 mei 2014 10:32 schreef sylvesterrr het volgende:
Of je berekent voor iedere persoon de leeftijd en maakt daarna een histogram met je leeftijdsklassen.
=DATEDIF(A2;TODAY();"y") waarbij A2 de geboortedatum is levert de leeftijd in jaren op.quote:Op zondag 18 mei 2014 10:43 schreef IBMWV het volgende:
Dat klinkt makkelijk, alleen hoe bereken ik de leeftijd voor elke persoon? Stel ik wil de leeftijd berekenen op basis van de volgende geboortedatum:
07-03-1988
Het diagram kom ik vervolgens volgens mij wel uit. Kwestie van alle cellen selecteren en op 'diagram maken' klikken.
Volgens mij heb ik hem door en kan ik hier mee aan de slag! Net hem even zelf uitgevoerd met het voorbeeldbestand en dat lukt. Nu alleen Data Analysis Toolpak installeren en dan zou het moeten lukken. Erg bedankt!quote:Op zondag 18 mei 2014 10:53 schreef sylvesterrr het volgende:
[..]
=DATEDIF(A2;TODAY();"y") waarbij A2 de geboortedatum is levert de leeftijd in jaren op.
Zie http://www.mijnbestand.nl/Bestand-ESSQ77HHILR8.xlsx voor een voorbeeld.
Data Analysis Toolpak heb je in principe niet nodig. In kolom D-E heb je ook een histogram, maar met formules.quote:Op zondag 18 mei 2014 11:07 schreef IBMWV het volgende:
[..]
Volgens mij heb ik hem door en kan ik hier mee aan de slag! Net hem even zelf uitgevoerd met het voorbeeldbestand en dat lukt. Nu alleen Data Analysis Toolpak installeren en dan zou het moeten lukken. Erg bedankt!
Ik kan je hulp toch nog even gebruiken merk ik. Ik ging er zelf eens mee spelen en dat ging minder makkelijk dan ik dacht.quote:Op zondag 18 mei 2014 11:36 schreef sylvesterrr het volgende:
[..]
Data Analysis Toolpak heb je in principe niet nodig. In kolom D-E heb je ook een histogram, maar met formules.
Ik had je bericht vanmiddag gelezen maar kon er niet op reageren ivm werk. Je hebt het al opgelost zie ik, top!quote:Op maandag 19 mei 2014 15:37 schreef IBMWV het volgende:
[..]
Ik kan je hulp toch nog even gebruiken merk ik. Ik ging er zelf eens mee spelen en dat ging minder makkelijk dan ik dacht.
Ik heb mijn eigen Excel-bestand even geüpload met daarin alle data (3 kolommen: Geboortedatum, geslacht en leeftijd). Verder heb ik een aantal leeftijdsgroepen:
18 - 35
35 - 50
50 - 65
65 - 80
80 +
Ik zou graag een grafiek of cirkeldiagram willen maken waarin alle leeftijden getoond worden per leeftijdsgroep. Dus er zijn bijvoorbeeld 100 mensen in de groep 18 - 35 enzovoort.
Moet volgens mij te doen zijn met enkele muisklikken, maar bij mij lijkt het kwartje niet te vallen. Al wat Youtube-instructiefilmpjes gekeken maar helaas. Het is ook gelijk het eerste en het laatste wat ik in Excel moet doen.
Zou jij kunnen helpen? Mijn bestand staat hier:
Edit: lijkt te lukken al. Gelukt.
Zonder macro zou ik denk ik kiezen voor het werkblad op te slaan als een CSV bestand. Vervolgens dit bestand te openen via Word. Vervolgens de komma of puntkomma via CTRL H zoeken en vervangen door ^p. Dan je Word bestand kopieren naar je Excel blad.quote:Op maandag 19 mei 2014 20:11 schreef Niesl het volgende:
Ik maak gebruik van Excel 2010.
Ik heb een sheet met 300 rijen met elk 50 kolommen. In elk van de velden zijn waarden opgenomen. Nu wil ik alle rijen en kolommen selecteren, de inhoud kopiëren en dit plaatsen in één enkele kolom, zodat je dus alle 15000 waarden onder elkaar hebt staan.
Is er een makkelijke manier om dit te doen?
quote:Op maandag 19 mei 2014 20:11 schreef Niesl het volgende:
Ik maak gebruik van Excel 2010.
Ik heb een sheet met 300 rijen met elk 50 kolommen. In elk van de velden zijn waarden opgenomen. Nu wil ik alle rijen en kolommen selecteren, de inhoud kopiëren en dit plaatsen in één enkele kolom, zodat je dus alle 15000 waarden onder elkaar hebt staan.
Is er een makkelijke manier om dit te doen?
1 2 3 4 5 | Sub blaat() For i = 2 To ActiveSheet.UsedRange.Columns.Count Step 1 Range(Cells(1, i), Cells(1, i).End(xlDown)).Copy Cells(1, 1).End(xlDown).Offset(1, 0) Next i End Sub |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |