abonnement Unibet Coolblue Bitvavo
  donderdag 26 september 2013 @ 00:41:37 #1
62215 qu63
..de tijd drinkt..
pi_131576167


Welkom bij “Het grote Excel vragentopic” waar je terecht kan met vragen over Excel.

In dit topic is het de bedoeling dat we gericht vragen stellen en antwoorden geven op de gestelde vragen. Om alles zo goed mogelijk te laten verlopen zijn er een aantal regels.

Regels
1. Als je een vraag stelt, zet er dan bij welke versie van Excel je hebt en op welke taal hij ingesteld staat.
2. Zet macrocode tussen [ code ] tags
3. Als het “pseudo-code” is, vermeldt dit dan duidelijk
4. Er bestaan geen domme vragen, wel domme antwoorden. Als jouw antwoord niet gaat bijdragen, geef het antwoord dan niet.
5. Dit topic is geen “code-FEBO” waar je half opgewarmde code uit de muur trekt, het is de bedoeling dat je er zelf iets van leert.

Definities
Functie Een interne functie die bij Excel is geleverd.
UDF Een “user definded function”, een zelfgebouwde functie
Macro Een stuk code die opdrachten uitvoert, gebouwd in (meestal) de VBA editor
Add-In Een Excel workbook met VBA-code (of C#, C) die als .xla (of .xll) is opgeslagen, deze is als vaste plug-in in Excel te plaatsen.
Workbook Het excelbestand
Sheet of Worksheet Het tabblad
Form, Formulier, Userform Een Dialoogvenster in VBA gebouwd

Tips & Links
De help functie van excel of visual basic voor excel kan je een eind op weg helpen. (F1)

Het workbook met het FOK!-menu zoals in de banner weergegeven is hier te vinden. Dit menu is naar wens aan te passen. De icoontjes in het menu zijn hier allemaal weergegeven. In dit workbook zijn drie macro's aanwezig:
• Een printertool waarmee je uit meerdere workbooks sheets kan selecteren voor afdrukken
• Een power replace die termen kan wijzigen in meerdere workbooks tegelijk
• Een formule vertaler, de formule in de actieve cel wordt in het engels weergegeven. Je kan ook een engelse formule invoeren die dan in de actieve cel in de geldende taal wordt geplaatst.
De UDF is naar aanleiding van een vraag in topic #29. De functie kan worden aangeroepen door in een cel =FOK() te typen en dan op de Fx te klikken voor uitleg over de variabelen.

De VBA editor bereik je door ALT+F11 in te drukken. Vanaf Excel 2007 is de VBA editor lastiger te vinden. Op deze site wordt uitgelegd hoe je de editor kan activeren.

De interne functies zijn afhankelijk van welke taal jouw Excel draait. Op deze en deze site kun je de formules in verschillende talen vertalen.

Macro uitvoering optimaliseren
De meer uitgebreide macro's kunnen traag worden, ook kan het scherm flikkeren als gevolg van veel "select" acties. Deels kun je dit ondervangen door zo veel mogelijk select acties te vervangen door directe verwijzingen naar cells en deels door een macro-optimalisatie door te voeren. In de onderstaande code is een routine voor macro-optimalisatie en een routine om de optimalisatie weer uit te zetten weergegeven. In de voorbeeld sheet is een uitgebreide versie van MOA en MOU opgenomen.

SPOILER
Om 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.
Bij macro's die een bepaalde, merkbare, tijd nodig hebben om hun werk te doen is het van belang de gebruiker een idee te geven van wat er gebeurt, zeker met macro-optimalisatie aan kan het lijken alsof Excel is vastgelopen. Je kan bijvoorbeeld de statusbar een waarde geven, met eventueel een percentage van de reeds uitgevoerde code.

SPOILER
Om 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.
Password kwijt?
Soms heb je een worksheeet beveiligd met een password maar ben je die kwijt. Gelukkig is dat geen groot probleem want de interne beveiliging van Excel stelt niet heel veel voor.
Hier vind je meer info en een downloadbare macro die alle interne passwords verwijdert.

DISCLAIMER: Denk erom dat je met het breken van de beveiliging van een excelsheet mogelijk wet- of regelgeving overtreedt. Als de spreadsheet van jezelf is zou het geen probleem moeten zijn.
In andere gevallen: vraag toestemming aan de originele schrijver.
Bij twijfelgevallen: NIET DOEN



Mooi, grappig en cool
Een uitgebreide site met nuttige en minder nuttige excelsheetjes. Van kekke grafieken om je manager of leraar te betoveren via oscillogrammen en simulatoren tot pong voor als het weer een typische vrijdagmiddag is: Excelunusual

Verder
Alle vorige topics zijn hier terug te vinden.

Nieuw topic? Haal de OP uit de wiki
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_131612284
Ik heb een behoorlijk hardnekkig probleem in Excel 2007. Ik importeer een afbeelding die ik gemaakt heb met photoshop. Vervolgens denkt Excel dat de afbeelding veel kleiner is dan elk ander programma (buiten de Office suite). Het betreft een PNG maar ook verschillende andere bestandsformaten gaan fout.

Iemand een idee hoe dit op te lossen is? ;(
pi_131612982
Helaas weet ik icm Office niet zo veel over plaatjes. Altijd een drama :(
  vrijdag 27 september 2013 @ 13:44:00 #4
62215 qu63
..de tijd drinkt..
pi_131616925
quote:
0s.gif Op vrijdag 27 september 2013 10:39 schreef Cracka-ass het volgende:
Ik heb een behoorlijk hardnekkig probleem in Excel 2007. Ik importeer een afbeelding die ik gemaakt heb met photoshop. Vervolgens denkt Excel dat de afbeelding veel kleiner is dan elk ander programma (buiten de Office suite). Het betreft een PNG maar ook verschillende andere bestandsformaten gaan fout.

Iemand een idee hoe dit op te lossen is? ;(
kleiner als in pixels of in kb's?

En wat is t probleem als de foto kleiner is?
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_131616997
quote:
0s.gif Op vrijdag 27 september 2013 13:44 schreef qu63 het volgende:

[..]

kleiner als in pixels of in kb's?

En wat is t probleem als de foto kleiner is?
Als in pixels. Dat is een probleem omdat de afbeelding via VBA geïmporteerd wordt.
  vrijdag 27 september 2013 @ 13:48:44 #6
62215 qu63
..de tijd drinkt..
pi_131617056
quote:
0s.gif Op vrijdag 27 september 2013 13:46 schreef Cracka-ass het volgende:

[..]

Als in pixels. Dat is een probleem omdat de afbeelding via VBA geïmporteerd wordt.
Hmm, Excel zou er toch mee om moeten kunnen gaan: http://office.microsoft.c(...)use-HP005200499.aspx
-edit- De 2003-versie iig, ga er van uit dat de 2007 versie het ook kan..
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_131618339


heb met Excel bovenstaande grafiek gemaakt, op de horizontale as staat de dag-maand. Nu wil ik dat het grafisch gezien wat duidelijker wordt wat de verschillende maanden zijn. Bijvoorbeeld middels een verticale streep tussen jan en feb (en feb en mrt, etc) of een andere kleur van het tekengebied boven elke maand. Dus wit voor alle even maanden en licht grijs voor alle oneven maanden.

Hoe los ik dit op?
pi_131618419
Verticale rasterlijnen?
Aldus.
pi_131625944
moment
pi_131625976
quote:
0s.gif Op vrijdag 27 september 2013 14:33 schreef LogiteX het volgende:
[ afbeelding ]

heb met Excel bovenstaande grafiek gemaakt, op de horizontale as staat de dag-maand. Nu wil ik dat het grafisch gezien wat duidelijker wordt wat de verschillende maanden zijn. Bijvoorbeeld middels een verticale streep tussen jan en feb (en feb en mrt, etc) of een andere kleur van het tekengebied boven elke maand. Dus wit voor alle even maanden en licht grijs voor alle oneven maanden.

Hoe los ik dit op?

Alstu
pi_131626767
Mooie oplossing.
Aldus.
pi_131632335
quote:
0s.gif Op vrijdag 27 september 2013 19:46 schreef Holy_Goat het volgende:

[..]

[ afbeelding ]
Alstu
dat is een mooie oplossing ja
pi_131635697
quote:
0s.gif Op vrijdag 27 september 2013 19:46 schreef Holy_Goat het volgende:

[..]

[ afbeelding ]
Alstu
Die moet ik onthouden :)
  zondag 29 september 2013 @ 00:29:16 #14
62215 qu63
..de tijd drinkt..
pi_131662562
Exel 2007, NL:
Heb data in D2:M501. Nu wil ik in een andere kolom (zeg 'N') een lijst maken met de unieke records uit D2:M501 en daarnaast (kolom 'O') het aantal keer dat het woord in D2:M501 voorkomt. Dat laatste is op te lossen met een aantal.als(N2;D2:M501), alleen dat eerste is me nog niet gelukt.. De lijst is niet gesorteerd en kan niet gefilterd worden (of ik maar een schaduwkopie van, maar dan nog moet het sorteren handmatig gebeuren, iets wat niet de bedoeling is)

Ik heb wel UDF's en macro's gevonden die het kunnen doen (1, 2)

Mijn voorkeur gaat uit naar een formule, is dat te doen? Of zal ik toch naar een UDf moeten grijpen?

-edit- Ik heb nu de volgende array-formule:
{=INDEX(tbl_zkw;MIN(ALS(AANTAL.ALS($O$1:O1;tbl_zkw)=0;RIJ(tbl_zkw)-MIN(RIJ(tbl_zkw))+1));VERGELIJKEN(0;AANTAL.ALS($O$1:O1;INDEX(tbl_zkw;MIN(ALS(AANTAL.ALS($O$1:O1;tbl_zkw)=0;RIJ(tbl_zkw)-MIN(RIJ(tbl_zkw))+1));;1));0);1)}

Werkt, maar is wel processorintensief voor 500 rijen en 10 kolommen.. :(

[ Bericht 7% gewijzigd door qu63 op 29-09-2013 01:12:04 ]
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_131665853
Leuk probleem :) maar je weet van te voren natuurlijk niet hoe lang die lijst moet worden ;)
mag het met een hulp kolom?
  zondag 29 september 2013 @ 09:04:08 #16
346939 Janneke141
Green, green grass of home
pi_131665974
Zijn het 500 records (van 10 kolommen) of kan er in iedere cel een uniek gegeven staan dat je wil hebben? En inderdaad, mag het met een hulpkolom?
Opinion is the medium between knowledge and ignorance (Plato)
pi_131666088
Mhhh ik heb het geprobeerd met:
1
2
3
4
5
6
7
hulprij:
=VERSCHUIVING($D$2;AFRONDEN.BOVEN((RIJ()-1)/3;1)-1;(RIJ()-1)-(AFRONDEN.BOVEN((RIJ()-1)/3;1)-1)*3-1)
=OFFSET($D$2,CEILING((ROW()-1)/3,1)-1,(ROW()-1)-(CEILING((ROW()-1)/3,1)-1)*3-1)

uniek    Let op! Verschilt per rij! De $J$1:J1 wordt $J$1:J2 etc
=ALS.FOUT(INDEX($I$2:$I$10;VERGELIJKEN(0;INDEX(AANTAL.ALS($J$1:J1;$I$2:$I$10);0;0);0));"")    
=IFERROR(INDEX($I$2:$I$10,MATCH(0,INDEX(COUNTIF($J$1:J1,$I$2:$I$10),0,0),0)),"")    

En dat gaat op zich prima. Alleen is ook nog steeds behoorlijk processor intensief toen ik met grotere matrices ging uitproberen.
http://filedump.org/files/dD0N1380439245.html

zie file>>
pi_131666272
@Holy
Je gebruikt engelse en nederlandse formules door elkaar. :)
  zondag 29 september 2013 @ 12:24:23 #19
62215 qu63
..de tijd drinkt..
pi_131668887
quote:
0s.gif Op zondag 29 september 2013 08:38 schreef Holy_Goat het volgende:
Leuk probleem :) maar je weet van te voren natuurlijk niet hoe lang die lijst moet worden ;)
mag het met een hulp kolom?
quote:
0s.gif Op zondag 29 september 2013 09:04 schreef Janneke141 het volgende:
Zijn het 500 records (van 10 kolommen) of kan er in iedere cel een uniek gegeven staan dat je wil hebben? En inderdaad, mag het met een hulpkolom?
Hulpkolom mag :)
Het zijn 500 rijen van 10 kolommen, maar niet iedere cel is gevuld. De lijst zou eventueel nog langer kunnen worden, maar een named range of relatieve verwijzing zou dat op kunnen vangen :)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_131669067
quote:
0s.gif Op zondag 29 september 2013 09:44 schreef snabbi het volgende:
@Holy
Je gebruikt engelse en nederlandse formules door elkaar. :)
Nietes. zijn precies hetzelfde. Wist niet welke versie hij gebruikte
  zondag 29 september 2013 @ 12:37:51 #21
62215 qu63
..de tijd drinkt..
pi_131669289
quote:
0s.gif Op zondag 29 september 2013 09:21 schreef Holy_Goat het volgende:
Mhhh ik heb het geprobeerd met:
[ code verwijderd ]

En dat gaat op zich prima. Alleen is ook nog steeds behoorlijk processor intensief toen ik met grotere matrices ging uitproberen.
http://filedump.org/files/dD0N1380439245.html

zie file>>
Doet inderdaad wat ie moet doen, alleen wordt de hulpkolom wel heel erg lang in mijn geval (500x10=5000 rijen lang)..
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  zondag 29 september 2013 @ 12:38:24 #22
62215 qu63
..de tijd drinkt..
pi_131669304
quote:
1s.gif Op zondag 29 september 2013 12:30 schreef Holy_Goat het volgende:

[..]

Nietes. zijn precies hetzelfde. Wist niet welke versie hij gebruikte
Excel 2007, NL, zoals in dikgedrukte letters aan t begin van mijn post stond ;)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_131705538
Als je het met minder CPU gefixt krijgt zonder UDF hoor ik het graag trouwens :)
Altijd leuk
  maandag 30 september 2013 @ 13:01:02 #24
62215 qu63
..de tijd drinkt..
pi_131706009
quote:
0s.gif Op maandag 30 september 2013 12:40 schreef Holy_Goat het volgende:
Als je het met minder CPU gefixt krijgt zonder UDF hoor ik het graag trouwens :)
Altijd leuk
5000 random cellen die bij iedere update aangepast worden (=afronden(aselect()*10;0)) en dan de hulpkolom van 5000 rijen zorgden er in ieder geval voor dat ik Excel een kwartier niet kon gebruiken :X

Genoeg te doen dus ;)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_131706347
Leuk probleem, alles in één kolom krijgen lukt makkelijk, nu nog dubbelen eruit halen... (eerst maar weer eens aan het werk trouwens)
pi_131708807
quote:
0s.gif Op maandag 30 september 2013 13:15 schreef PAAC het volgende:
Leuk probleem, alles in één kolom krijgen lukt makkelijk, nu nog dubbelen eruit halen... (eerst maar weer eens aan het werk trouwens)
die dubbelen eruithalen kost gewoon veel cpu door de aantal.als of andere zoek opties
pi_131709454
Solved! Gaat nu weer sneller. (alleen lijkt het nu niet zo door de aselect procedure)
edit: mmmmm blijft nog steeds redelijk intensief als is het een stuk minder. Veel betere opties kan ik 123 niet bedenken nu



er even vanuit gaande dat je de data makkelijk in 1 kolom krijgt zoals eerder aangegeven

zie file
http://www.uploadmb.com/dw.php?id=1380546801

1
2
3
4
5
6
7
B2 = van getal...
B3 = tot getal... 
KOL D    =ASELECTTUSSEN($B$2;$B$3)
KOL E    =ALS(ALS.FOUT(VERGELIJKEN(D2;$D$1:D1;0);0)=0;0;1)
KOL F    =ALS(E2=0;D2;"")
KOL G    =ALS.FOUT(KLEINSTE($F$2:$F$3001;RIJ()-1);"")
KOL H    =ALS(G2>0;AANTAL.ALS($D$2:$D$3002;G2);"")

whatskeburt?
1
2
3
4
5
6
7
B2 = van getal...
B3 = tot getal... 
KOL D    =random tussen 2 getallen iets kiezen
KOL E    =hulpkolommetje, kijken of er VOOR deze cel al een keer dezelfde waarde is geweest. (gebruik vgl voor speed ipv aantal.als) 
KOL F    =hulpkolommetje om kaf van koren te scheiden
KOL G    =sorteren! geeft achter elkaar de kleinste, 1 na kleinste, 2 na kleinste etc waarde (en dus uniek!)
KOL H    =kijken hoe vaak voorkomt (zwaarste nog)
Edit: oeps! doorvoerfout in laatste kolom (H) voor de aantal.als. Bereik klopt niet in file en plaatje. moet zijn zoals bij KOL H staat hierboven

note: kolom E en F kunnen ook samengevoegd worden, uiteraard. Dan is dat de enige hulpkolom
note2: kan alleen gebruikt worden met getallen. met tekst niet helaas want daar werkt min() niet op

[ Bericht 5% gewijzigd door Holy_Goat op 30-09-2013 15:33:50 ]
pi_131710982
Met hulpkolommen erbij heb ik iets dat het lijkt te filtreren(op een hele kleine test matrix)...
Straks testen hoe snel het werkt :P
  maandag 30 september 2013 @ 16:47:27 #29
62215 qu63
..de tijd drinkt..
pi_131711969
quote:
0s.gif Op maandag 30 september 2013 15:17 schreef Holy_Goat het volgende:
Solved! Gaat nu weer sneller. (alleen lijkt het nu niet zo door de aselect procedure)
edit: mmmmm blijft nog steeds redelijk intensief als is het een stuk minder. Veel betere opties kan ik 123 niet bedenken nu

(..)

note2: kan alleen gebruikt worden met getallen. met tekst niet helaas want daar werkt min() niet op
Mja, in mijn geval gaat het dus om de zoekwoorden die gebruikt worden om op de site te komen..

We puzzelen vrolijk verder :)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_131714362
quote:
0s.gif Op maandag 30 september 2013 16:47 schreef qu63 het volgende:

[..]

Mja, in mijn geval gaat het dus om de zoekwoorden die gebruikt worden om op de site te komen..

We puzzelen vrolijk verder :)
-O-
pi_131719299
Het volgende lijkt redelijk snel te werken(sommatie van aantallen komt op 5000 neer).

Ik zet alleen de eerste cel neer en de rest kan gekopieerd worden.
Array A1: J500 = array met 5000 unieke waarden
Kolom N = tussenkolom met alle waarden in één kolom
Kolom M = tussenkolom met indices
Kolom O = kolom met Unieke waarden
Cell S = cell met aantal rijen (ofwel 500)

1. Zet alle kolommen in één grote kolom(N) met een lengte van 5000 rijen
=INDEX($A$1:$J$500;ALS(REST(AANTALARG($N$1:N1);$S$1)=0;$S$1;REST(AANTALARG($N$1:N1);$S$1));AFRONDEN.BOVEN(AANTALARG($N$1:N1)/$S$1;1))

2. Als de unieke string voor komt, dan voorgaande waarde, anders voorgaande waarde + 1
=ALS(AANTAL.ALS($N$2:N2;N2)>=2;M1;M1+1)

(Plaats deze links van de kolom met resultaten, door deze stap krijgt iedere unieke waarde zijn eigen unieke index(en dubbele waarden de index van de voorgaande waarde) welke opgezocht kan worden met vert.zoeken)

3. Zoek voor iedere index de eerste waarde
=VERT.ZOEKEN(AANTALARG($N$2:N2);$M$2:$N$5001;2;0)

(Aangezien de eerste index uniek is, wordt hierdoor automatisch de juiste waarde genomen en alleen unieke waarden in de kolom geplaatst)

[ Bericht 2% gewijzigd door PAAC op 30-09-2013 21:40:03 ]
  dinsdag 1 oktober 2013 @ 02:43:42 #32
62215 qu63
..de tijd drinkt..
pi_131731897
quote:
0s.gif Op maandag 30 september 2013 20:30 schreef PAAC het volgende:
Het volgende lijkt redelijk snel te werken(sommatie van aantallen komt op 5000 neer).

Ik zet alleen de eerste cel neer en de rest kan gekopieerd worden.
Array A1: J500 = array met 5000 unieke waarden
Kolom N = tussenkolom met alle waarden in één kolom
Kolom M = tussenkolom met indices
Kolom O = kolom met Unieke waarden
Cell S = cell met aantal rijen (ofwel 500)

1. Zet alle kolommen in één grote kolom(N) met een lengte van 5000 rijen
=INDEX($A$1:$J$500;ALS(REST(AANTALARG($N$1:N1);$S$1)=0;$S$1;REST(AANTALARG($N$1:N1);$S$1));AFRONDEN.BOVEN(AANTALARG($N$1:N1)/$S$1;1))

2. Als de unieke string voor komt, dan voorgaande waarde, anders voorgaande waarde + 1
=ALS(AANTAL.ALS($N$2:N2;N2)>=2;M1;M1+1)

(Plaats deze links van de kolom met resultaten, door deze stap krijgt iedere unieke waarde zijn eigen unieke index(en dubbele waarden de index van de voorgaande waarde) welke opgezocht kan worden met vert.zoeken)

3. Zoek voor iedere index de eerste waarde
=VERT.ZOEKEN(AANTALARG($N$2:N2);$M$2:$N$5001;2;0)

(Aangezien de eerste index uniek is, wordt hierdoor automatisch de juiste waarde genomen en alleen unieke waarden in de kolom geplaatst)
Waar zouden 1, 2 en 3 geplaatst moeten worden? Als je 1 in N1 plaatst krijg je een kringverwijzing, en als je em in N2 zet dan mist ie een keyword in mijn sample..

Kan je jouw sheet uploaden? Dan kan ik em zelf bewerken en dan weer uploaden om mijn aanpassingen te laten zien..
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_131733165
quote:
0s.gif Op dinsdag 1 oktober 2013 02:43 schreef qu63 het volgende:

[..]

Waar zouden 1, 2 en 3 geplaatst moeten worden? Als je 1 in N1 plaatst krijg je een kringverwijzing, en als je em in N2 zet dan mist ie een keyword in mijn sample..

Kan je jouw sheet uploaden? Dan kan ik em zelf bewerken en dan weer uploaden om mijn aanpassingen te laten zien..
Je hebt gelijk, vanochtend bedacht ik me al dat ik headers had gebruikt.
Ofwel N1 = header en N2 is begin van de kolom.

Als alternatief kun je ook $A$1:A1 gebruiken bijvoorbeeld.
Dit alternatief werkt toch niet...

[ Bericht 2% gewijzigd door PAAC op 01-10-2013 14:23:57 ]
  dinsdag 1 oktober 2013 @ 10:59:34 #34
249182 Holy_Goat
mhèèhèhè
pi_131735579
quote:
0s.gif Op dinsdag 1 oktober 2013 08:57 schreef PAAC het volgende:

[..]

Je hebt gelijk, vanochtend bedacht ik me al dat ik headers had gebruikt.
Ofwel N1 = header en N2 is begin van de kolom.

Als alsternatief kun je ook $A$1:A1 gebruiken bijvoorbeeld.
doe eens uploa-deeeen
pi_131741287
quote:
0s.gif Op dinsdag 1 oktober 2013 10:59 schreef Holy_Goat het volgende:

[..]

doe eens uploa-deeeen
Moest toevallig nog even naar huis, anders was het vanavond pas geweest :P
http://filedump.org/files/KHEGGclr1380629920.html
  dinsdag 1 oktober 2013 @ 14:28:13 #36
62215 qu63
..de tijd drinkt..
pi_131741548
quote:
0s.gif Op dinsdag 1 oktober 2013 14:19 schreef PAAC het volgende:

[..]

Moest toevallig nog even naar huis, anders was het vanavond pas geweest :P
http://filedump.org/files/KHEGGclr1380629920.html
Dit lijkt te werken idd! Nog even verder puzzelen :)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_131741671
quote:
14s.gif Op dinsdag 1 oktober 2013 14:28 schreef qu63 het volgende:

[..]

Dit lijkt te werken idd! Nog even verder puzzelen :)
Welke puzzelstukjes moeten er dan nog opgelost worden? :P
  dinsdag 1 oktober 2013 @ 14:59:20 #38
62215 qu63
..de tijd drinkt..
pi_131742338
quote:
0s.gif Op dinsdag 1 oktober 2013 14:32 schreef PAAC het volgende:

[..]

Welke puzzelstukjes moeten er dan nog opgelost worden? :P
Nou.. ;)

Het werkt, dat vooropgesteld :) Het werkt goed zelfs :)
Maar als er lege cellen in de matrix zitten dan is '0' ook een uniek resultaat en dan wordt de rij unieke resultaten onderbroken door een 0. Gelukkig gaat ie daarna wel weer verder :)

Daarnaast wordt de matrix verticaal uitgelezen terwijl ik em horizontaal invul. Dat zorgt er voor dat de lijst unieke resultaten anders opgebouwd wordt, iets waar ik met mijn verwerking rekening moet houden :)

Maar haske bedankt iig! _O_
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_131742510
quote:
0s.gif Op dinsdag 1 oktober 2013 14:59 schreef qu63 het volgende:

[..]

Nou.. ;)

Het werkt, dat vooropgesteld :) Het werkt goed zelfs :)
Maar als er lege cellen in de matrix zitten dan is '0' ook een uniek resultaat en dan wordt de rij unieke resultaten onderbroken door een 0. Gelukkig gaat ie daarna wel weer verder :)

Daarnaast wordt de matrix verticaal uitgelezen terwijl ik em horizontaal invul. Dat zorgt er voor dat de lijst unieke resultaten anders opgebouwd wordt, iets waar ik met mijn verwerking rekening moet houden :)

Maar haske bedankt iig! _O_
Ahh, ik ging uit van een vooraf ingevuld blok met data :)
Maar mooi dat het helpt.
  dinsdag 1 oktober 2013 @ 15:14:24 #40
62215 qu63
..de tijd drinkt..
pi_131742698
quote:
0s.gif Op dinsdag 1 oktober 2013 15:06 schreef PAAC het volgende:

[..]

Ahh, ik ging uit van een vooraf ingevuld blok met data :)
Maar mooi dat het helpt.
Nee, per ingevuld contactformulier vul ik de sheet verder in met de keywords die op t formulier staan.

Maar hier kan ik iig wat mee :) Had je zoiets al vaker gemaakt? t is namelijk wel een serieus goede oplossing! (En stukken minder CPU-intensief!)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  dinsdag 1 oktober 2013 @ 15:16:41 #41
249182 Holy_Goat
mhèèhèhè
pi_131742766
Had ook nog een kleine aanpassing gemaakt aan mijn algoritme, toen ik wist dat het niet met getallen maar met tekst moest :) Benieuwd of dat ook ongeveer voldoet

http://www.uploadmb.com/dw.php?id=1380633186
  dinsdag 1 oktober 2013 @ 15:25:58 #42
249182 Holy_Goat
mhèèhèhè
pi_131743066
quote:
0s.gif Op maandag 30 september 2013 20:30 schreef PAAC het volgende:
Het volgende lijkt redelijk snel te werken(sommatie van aantallen komt op 5000 neer).

Ik zet alleen de eerste cel neer en de rest kan gekopieerd worden.
Array A1: J500 = array met 5000 unieke waarden
Kolom N = tussenkolom met alle waarden in één kolom
Kolom M = tussenkolom met indices
Kolom O = kolom met Unieke waarden
Cell S = cell met aantal rijen (ofwel 500)

1. Zet alle kolommen in één grote kolom(N) met een lengte van 5000 rijen
=INDEX($A$1:$J$500;ALS(REST(AANTALARG($N$1:N1);$S$1)=0;$S$1;REST(AANTALARG($N$1:N1);$S$1));AFRONDEN.BOVEN(AANTALARG($N$1:N1)/$S$1;1))

2. Als de unieke string voor komt, dan voorgaande waarde, anders voorgaande waarde + 1
=ALS(AANTAL.ALS($N$2:N2;N2)>=2;M1;M1+1)

(Plaats deze links van de kolom met resultaten, door deze stap krijgt iedere unieke waarde zijn eigen unieke index(en dubbele waarden de index van de voorgaande waarde) welke opgezocht kan worden met vert.zoeken)

3. Zoek voor iedere index de eerste waarde
=VERT.ZOEKEN(AANTALARG($N$2:N2);$M$2:$N$5001;2;0)

(Aangezien de eerste index uniek is, wordt hierdoor automatisch de juiste waarde genomen en alleen unieke waarden in de kolom geplaatst)
Kun je m trouwens eens uitleggen? Vind em moeilijk te snappen. Snap je mijn 'methode' ook een beetje? Waarom zou mijn methode nog CPU vriendelijker zijn eigenlijk? (zo lijkt het nu)
pi_131743452
Kan je ook gezamelijke filters of slicers toevoegen aan een draaigrafiek?

Ik heb nu een aantal draaigrafieken, waarbij ik ze allemaal tegelijk gegevens voor een bepaalde categorie wil laten zien. Voor draaitabellen lukt dit wel met behulp van slicers, maar bij draaigrafieken lijkt het niet te kunnen?
pi_131743843
quote:
0s.gif Op dinsdag 1 oktober 2013 15:25 schreef Holy_Goat het volgende:

[..]

Kun je m trouwens eens uitleggen? Vind em moeilijk te snappen. Snap je mijn 'methode' ook een beetje? Waarom zou mijn methode nog CPU vriendelijker zijn eigenlijk? (zo lijkt het nu)
Jou methode bekijk ik vanavond waarschijnlijk (ben nu ook aan het werk namelijk).

Kort uitgelegd
1. Zet alles in één kolom (deze noem ik voor de makkelijkheid "DataKolom").

2. Zorg ervoor dat waarden in de DataKolom een uniek ID-nr krijgen(kolom moet links staan van DataKolom).
Als een waarde in de DataKolom meerdere keren voor komt(= niet meer uniek), dan krijgt deze de voorgaande ID-nr en wanneer deze voor de eerste keer voor komt(= nieuwe unieke waarde) wordt de ID-nr met één opgehoogd.

3. Zoek de unieke waarde op mbv de ID-nr's.
Wanneer een ID-nr in stap 2 verandert, betekend dit automatisch dat op dezelfde rij in de kolom ernaast een unieke waarde staat. Wanneer je dit opzoekt met vert.zoeken en "[benaderen] = 0", dan geeft ie de eerste waarde behorend bij de teller "AANTALARG($N$2:N2)".

Dus in de eerste rij van de unieke kolom zoekt ie naar ID-nr = 1, op de tweede rij zoekt ie ID-nr = 2 etc. Als er meerdere dezelfde ID-nr's zijn(zie stap 2), dan neemt hij door "[benaderen] = 0" de eerste rij van de meerdere waarden en geeft hierdoor dan automatisch een unieke waarde terug die ernaast staat.

[ Bericht 0% gewijzigd door PAAC op 01-10-2013 15:59:27 ]
  dinsdag 1 oktober 2013 @ 16:05:59 #45
62215 qu63
..de tijd drinkt..
pi_131744283
quote:
0s.gif Op dinsdag 1 oktober 2013 15:16 schreef Holy_Goat het volgende:
Had ook nog een kleine aanpassing gemaakt aan mijn algoritme, toen ik wist dat het niet met getallen maar met tekst moest :) Benieuwd of dat ook ongeveer voldoet

http://www.uploadmb.com/dw.php?id=1380633186
Hij is inderdaad schneller! Alleen je uitleg in kolom K klopt niet geloof ik, de functies die je daar noemt staan niet meer in E, F, G en H..

Grappig ook dat jij =ALS(H2<>"";andere fomule;"") doet, ik draai t altijd om.. =ALS(H2="";"";andere formule)

Nu nog even kijken of ik jouw sheet kan combineren met die van PAAC :)

PS: Mooie lijst met 5letter-woorden! :D
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  dinsdag 1 oktober 2013 @ 16:07:25 #46
249182 Holy_Goat
mhèèhèhè
pi_131744324
quote:
0s.gif Op dinsdag 1 oktober 2013 16:05 schreef qu63 het volgende:

[..]

Hij is inderdaad schneller! Alleen je uitleg in kolom K klopt niet geloof ik, de functies die je daar noemt staan niet meer in E, F, G en H..

Grappig ook dat jij =ALS(H2<>"";andere fomule;"") doet, ik draai t altijd om.. =ALS(H2="";"";andere formule)

Nu nog even kijken of ik jouw sheet kan combineren met die van PAAC :)

PS: Mooie lijst met 5letter-woorden! :D
uitleg klopt idd niet meer, had ik niet meer aangepast na aanpassing
  dinsdag 1 oktober 2013 @ 16:16:49 #47
249182 Holy_Goat
mhèèhèhè
pi_131744609
quote:
0s.gif Op dinsdag 1 oktober 2013 15:52 schreef PAAC het volgende:

[..]

Jou methode bekijk ik vanavond waarschijnlijk (ben nu ook aan het werk namelijk).

Kort uitgelegd
1. Zet alles in één kolom (deze noem ik voor de makkelijkheid "DataKolom").

2. Zorg ervoor dat waarden in de DataKolom een uniek ID-nr krijgen(kolom moet links staan van DataKolom).
Als een waarde in de DataKolom meerdere keren voor komt(= niet meer uniek), dan krijgt deze de voorgaande ID-nr en wanneer deze voor de eerste keer voor komt(= nieuwe unieke waarde) wordt de ID-nr met één opgehoogd.

3. Zoek de unieke waarde op mbv de ID-nr's.
Wanneer een ID-nr in stap 2 verandert, betekend dit automatisch dat op dezelfde rij in de kolom ernaast een unieke waarde staat. Wanneer je dit opzoekt met vert.zoeken en "[benaderen] = 0", dan geeft ie de eerste waarde behorend bij de teller "AANTALARG($N$2:N2)".

Dus in de eerste rij van de unieke kolom zoekt ie naar ID-nr = 1, op de tweede rij zoekt ie ID-nr = 2 etc. Als er meerdere dezelfde ID-nr's zijn(zie stap 2), dan neemt hij door "[benaderen] = 0" de eerste rij van de meerdere waarden en geeft hierdoor dan automatisch een unieke waarde terug die ernaast staat.
Ah, het echte verschil zit em dus in 2. Ik begon eerst ook met 'unieke waarden' maar kwam er toen achter dat het me eigenlijk geen reet interesseerde of die uniek was, alleen maar of hij 'niet eerder' geweest was. Vervolgens de index als uitkomst noteren, en die weergeven in unieke lijst met verschuiving(kleinste(...;...)) , dus waar jij zoekt naar een ID zoek ik naar de kleinste waarde welke overeenkomt met een bepaalde plaats. En dan schijnt het dus voordelig te zijn om kleinste() te gebruiken boven vert.zoeken (die is langzamer). Sowieso, overal waar je kunt met 'index' e 'vergelijken' werken ipv vert.zoeken of horiz.zoeken. Is mss iets lastiger maar sowieso sneller omdat vert.zoeken achter de schermen meer doet dan de combi van index en vergelijken.
  dinsdag 1 oktober 2013 @ 16:17:49 #48
249182 Holy_Goat
mhèèhèhè
pi_131744639
Wat ik nog wel jammer vind an sich is dat we een hulp kolom nodig hebben om de N x M Matrix om te zetten naar een lange kolom met MxN items. Zou ook leuk zijn daar eens over te brainstormen
pi_131744709
quote:
0s.gif Op dinsdag 1 oktober 2013 16:17 schreef Holy_Goat het volgende:
Wat ik nog wel jammer vind an sich is dat we een hulp kolom nodig hebben om de N x M Matrix om te zetten naar een lange kolom met MxN items. Zou ook leuk zijn daar eens over te brainstormen
Zeg, ik wil ook nog wat vrije tijd overhouden :P
  dinsdag 1 oktober 2013 @ 16:21:53 #50
249182 Holy_Goat
mhèèhèhè
pi_131744776
quote:
0s.gif Op dinsdag 1 oktober 2013 16:19 schreef PAAC het volgende:

[..]

Zeg, ik wil ook nog wat vrije tijd overhouden :P
Sja. Is study evasive behavior hier. Maar wel interessant
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')