0 - 50 zijn 51 getallen (0,1,2,3,4,..,51)quote:Op zaterdag 18 januari 2014 15:05 schreef JorisvZ het volgende:
[..]
[..]
Nee, het zijn de verkopen van:
0 - 50 (dus 50)
51 - 100 (dus 49)
101 - 200 (dus 99)
201 - 250 (dus 49)
1 2 3 4 5 6 7 8 | x S1 S2 S3 ... S10 1 200 201 199 ... 202 2 190 191 192 ... 189 3 179 182 177 ... 180 . . . . . . . . . . . . . . . . . . 100 60 57 65 ... 58 |
1 | =INDEX(M2:M101; MATCH(Input; A2:A101; 1); 1) |
1 | {=INDEX(MEDIAN(B2:K101); MATCH(Input; A2:A101; 1); 1)} |
Ik zit even te zoeken of je nu de Nederlandse of Engelse hebt.quote:Op zondag 19 januari 2014 21:50 schreef Watertornado het volgende:
Oké, ik loop tegen het volgende aan:
Ik heb de Engelse Excel (2007).quote:Op zondag 19 januari 2014 22:35 schreef snabbi het volgende:
[..]
Ik zit even te zoeken of je nu de Nederlandse of Engelse hebt.
Zelf zou ik gebruik maken van INDIRECT
=MEDIAAN(INDIRECT("B"&1+VERGELIJKEN(X1;A2:A101)&":K"&1+VERGELIJKEN(X1;A2:A101))
Hier heb ik je cel met je zoekwaarde naar x ook in de cel x1 gezet
(VERGELIJKEN = MATCH in het Engels)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | Option Explicit Function InsertCI(title As String, absoluteFileName As String) Dim commentBox As Comment ' Define the comment as a local variable and assign the file name from the ' cellAddress input parameter to the comment of a cell. Set commentBox = Application.ActiveCell.AddComment With commentBox .Text Text:="" With .Shape .Fill.UserPicture (absoluteFileName) .ScaleHeight 2.4, msoFalse, msoScaleFromTopLeft .ScaleWidth 2.4, msoFalse, msoScaleFromTopLeft End With ' Set the visible to True when you always want the image displayed, and ' to False when you want it displayed only when you click on the cell. .Visible = False End With InsertCI = title End Function |
Foutje met de aanhalingstekens? Spaties? Rare tekens?quote:Op dinsdag 21 januari 2014 09:50 schreef Freak188 het volgende:
Ander hyperlink probleempje.
Ik heb een aantal hyperlinks gemaakt naar verschillende bestanden op een netwerkschijf. In totaal 5 hyperlinks. In eerste instantie werkten ze alle 5. Maar ineens krijg ik er bij 2 een melding: het opgegeven bestand kan niet worden geopend.
Ik snap er niks van omdat het een zelfde bestand is als de andere (pdf) en in eerste instantie werkte het gewoon. Ik heb de links nu al een paar keer verwijderd en opnieuw gemaakt, maar steeds hetzelfde probleem. Bestanden zijn ook niet veranderd van locatie ofzo.... iemand bekend met dit probleem?
Yup dat was het. Ik heb alles maar hernoemt en nu doet ie het weer.quote:Op dinsdag 21 januari 2014 10:38 schreef qu63 het volgende:
[..]
Foutje met de aanhalingstekens? Spaties? Rare tekens?
Het probleem zit 'm in rij 5 die niet constant is.quote:
Draaitabel is niet de bedoeling, het gaat om veel meer gegevens dan dit.quote:Op donderdag 23 januari 2014 21:41 schreef Janneke141 het volgende:
Is dit niet meer iets om te regelen met een draaitabel?
Ik moet het inderdaad delen met veel andere gebruikers, de meeste weten hoe ze 2 cellen bij elkaar kunnen optellen, maar dat is het dan.quote:Op donderdag 23 januari 2014 21:47 schreef snabbi het volgende:
sommen.als lijkt me voldoende
* draaitabellen leveren veel inzicht, maar eisen ook meer kennis van de gebruiker. Zeker wanneer de poster het ook moet delen met anderen lijkt een formule een betere oplossing.
Bijna vergeten, alvast bedankt voor het meedenken, geldt ook voor snabbi natuurlijk.quote:Op donderdag 23 januari 2014 21:50 schreef Janneke141 het volgende:
[..]
Het probleem zit 'm in rij 5 die niet constant is.
Klopt, het werkt allemaal wel, maar ik heb het allemaal zo ingewikkeld gemaakt.quote:Op donderdag 23 januari 2014 22:03 schreef Janneke141 het volgende:
Je hebt dus al een manier gevonden om (via een ander blad of weet ik wat) de rijen 4 en 5 vanaf kolom J te vullen?
Dan kun je ervoor kiezen om in K5, M5 etc. een SOM.ALS(B5:B20;week)+SOM.ALS(C5:C20;week)+SOM.ALS(D5:D20;week) te zetten. Het is een beetje lomp (twee van de drie sommen zijn 0) maar het werkt, omdat de codes voor hoofd-, x-, en sub-afdelingen toch allemaal verschillend zijn. Scheelt een hoop gerommel.
De subafdelingen maakt het wat lastiger, want daardoor kan ik de afdelingen niet mooi uitlijnen. Ook maakt subafdelingen het lastiger omdat de formule daar verspringt.quote:Op donderdag 23 januari 2014 21:56 schreef Arliator het volgende:
[..]
Ik moet het inderdaad delen met veel andere gebruikers, de meeste weten hoe ze 2 cellen bij elkaar kunnen optellen, maar dat is het dan.
Hoe maak ik in sommen.als dan de kolom variabel?
Edit: Ook oplossingen met VBA mogen niet, niemand snapt dit, anders had ik het allang opgelost. De filosofie is dat er altijd wel iemand te vinden is die een formule kan ontrafelen, maar VBA is vele malen lastiger.
Snabbi,quote:Op donderdag 23 januari 2014 23:03 schreef snabbi het volgende:
[..]
De subafdelingen maakt het wat lastiger, want daardoor kan ik de afdelingen niet mooi uitlijnen. Ook maakt subafdelingen het lastiger omdat de formule daar verspringt.
Ik had het eerst onderschat hoor, maar dit is wel het principe wat ik bedoelde. Ik had nog niet nagedacht over het weergeven van alle afdelingen bij een hoofdafdeling maar nu dus wel voor je verwerkt in een voorbeeld.
Edit:
http://www.mijnbestand.nl/Bestand-3N6UJHLS4TTQ.xlsx (nieuw bestandje met 2 uitwerkingen)
Ook dit geprobeert, de meerdere som.als bij elkaar optellen werkt!quote:Op donderdag 23 januari 2014 22:03 schreef Janneke141 het volgende:
Je hebt dus al een manier gevonden om (via een ander blad of weet ik wat) de rijen 4 en 5 vanaf kolom J te vullen?
Dan kun je ervoor kiezen om in K5, M5 etc. een SOM.ALS(B5:B20;J5;week)+SOM.ALS(C5:C20;J5;week)+SOM.ALS(D5:D20;J5;week) te zetten. Het is een beetje lomp (twee van de drie sommen zijn 0) maar het werkt, omdat de codes voor hoofd-, x-, en sub-afdelingen toch allemaal verschillend zijn. Scheelt een hoop gerommel.
-edit-
Volgens mij hoeft dit trouwens niet eens, maar dat moet je even uitproberen.
Als je in K5 het volgende zet:
=SOM.ALS(B5:D20;J5;week) moet het volgens mij ook goedkomen, maar dat moet je even uitproberen.
Mooi!quote:Op vrijdag 24 januari 2014 09:51 schreef Arliator het volgende:
Ook dit geprobeert, de meerdere som.als bij elkaar optellen werkt!
Krijg je een foutmelding of kloppen de getallen niet? Bij een foutmelding even backtracken, en als de getallen niet kloppen: bestaat de kans dat er in je lange lijst met gegevens toch ergens dubbele waarden zitten in twee verschillende kolommen?quote:De =SOM.ALS(B5:D20;J5;week) werkt in mijn voorbeeld wel, maar in het bestand waarin ik het daadwerkelijk moet gebruiken werkt het niet, waarom? Geen idee.
De getallen kloppen niet. Het is denk ik wel goed om even te checken of er geen dubbele waarden zitten in de twee verschillende kolommen, het zou niet moeten kunnen, maar niks is met zekerheid te zeggen tot het nagekeken is.quote:Op vrijdag 24 januari 2014 09:54 schreef Janneke141 het volgende:
[..]
Mooi!
[..]
Krijg je een foutmelding of kloppen de getallen niet? Bij een foutmelding even backtracken, en als de getallen niet kloppen: bestaat de kans dat er in je lange lijst met gegevens toch ergens dubbele waarden zitten in twee verschillende kolommen?
Dit zou moeten werken: http://office.microsoft.c(...)ues-HA001226038.aspxquote:Op vrijdag 24 januari 2014 14:36 schreef buishuis het volgende:
Ik zit al de hele dag op dit probleem, het zit zo:
Ik heb 2 kolommen met artikelcodes. In de linkerkolom komt iedere artikelcode maar 1x voor.
In de rechterkolom komen diezelfde artikelcodes soms wel meerdere keren voor maar met ieder andere gegevens in de kolommen daarachter. Nu wil ik die gegevens, achter de overeenkomende artikelcode in de linkerkolom zetten maar niet onder elkaar maar juist achter elkaar in 'n aparte kolom. Ik heb werkelijk geen idee hoe ik dit voor elkaar moet krijgen en met de hand doen is ook niet echt 'n pretje want het zijn totaal +-150.000 regels -_-" Alvast bedankt!
Probeer dit:quote:Op vrijdag 24 januari 2014 15:39 schreef buishuis het volgende:
Ik heb voor de duidelijkheid het voorbeeld even overgenomen om te kijken hoe het precies werkt
Gebruik je wel Ctrl+shift+enter?. Het is namelijk een matrix.quote:Op vrijdag 24 januari 2014 15:48 schreef buishuis het volgende:
Nee ook niet. Had ik al eens geprobeerd maar hij geeft wederom de foutmelding #WAARDE!
Er staat wel iets in de genoemde cellen? En deze formule staat in B10?quote:Op vrijdag 24 januari 2014 15:48 schreef buishuis het volgende:
Nee ook niet. Had ik al eens geprobeerd maar hij geeft wederom de foutmelding #WAARDE!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Sub Prime() Range("A:A").ClearContents Const zoekentot = 100 Dim filter(zoekentot) As Boolean 'priemcheck For I = 2 To zoekentot If filter(I) = False Then Range("A" & I) = I For J = I To zoekentot Step I filter(J) = True Next End If Next End Sub |
Het komt door de lege cel inderdaad bij de afdeling. Excel rekent daar met 0 ipv leeg. Als je onder afdeling ="" neer zet werkt het wel. Doe je het voor alle 'lege' cellen werkt het niet.quote:Op vrijdag 24 januari 2014 09:04 schreef Arliator het volgende:
[..]
Snabbi,
Dank je wel, ik heb het net geopend, ik snap je gedachtegang, maar het is nog niet helemaal goed, want als ik in jouw voorbeeld LG invul in B2, dan zie ik alleen maar nulwaardes, dat is dus niet de bedoeling.
Maar, ik zal kijken of ik hiermee verder kan.
quote:Op vrijdag 24 januari 2014 20:24 schreef Orealo het volgende:
Kan iemand mij deze code uitleggen?
Als output krijg je alle priemgetallen (tot 100) in je kolom A maar ik weet niet of het werkt zoals ik denk dat het werkt.
[ code verwijderd ]
De array wordt gezet op 1 tot 100
We beginnen bij 2 (I). De boolean zou true moeten zijn (mi) want 2 zit in de reeks 1 tot 100. Hier snap ik het niet meer want als ik de code stap voor stap uitvoer geeft VBA aan dat de boolean false is.
Als toch false:
Vervolgens wordt 2 weggeschreven op A2 en worden alle vermenigvuldigbare (met I) cijfers uit de array op true gezet.
Als de const bereikt is wordt I gelijk aan 3 en begint het circus opnieuw.
Waar maak ik mijn denkfout?
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 | Sub Prime() 'clearcontent dus de waarden verwijderen Range("A:A").ClearContents 'zoekentot = 100 Const zoekentot = 100 'aanmaken van een array met grootte 100 'alle waarden in de array zijn False Dim filter(zoekentot) As Boolean 'doorlopen van een loop van 2 tot 100 For I = 2 To zoekentot 'Bij de eerste keer dat de filter(2) wordt aangeroepen 'is filter(2) gelijk aan False. De if conditie is waar FALSE = FALSE is namelijk waar. 'dus de subcode wordt uitgevoerd. If filter(I) = False Then 'het resultaat dat 2 een priemgetal is weggeschreven wordt 'in je sheet verwerkt. Range("A" & I) = I 'let goed op dat hier STEP I staat. Dit houdt in met stapjes van I. Deze loop wordt voor 'de eerste keer doorlopen met J = 2, 4, 6, 8, 10 etc 'Op deze wijze wordt filter(4) alvast op True gezet net als 'filter(6) filter(8) allemaal true worden. For J = I To zoekentot Step I filter(J) = True 'ik heb hier even J bij gezet zodat je weet dat de volgende J is, niet I Next J End If 'na de eerste keer doorlopen van de loop met I, wordt nu I = 3 doorlopen. 'filter(3) is nog false, dus hij gaat je loop met i=3 doorlopen in de if. 'nu wordt filter(6) die al True was weer opnieuw true, maar ook filter(9) 'wordt True. Next I End Sub |
Wat een goede uitleg! Dankjewel!quote:Op vrijdag 24 januari 2014 21:21 schreef snabbi het volgende:
[..]
[ code verwijderd ]
De hele clue is natuurlijk dat wanneer je i=4 doorloopt dat je direct bij je IF al krijgt dat hij hem niet nog een keer hoeft te doorlopen, want je filter(4) is TRUE.
Elke keer wanneer je een priemgetal doorvoert, zal je code "For J = I To zoekentot Step I" er voor zorgen dat je
1x<je priemgetal>
2x<je priemgetal>
3x<je priemgetal>
etc TRUE word en dus dat die getallen geen priem zijn.
Het is een keuze van de programmeertaal. Bij het aanmaken van je Boolean array zijn alle waarden 0. In programmeren is 0 gelijk aan False en 1 aan True. Ze hadden er voor kunnen kiezen om bij het aanmaken alles op 1 te zetten, maar het is 'gewoon' aanmaken is 0.quote:Op vrijdag 24 januari 2014 21:29 schreef Orealo het volgende:
[..]
Wat een goede uitleg! Dankjewel!
Nog één vraag - waarom zijn alle waarden in de array False?
Of is dat gewoon een gegeven?
Helder. Thanks!quote:Op vrijdag 24 januari 2014 21:31 schreef snabbi het volgende:
[..]
Het is een keuze van de programmeertaal. Bij het aanmaken van je Boolean array zijn alle waarden 0. In programmeren is 0 gelijk aan False en 1 aan True. Ze hadden er voor kunnen kiezen om bij het aanmaken alles op 1 te zetten, maar het is 'gewoon' aanmaken is 0.
1 | http://speedy.sh/Pq7yv/TEST.xlsx |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Recept artikelcode Artikelcode Artikelcode 00021.14629 CC.2467004 CC.2467003 00021.14629 00021.46632 CC.2467003 EE.6959500 00021.14806 00021.1537 DD.6959515 #GETAL! 00021.15297 00021.14629 EE.6959502 #GETAL! 00021.1536 00021.53268 EE.6959500 #GETAL! 00021.1537 00021.60811 FF.18132401 #GETAL! 00021.15521 00021.60813 FF.A7202101 #GETAL! 00021.15522 00021.16079 BB.90210032 #GETAL! 00021.15523 00021.68019 BB.90210033 #GETAL! 00021.15960 00021.16079 GG.100066.005 #GETAL! 00021.15961 00021.15960 AA.9002104 #GETAL! 00021.16079 Gebruikte formule: =INDEX($A$2:$B$13000;KLEINSTE(ALS($A$2:$A$13000=$F$2;RIJ($A$2:$A$13000));RIJ(3:3));2) |
1 | =ALS(ISFOUT(INDEX($A$1:$B$13000;KLEINSTE(ALS($A$1:$A$13000=L3;RIJ($A$1:$A$13000));RIJ($1:$1));2));"";INDEX($A$1:$B$13000;KLEINSTE(ALS($A$1:$A$13000=L3;RIJ($A$1:$A$13000));RIJ($1:$1));2)) |
Dank je wel, ik was het weekend weg, dus kan nu pas antwoorden.quote:Op vrijdag 24 januari 2014 20:56 schreef snabbi het volgende:
[..]
Het komt door de lege cel inderdaad bij de afdeling. Excel rekent daar met 0 ipv leeg. Als je onder afdeling ="" neer zet werkt het wel. Doe je het voor alle 'lege' cellen werkt het niet.
Persoonlijk vind ik het wel vreemd om wel een subafdeling te hebben, maar niet een afdeling. Als je geen 'lege waarden' toestaat en altijd een naam hebt, dan werkt het. Het is niet een hele galante oplossing vanwege die foutmeldingen en zeker die subafdelingen maakt het lastig om dit generiek op te zetten.
De enige echte oplossing in mijn ogen is gebruik te maken van QUERY functionaliteiten, maar dat gaat ver boven de kennis van je collega's. Ook zou je je data dan niet in de weken naast elkaar moeten zetten, maar alles gewoon netjes in een eigen regel.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |