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.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.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.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
Gaan we gewoon hier er op in.quote:Op vrijdag 7 april 2017 12:40 schreef Lingue het volgende:
Topic is bijna dicht maar stel de vraag toch even.
Ik wil een combinatie maken van een clustered and stacked grafiek in excel. Om zo data met elkaar te vergelijken waar we staan.
Bijv het budget vergelijken tov de actuals en verwachte kosten en geplande kosten.
Waarbij budget 1 kolom moet zijn en de andere die 1 gestapelde kolom moet zijn. Maar waarbij de waardes van actuals ed niet opgeteld worden maar in elkaar overlopen. Zodat het verschil met budget makkelijk gezien kan worden en wat het eventuele verschil (positief /negatief) tov budget is.
Nu heb ik wel de 2 grafieken zover voor elkaar maar telt hij dus de waarde vd gestapelde kolommen op
Iemand een idee hoe ik dat anders kan doen? Ik werk in excel 2010
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Wat Maand Voor Bedrag Budget 1 Alles 30 Uitgaven 1 Tafels 10 Uitgaven 1 Stoelen 10 Uitgaven 1 Tapijt 9 Budget 2 Alles 40 Uitgaven 2 Tafels 10 Uitgaven 2 Stoelen 5 Uitgaven 2 Tapijt 22 Budget 3 Alles 40 Uitgaven 3 Tafels 20 Uitgaven 3 Stoelen 10 Uitgaven 3 Tapijt 8 Budget 4 Alles 35 Uitgaven 4 Tafels 5 Uitgaven 4 Stoelen 15 Uitgaven 4 Tapijt 17 |
1 2 3 | Legend Series: "Voor" Axis(categories"): "Maand" Sum Values: "Bedrag" |
Ik neem je vraag even mee naar dit topic. Hier komen de FOK! Excel guru's vaak langs en is de kans groot dat je sneller een antwoord krijgt.quote:Op zaterdag 8 april 2017 17:51 schreef Fiscaal101 het volgende:
Hallo allemaal,
Zo te zien is mijn topic die ik eerder vandaag plaatste niet online dus hier nogmaals de vraag. Ik ben nogal een leek op het gebied van Excel (versie 2016) en heb hierover een vraag. Om mijn vraag concreet te maken stel ik het volgende:
In cel A1 staat een bepaalde variabele waarde. Deze waarde verandert dus steeds zodra ik bepaalde waardes in een andere cel verander. Nu wil ik in cel B1 een formule invoeren waarbij cel B1 de waarde in A1 analyseert en hiervan de waarde tussen 0 en 75.000 met een bepaald percentage vermenigvuldigd. Als in A1 bijvoorbeeld een waarde van 100.000 staat, moet in B1 van deze waarde dus 75.000 met een percentage worden vermenigvuldigd. Weet iemand wat ik hiermee bedoel? Bij voorbaat dank!
Ik neem aan dat Fiscaal101 hier een sommetje op wil loslaten?quote:Op vrijdag 7 april 2017 19:42 schreef Fiscaal101 het volgende:
..Gezien de aangepaste wetgeving voor wat betreft de box 3-heffing ben ik....
Je wilt dus de waarde van A1 gebruiken met een maximum van 75k?quote:Op zaterdag 8 april 2017 17:51 schreef Fiscaal101 het volgende:
Hallo allemaal,
Zo te zien is mijn topic die ik eerder vandaag plaatste niet online dus hier nogmaals de vraag. Ik ben nogal een leek op het gebied van Excel (versie 2016) en heb hierover een vraag. Om mijn vraag concreet te maken stel ik het volgende:
In cel A1 staat een bepaalde variabele waarde. Deze waarde verandert dus steeds zodra ik bepaalde waardes in een andere cel verander. Nu wil ik in cel B1 een formule invoeren waarbij cel B1 de waarde in A1 analyseert en hiervan de waarde tussen 0 en 75.000 met een bepaald percentage vermenigvuldigd. Als in A1 bijvoorbeeld een waarde van 100.000 staat, moet in B1 van deze waarde dus 75.000 met een percentage worden vermenigvuldigd. Weet iemand wat ik hiermee bedoel? Bij voorbaat dank!
Ten eerste zou ik ze niet fysiek verwijderen, maar bijv. met een extra formule in een kolom ervoor iets van "Void" laten opzoeken. Dan kan je daar later op filteren.quote:Op maandag 24 april 2017 21:10 schreef Super-B het volgende:
....
Handmatig is grofweg onmogelijk met zowat 200.000 observaties...
Iemand die mij hieruit kan helpen?
Dus op het moment dat er één of meerdere variabelen (kolommen) een missing value heeft in één of meerdere rijen (jaren) ---> dan gewoon alle rijen m.b.t. de firm verwijderen... Het ziet er ongeveer zo uit:
....
Stel dus dat er een missing value is in één van de jaren van AAR CORP, dan wil ik dat alle rows van AAR CORP verwijderd worden.
Maakt mij echt niet uit hoe het gedaan wordt, zolang het maar lukt.quote:Op maandag 24 april 2017 22:01 schreef The_vice het volgende:
[..]
Ten eerste zou ik ze niet fysiek verwijderen, maar bijv. met een extra formule in een kolom ervoor iets van "Void" laten opzoeken. Dan kan je daar later op filteren.
Met 200.000 records lijkt Access me een beter programma, maar met wat trucs moet het met excel ook lukken.
Is het een publiek beschikbare set, en zo ja waar?
een linkje, als het kan.quote:Op maandag 24 april 2017 22:12 schreef Super-B het volgende:
[..]
Maakt mij echt niet uit hoe het gedaan wordt, zolang het maar lukt.
Het is beschikbaar op Compustat, ik kan ook de file hier posten.. als dat handiger is?
1 | =COUNTA(F2:K2) |
1 | =COUNTIF(G2:K2;"No Data") |
1 | =Len(G2) |
1 | =Min(M2:Q2) |
1 | =GETPIVOTDATA("Max of Blank";$R$1;"Company";"Heisler Beer") |
1 | =GETPIVOTDATA("Max of Blank";$R$1;"Company";H2) |
https://ufile.io/64mqsquote:Op maandag 24 april 2017 22:21 schreef The_vice het volgende:
[..]
een linkje, als het kan.
Ondertussen, als het in de regel lege cellen betreft, dan kan je bijv met CountA of Countblank het aantal (on)-gevulde cellen per regel tellen, bijv:
[ code verwijderd ]
CountA en Countblank willen wel eens niet werken als er spaties of verborgen characters in de cellen staan.
of, als er een waarde in de cel staat om missende data aan te geven bijv met Countif
[ code verwijderd ]
Mochten beiden geen soelaas geven, kan je ook van elk van de cellen de lengte opzoeken, in dit voorbeeld in L2:
[ code verwijderd ]
etc. naar rechts slepen
en dan achter de laatste Kolom
[ code verwijderd ]
Dan weet je in iedergeval of er een cel is met 0,1, etc characters.
Ik heb ze nu even geskipt, door meer bereiken aan te maken:quote:Op maandag 24 april 2017 22:32 schreef Super-B het volgende:
Voor deze kolommen geldt: dat als het blank is, dan moet het gewijzigd worden in 0.
1 | =COUNTA(D6:S6;U6;W6;Z6:AC6) |
Super bedankt! Ik ga hier eens even mee aan de slag om te kijken of nog iets kan wijzigen om mijn sample te vergroten. Ik kom hier nog op terug !quote:Op maandag 24 april 2017 23:26 schreef The_vice het volgende:
[..]
Ik heb ze nu even geskipt, door meer bereiken aan te maken:
[ code verwijderd ]
https://ufile.io/3d425.
zoals ik het nu zie blijft er slechts 30% over. nog steeds 36000 regels
Wel wat traag aan het worden met al die formules, vaak is het handig om "tussen-formules" te kopieren en te plakken als waarden over de formule zelf, dat schiet een hoop op met sorteren.
Cellen in geel zijn terugwerkend van kolom D naar B als waarden geplakt om het wat sneller te krijgen, anders blijft ie rekenen bij sorteren etc.
Dit kan eenvoudig middels een Pivot Table met zowel een Minimum alsmede een Maximum van datum in het Value field. Alleen als bijv. A101,X ergens in december nog een keer X invult, krijg je dat als einddatum. Dus dan wordt X ineens er lang.quote:Op zaterdag 29 april 2017 11:59 schreef johnykamau het volgende:
Ik wil graag in een excel files een data range met een begin datum en een eind datum opsplitsen in single rows, zoals in het plaatje hieronder.
Iemand een idee hoe je dit met VBA kan doen?
[ afbeelding ]
Wil ik ook wel graag weten Want kan helemaal niet denk ik. Sowieso altijd heel fijn om je eigen gevonden oplossing te posten daar leren anderen vast weer wat vanquote:Op zaterdag 27 mei 2017 10:56 schreef -Phineas- het volgende:
Ik weet al hoe je het moet doen Antwoorden is dus niet meer nodig!
Op basis van het andere topic van de user is zijn oplossing 'cellen samenvoegen'.quote:Op zaterdag 27 mei 2017 18:38 schreef Holy_Goat het volgende:
[..]
Wil ik ook wel graag weten Want kan helemaal niet denk ik. Sowieso altijd heel fijn om je eigen gevonden oplossing te posten daar leren anderen vast weer wat van
Eigenlijk moet je dat niet willen. En cellen samenvoegen is niet aan te bevelen. Zodoende bederf je de databasefunctie. Als je te lange tekst hebt kun je die met alt-enter over meer regels in 1 cel verdelen. Wel even de rij-hoogte aanpassen.quote:Op zaterdag 27 mei 2017 10:53 schreef -Phineas- het volgende:
Hoi, weet iemand misschien hoe je de hoogte en breedte van één enkele vakje/ cel in excel kan aanpassen? Zodra ik de hoogte of breedte aanpas gaan al die andere cellen in die kolom of rij ook aanpassen en dat wil ik niet.
Ik heb excel 2016
Dat is niet zo moeilijk. Hulpkolommetje maken, met een AANTAL.ALS even kijken hoe vaak de leverancier tot daar toe voorkomt in de lijst, een 1 of een 0 meegeven en dan die kolom optellen.quote:Op donderdag 1 juni 2017 11:28 schreef LosBuenosMuchachos het volgende:
Hoi!
Ik zit met een databestand met leveranciers, hun leveringen en de tijd hiervan. Echter op 1 dag komt bijvoorbeeld 1 leveranciers met verschillende producten, welke apart zijn gescand. Hierdoor kan die leverancier per dag er wel 3x op staan, terwijl hij maar 1x is geweest. Hier wil ik een analyse uittrekken, maar dan wil ik dat per dag diezelfde leverancier wel maar 1x meegeteld wordt. Volgen we het nog?
Hoe doe ik dit?
Oke top, dankjewel! Ga het proberenquote:Op donderdag 1 juni 2017 17:30 schreef Janneke141 het volgende:
[..]
Dat is niet zo moeilijk. Hulpkolommetje maken, met een AANTAL.ALS even kijken hoe vaak de leverancier tot daar toe voorkomt in de lijst, een 1 of een 0 meegeven en dan die kolom optellen.
Is het alleen wel van belang dat de leveranciers exact hetzelfde gespeld zijn (of genummerd), anders werkt het niet.
Extra tip: verdiep je in het fenomeen draaitabellen (Engels: Pivot Tables). Voordat je allerlei aantal.als combinaties maakt.quote:Op donderdag 1 juni 2017 22:34 schreef LosBuenosMuchachos het volgende:
[..]
Oke top, dankjewel! Ga het proberen
Draaitabel gebruik ik hier al voor. Maar ik krijg er rare waardes uit, omdat de koppeling niet juist is.quote:Op donderdag 1 juni 2017 23:14 schreef Twentsche_Ros het volgende:
[..]
Extra tip: verdiep je in het fenomeen draaitabellen (Engels: Pivot Tables). Voordat je allerlei aantal.als combinaties maakt.
Extra tip bij aantal.als: Je kunt een kolom maken met alle unieke leveranciersnamen.
Copieer dan de kolom met alle leveranciersnamen (waar dus heel veel meerdere bijzitten). Zet die ergens anders neer. En doe dan
Data, Remove dublicates.
Dan blijven alleen de unieke benamingen over. En daarna daarnaast aantal.als
Vaak is het ook handiger om "de output" op een ander blad te deponeren.quote:Op vrijdag 2 juni 2017 10:13 schreef LosBuenosMuchachos het volgende:
[..]
Draaitabel gebruik ik hier al voor. Maar ik krijg er rare waardes uit, omdat de koppeling niet juist is.
Maar thanks voor de tips iig! Ga het ff proberen
Als die data in de kolommen B t/m G staan, en in chronologische volgorde (is dat zo?), dan voor de willekeurige rij 37:quote:Op zondag 18 juni 2017 21:19 schreef webbyplus het volgende:
Vraagje, ik heb een 500.000-tal records.
Per record zijn naast een aantal standwaarden een drietal start en einddatums opgenomen. Voorbeeld:
Record 1:
Startdatum X - Einddatum X - Startdatum Y - Einddatum Y - Startdatum Z - Einddatum Z.
Nu wil ik per record weten: Is er een overlap in periode JA of NEE, de periode zelf hoef ik niet te weten.
Voorbeeld:
1-1-2017 - 31-12-2017 - 1-7-2016 - 1-7-2017 - 1-9-2016 - 1-9-2018 --> Overlap (1-1-2017 - 1-7-2017)
1-1-2017 - 31-12-2017 - 1-7-2016 - 31-12-2016 - 1-1-2018 - 1-1-2019 --> Geen overlap
Iemand een idee hoe ik dit met een formule kan berekenen. Bvd!
webster
Bedankt voor de reactie!quote:Op zondag 18 juni 2017 21:24 schreef Janneke141 het volgende:
[..]
Als die data in de kolommen B t/m G staan, en in chronologische volgorde (is dat zo?), dan voor de willekeurige rij 37:
=ALS(OF(D37<C37;F37<E37);"Overlap";"Geen overlap")
Als dezelfde eind- en startdatum ook telt als overlap, de < vervangen door <=.
Als ze niet op volgorde staan is het een stuk ingewikkelder, trouwens.
Oh, op die fiets. Daar moet ik even over nadenken.quote:Op zondag 18 juni 2017 21:38 schreef webbyplus het volgende:
[..]
Bedankt voor de reactie!
Thanks, alleen licht ie nog wat moeilijker. Een deel van ALLE drie de tijdframes moet overeenkomen, voorbeeld;
1-1-2017 - 31-12-2017 1-7-2017 - 1-7-2018 1-1-2018 - 1-1-2019 --> Geen overlap. (geen overlap tussen 1e en 3e frame.)
Leuke uitdaging voor de zondag avond.... :-) ik ga zelf ook nog ff denken.quote:Op zondag 18 juni 2017 21:39 schreef Janneke141 het volgende:
[..]
Oh, op die fiets. Daar moet ik even over nadenken.
Ik denk dat ie ook wel kan met een combinatie van MIN- en MAX-functies.quote:Op zondag 18 juni 2017 21:45 schreef webbyplus het volgende:
[..]
Leuke uitdaging voor de zondag avond.... :-) ik ga zelf ook nog ff denken.
Maar mijn eerste brainstorm:
Er moet een vergelijking komen tussen:
- Range 1 + Range 2 = Overlap Range X
- Range X + Range 3 = Overlap Periode Y
Als overlap periode Y bestaat = er volgens mij overlap over alle 3 de perioden..
1 | =DATUM(LINKS(A1;2);DEEL(A1;3;2);DEEL(A1;5;4)) |
1 | =DATUM(LINKS(A1;4);DEEL(A1;5;2);DEEL(A1;7;2)) |
De formule is altijd =DATUM(jaar;maand;dag) dus dat wordt in het bovenste geval:quote:Op woensdag 21 juni 2017 11:03 schreef racerdkb het volgende:
Korte vraag:
In A1 heb ik een datum als tekst staan DDMMJJJJ bijvoorbeeld 21062017
Hier wil ik een datum met streepjes van maken dus heb ik in A2:
[ code verwijderd ]
Het resultaat hiervan is echter onjuist.
Terwijl als ik de formule ombouw en in A1 de tekst heb staan als JJJJMMDD ofwel 20170621
en in B1
[ code verwijderd ]
Dan werkt het wel goed
Wat doe ik verkeerd?
1 | =DATUM(DEEL(A1;5;4);DEEL(A1;3;2);LINKS(A1;2)) |
Ah okee, op zich logisch.quote:Op woensdag 21 juni 2017 11:55 schreef Rectum het volgende:
[..]
De formule is altijd =DATUM(jaar;maand;dag) dus dat wordt in het bovenste geval:
[ code verwijderd ]
Je antwoord klopt niet. Volgens jouw tabel gaan M en F 1 keer samen naar een wedstrijd, maar dat blijkt niet uit je data. M gaat maar 1x maar neemt dan wel beide seizoenskaarten mee En F gaat naar 2 wedstrijden, in zn eentje Je zou moeten tellen hoevaak er op 1 regel 2 namen staan..quote:Op donderdag 22 juni 2017 13:33 schreef Kaas- het volgende:
Edit: Al opgelost, je kan dan gewoon COUNTIFS ipv COUNTIF gebruiken
Lieve mensen,
Even een praktische casus voor jullie waar ik niet uitkom, maar die voor een Exceltijger misschien wel leuk is.
We hebben 2 seizoenskaarten voor Feyenoord met 4 man en dus zullen de 17 voetbalwedstrijden telkens door verschillende tweetallen bezocht worden.
Het scherm van een gedeelde (google docs) excel-sheet ziet er nu zo uit:
[ afbeelding ]
Onder de namen staat per wedstrijd een 0 (persoon gaat niet), 1 (persoon gaat) of 2 (persoon gaat en gebruikt ook de kaart van een ander om iemand buiten ons groepje mee te nemen). Zoals je ziet is dat allemaal nog niet echt gedaan, maar ik wil even testen.
De twee kolommen rechts in beeld worden automatisch gegenereerd. De bovenste ("Aantal wedstrijden per persoon") is eenvoudig en klopt nu wel. Heb daar naast de M gewoon "=COUNTIF(E2:E18,">0")" ingevuld.
Van de kolom eronder ("Aantal wedstrijden per team", waarbij "team" eigenlijk "tweetal" betekent, dus twee van onze vrienden) weet ik echter niet hoe ik het moet aanpakken. We willen graag een beetje na de verdeling kunnen checken of we wel een beetje allemaal met elkaar gaan en daarom lijkt het me chill of deze tool automatisch bijhoudt hoe vaak welke tweetallen samen gaan. De diagonaal geeft aan dat 'je met jezelf gaat' (wat in dit geval kan, wanneer er een 2'tje staat). Die is redelijk eenvoudig en heb ik in de cel linksboven van deze kolom gefixed met "=COUNTIF(E2:E18,">1")".
Maar de moeilijke is dus hoe ik het voor die andere cellen doe. Ik wil dus in de cel 'linksbovenin-en daar eentje onder' (dus cel K10) automatisch laten tellen hoe vaak het gebeurt dat persoon F en persoon M beiden een 1'tje hebben staan bij dezelfde wedstrijd. Iemand een idee hoe ik dat kan doen?
Oh, maar op het moment van de screenshot had ik de juiste code nog niet overal neergezet. Inmiddels ben ik eruit en het is allemaal - achteraf erg simpel maar ik wist niet dat deze optie ook bestond - gelukt met "countifs". Desalniettemin bedankt.quote:Op donderdag 22 juni 2017 15:26 schreef qu63 het volgende:
[..]
Je antwoord klopt niet. Volgens jouw tabel gaan M en F 1 keer samen naar een wedstrijd, maar dat blijkt niet uit je data. M gaat maar 1x maar neemt dan wel beide seizoenskaarten mee En F gaat naar 2 wedstrijden, in zn eentje Je zou moeten tellen hoevaak er op 1 regel 2 namen staan..
(ik werk nog even uit hoe dat moet)
Ah, okquote:Op donderdag 22 juni 2017 15:41 schreef Kaas- het volgende:
[..]
Oh, maar op het moment van de screenshot had ik de juiste code nog niet overal neergezet. Inmiddels ben ik eruit en het is allemaal - achteraf erg simpel maar ik wist niet dat deze optie ook bestond - gelukt met "countifs". Desalniettemin bedankt.
Als ik het goed begrijp moet alleen de D kolom wijzigen. Eenvoudig op te lossen door gebruik van $. Het wordt dan:quote:Op donderdag 22 juni 2017 22:52 schreef Schnitzels het volgende:
Ik heb al enige tijd een vraag over een volgens mij simpel probleem.Ik werk er nu altijd omheen, maar het moet op te lossen zijn.
In regel 2 staat: =(D2*J3)+(E2*J4)
In regel 3 staat: =(D3*J3)+(E3*J4)
In regel 4 staat: =(D4*J3)+(E4*J4)
Het komt er op neer dat in Kolom D staat: Aantal Volwassenen, in Kolom E: Aantal Kinderen. In J3 staat het bedrag per volwassene, in J4 staat het bedrag per kind. Per regel staat de families die al betaald hebben voor een evenement.
Nu heb ik tot op heden 31 regels.
In regel 30 staat: =(D30*J3)+(E30*J4)
In regel 31 staat: =(D31*J3)+(E31*J4)
Nu moet ik nog tien regels erbij hebben waarbij de formule doorrekent. Als ik alles selecteer en hetgeen doortrek komt er in regel 32: =(D32*J5)+(E32*J6).
Op de een of andere manier ziet Excel niet dat J3 en J4 statische velden blijven en dat enkel de D en E kolom moeten doorrekenen. Dit lijkt mij toch wel op te lossen?
Voor de vorm zet ik hem hier ook altijd nog voor de D en voor de E, maar dat is eigenlijk niet nodig nee.quote:Op donderdag 22 juni 2017 23:05 schreef Regenbui het volgende:
[..]
Als ik het goed begrijp moet alleen de D kolom wijzigen. Eenvoudig op te lossen door gebruik van $. Het wordt dan:
In regel 30 staat: =(D30*$J$3)+(E30*$J$4)
Daarna doortrekken.
De $ locked kolom en rij in dit geval.
Hi,quote:
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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | Public Function ShowOverlap(aRangeStart, aRangeEnd, bRangeStart, bRangeEnd As Date) As Variant Dim xRangeStart, xRangeEnd As Date Dim xOutput(1) As Variant 'Initieer resultaat xOutput(0) = "NO OVERLAP" xOutput(1) = "NO OVERLAP" 'Als einddata kleiner zijn dan begindata If (aRangeEnd < aRangeStart) Or (bRangeEnd < bRangeStart) Then GoTo Einde End If 'Volledige overlap A over B If (aRangeStart <= bRangeStart) And (bRangeEnd < aRangeEnd) Then xOutput(0) = bRangeStart xOutput(1) = bRangeEnd GoTo Einde End If 'Volledige overlap B over A If (aRangeStart >= bRangeStart) And (bRangeEnd > aRangeEnd) Then xOutput(0) = aRangeStart xOutput(1) = aRangeEnd GoTo Einde End If 'B start in A, eindigt niet in A If (aRangeStart < bRangeStart) And (bRangeStart >= aRangeStart) And (bRangeStart < aRangeEnd) And (bRangeEnd > aRangeEnd) Then xOutput(0) = bRangeStart xOutput(1) = aRangeEnd GoTo Einde End If 'B eindigt in A, start niet in A If (bRangeStart < aRangeStart) And (aRangeStart >= bRangeStart) And (aRangeStart < bRangeEnd) And (aRangeEnd > bRangeEnd) Then xOutput(0) = aRangeStart xOutput(1) = bRangeEnd GoTo Einde End If 'B VOOR A If (bRangeEnd < aRangeStart) Then lResultaat = "NO OVERLAP" GoTo Einde End If 'B NA A If (bRangeStart > aRangeEnd) Then lResultaat = "NO OVERLAP" GoTo Einde End If 'A = B If (aRangeStart = bRangeStart) And (aRangeEnd = bRangeEnd) Then xOutput(0) = aRangeStart xOutput(1) = aRangeEnd GoTo Einde End If Einde: ShowOverlap = xOutput End Function |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | Datum Waarde1 Waarde2 1jan 2 3 2jan 6 3jan 4jan 5 5jan 7 [code] Probleem is dat de data uit verschillende pivots komt, met de ene zonder data en waarde en de andere wel, ze lopen dus niet gelijk. Dus zoiets: Ene column aan data is niet gelijk aan de andere: [code] 1jan 1jan 3jan 3jan 10jan 5 jan 12jan16 jan |
Erg onduidelijk allemaal.quote:Op dinsdag 4 juli 2017 16:17 schreef static het volgende:
Misschien vrij simpel op te lossen, maar ik kom er even niet uit.
Wil twee rijen van data vergelijken en in en een grafiek gieten, in maandvorm. Weet even niet zo goed hoe ik het uit moet leggen, maar goed. Zoiets:
[ code verwijderd ]
Hoe kan ik ervoor zorgen dat de gehele maand getoond wordt en de waarde die niet synchroon lopen op 0 worden gezet?
Daar was ik al bang voor.quote:
Ik zou het niet op nul zetten, dan duiken je lijnen naar de nul.quote:Op dinsdag 4 juli 2017 16:17 schreef static het volgende:
Misschien vrij simpel op te lossen, maar ik kom er even niet uit.
Wil twee rijen van data vergelijken en in en een grafiek gieten, in maandvorm. Weet even niet zo goed hoe ik het uit moet leggen, maar goed. Zoiets:
[ code verwijderd ]
Hoe kan ik ervoor zorgen dat de gehele maand getoond wordt en de waarde die niet synchroon lopen op 0 worden gezet?
Als je het commando =maand(a1) gebruikt en a1 is een datumveld dan zal =maand(a1) de maand van die datum geven. Dan kun je elders op je spreadsheet elke maand afzonderlijk met som.als optellen.quote:Op woensdag 5 juli 2017 06:17 schreef static het volgende:
Het wijn vier kolommen; twee met data van verschillende maanden (dus dagen) en één met twee met een waarde voor elke dag van die maand. Probleem is dat niet alle dagen in elk van de twee maanden synchroon zijn, dus een waarde hebben.
Als je op je datablad de kolommen onderaan optelt, laten we zeggen op rij 34567, dan kun je de functie TRANSPONEREN gebruiken om ze verticaal weer te geven op je resultatenblad.quote:Op dinsdag 11 juli 2017 13:56 schreef spiritusbus het volgende:
Ik moet een rapport maken in een excel waar ik twee tabbladen heb: data en results. Op het tabblad data staan ongeveer 25 kolommen van elk zo'n 20000 rijen gevuld met nullen en enen. Ik wil per kolom de som weten en deze resultaten onder elkaar op het tabblad results.
Ik begin met in cel A1 van results met de volgende functie: SOM(data!A1;data!A99999). Als ik dan naar onderen sleep dan bedenkt Excel dat in results A2 de waarde SOM(data!A2;data!A100000) moet komen te staan, hij trekt immers het rijpatroon door. Ik wil hier SOM(data!B1;data!B99999) krijgen. en in results A3 wil ik SOM(data!C1;data!C99999) krijgen etc. Ik heb al zitten klooien met de functie VERSCHUIVING en TRANSPONEREN, maar ik krijg het niet voor elkaar
Iemand een idee? Toelichting m.b.v. de Engelse functies is ook goed, daar kom ik wel aan uit
plak de 2 onder elkaar en doe dan de duplicaten verwijderen. hij geeft dan precies aan hoeveel duplicaten verwijderd zijn (en dus weet je ook hoeveel van je nieuwe entries niet uniek waren).quote:Op dinsdag 11 juli 2017 15:00 schreef Japepk het volgende:
Vraag:
Op mijn stage krijgen we inschrijvingen binnen. Door het jaar heen op ons reguliere aanbod, maar we hebben laatst een speciaal event opgezet waar apart voor ingeschreven moest worden. We willen nu zien hoeveel nieuwe emailadressen (en dus namen) dat heeft opgeleverd.
Ik heb de twee reeksen naast elkaar gezet, ze geselecteerd en dan de duplicaten verwijderd, maar:
1. volgens mij is er niets veranderd aan de reeksen, terwijl hij wel aangeeft dat er waardes verwijderd zijn.
2. heb ik dan de juiste logica gevolgd? Het event-rijtje zouden dan unieke mailadressen tov het reguliere rijtje moeten zijn toch?
Jij weet er duidelijk meer van.quote:Op maandag 17 juli 2017 09:40 schreef Z het volgende:
Dat lijkt me kostbare informatie die LinkedIn niet zomaar vrijgeeft. Wellicht kan het via de api of met een webscraper?
Hoe ga je precies te werk met het downloaden van zo'n "Api"?quote:Op maandag 17 juli 2017 13:29 schreef Z het volgende:
Zo'n directe link leg je met een api. Ik weet niet hoe openbaar die LinkedIn api is. Bij Twitter is de api redelijk open, bij Facebook weer een stuk geslotener.
En dit is een aardige 'crawler':quote:Op maandag 17 juli 2017 14:50 schreef Twentsche_Ros het volgende:
[..]
Hoe ga je precies te werk met het downloaden van zo'n "Api"?
En hoe werkt een webcrawler?
- Gebruik de FIND() functie om te bepalen vanaf welk karakter de gezochte tekst begint.quote:Op vrijdag 21 juli 2017 12:19 schreef Nashje het volgende:
Weet iemand hoe ik een deel aan tekst kan laten verwijderen, totdat een bepaald woord gevonden wordt?
Ik heb een hele lijst aan kolommen en in elke rij komt een stuk html code voor. Ik wil een stuk code laten verwijderen totdat een bepaald wordt woord gevonden. Vanaf dat woord wil ik de code in een nieuwe kolom zichtbaar hebben.
Wazig verhaal, maar probeer vlookup.quote:Op woensdag 26 juli 2017 14:28 schreef RanTheMan het volgende:
Hoi, ik probeer iets waarvan ik dacht dat het vrij simpel was, maar het valt tegen, wellicht kan iemand mij hier op weg helpen
Sheet 1:
1000 rijen, 6 kolommen 1 van de kolommen is een ean nummer
Sheet 2
Bestaat uit 10 tabbladen.
Elk tabblad heeft onderling afwijkende kolommen van 6 per tabblad tot 20 kolommen in 1 tabblad, op 1 na, te weten het ean nummer.
Nu wil ik de 6 kolommen uit sheet 1 aan de individuele tabbladen van sheet 2 toevoegen. Ze zijn dus te matchen aan het ean nummer dat in beide sheets voorkomt.. alleen, het lukt me niet..
Iemand enig idee wat de juiste werkwijze is? Ik vermoed dat ik de data uit sheet 1 moet toevoegen aan elk individueel tabblad in sheet 2, maar dan, hoe match ik het zodat de juiste data in de juiste rij komt te staan?
Ik zou beginnen met zorgen dat kolom E ook daadwerkelijk te matchen is met kolom A (zonder de ' dus).quote:Op donderdag 27 juli 2017 14:35 schreef MMOpelparts het volgende:
Beste Fokkers.
Ik heb iemand nodig die goed met excel kan omgaan.
In het volgende excel bestand wat je onderaan het bericht kan downloaden wil ik het volgende weten.
De waarde die staat in kolom A of die ook voorkomt in Kolom E. Zo ja geef die dan weer in Kolom F met daar achter de waarde die Staat in Kolom D.
1 | =INDEX($D$2:$D$379769; MATCH(A2; $E$2:$E$379769)) |
quote:Op woensdag 2 augustus 2017 11:31 schreef GwaddYr het volgende:
Om juiste vergelijking te kunnen maken, ' uit kolom E (en evt. D) verwijderen en kolom A converteren naar getal.
Formule in te voeren in F2 : =INDEX(D:D;VERGELIJKEN(A2;E:E;0))
voor Engelse excel versie : =INDEX(D:D,MATCH(A2,E:E,0))
Daarna formule naar onderliggende rijen (3 t/m 2591) kopiëren.
Wil je een lege cel in F indien geen overeenkomst is gevonden, dan de volgende formule gebruiken :
=ALS.FOUT(INDEX(D:D;VERGELIJKEN(A2;E:E;0));"")
Engelse versie :
=IFERROR(INDEX(D:D,MATCH(A2,E:E,0)),"")
Daarvoor bestaat =SOM.ALS, waarbij je als criterium ">0" en "<0" meegeeft.quote:Op dinsdag 8 augustus 2017 11:27 schreef Geralt het volgende:
Hallo Excelspecialisten
Ik heb een vraagje wat allicht voor jullie heel makkelijk is, maar voor mij niet.
Ik heb een lijstje met getallen, sommige positief en sommige negatief. Alles bij elkaar optellen dat lukt met nog wel met =som(A1:A2500), maar wat ik eigenlijk wil is 2 cellen, waarbij in de ene cel alle negatieve getallen opgeteld worden en in de andere cel alle positieve getallen opgeteld worden.
Hoe doe ik dit?
Vriendelijk dank alvast
Ow dankje, even proberenquote:Op dinsdag 8 augustus 2017 11:33 schreef Janneke141 het volgende:
[..]
Daarvoor bestaat =SOM.ALS, waarbij je als criterium ">0" en "<0" meegeeft.
Dus: =SOM.ALS(A1:2500;">0") en idem voor <0.
Het is gelukt, alleen nog 1 vraagje. Alle negatieve getallen bij elkaar opgeteld laten nu vanzelfsprekend een negatief getal zien in die cel. Logisch. Echter kan dat minteken ook weg? Ik was net in de verwarring omdat ik de cel met negatieve resultaten af wilde trekken van de cel met positieve resultaten en daar kwam een raar getal uit.quote:Op dinsdag 8 augustus 2017 11:33 schreef Janneke141 het volgende:
[..]
Daarvoor bestaat =SOM.ALS, waarbij je als criterium ">0" en "<0" meegeeft.
Dus: =SOM.ALS(A1:2500;">0") en idem voor <0.
Ja, het hele spul tussen =ABS() zetten, of vermenigvuldigen met -1.quote:Op dinsdag 8 augustus 2017 12:07 schreef Geralt het volgende:
[..]
Het is gelukt, alleen nog 1 vraagje. Alle negatieve getallen bij elkaar opgeteld laten nu vanzelfsprekend een negatief getal zien in die cel. Logisch. Echter kan dat minteken ook weg? Ik was net in de verwarring omdat ik de cel met negatieve resultaten af wilde trekken van de cel met positieve resultaten en daar kwam een raar getal uit.
Dat bleek dus - - = + te zijn
Ik heb nu de cel waarbij ik ze van elkaar aftrek ze bij elkaar opgeteld, maar eigenlijk wil ik dus in die negatieve cel het minteken weg hebben.
Kan dat ook eenvoudig?
1 | 2017-09-11T19:06:00.496+04:00 |
1 | 2017-09-11T19:06:00 |
Moet het ook nog een datum/tijd worden om mee te rekenen/sorteren, of is format tekst maar dan zonder de troep ook goed?quote:Op maandag 11 september 2017 18:01 schreef static het volgende:
Zal waarschijnlijk erg simpel zijn, maar heb na een export een kolom waarvan ik alleen de datum en tijd will hebben. Hoe kan ik dat het beste doen?
De cel ziet er zo uit:
[ code verwijderd ]
Alleen dit lijkt me relevant:
[ code verwijderd ]
minus de 'T'
Dan wordt het zoiets alsquote:Op maandag 11 september 2017 18:23 schreef static het volgende:
Vooralsnog dat eerste. Lijkt me wat makkelijker, toch?
Ik weet het nooit zeker met de Engelse versie, maar de puntkomma's vervangen door komma's?quote:Op maandag 11 september 2017 18:58 schreef static het volgende:
Ik neem aan dat je met A1 de cel bedoelt (in mijn geval F2)? Krijg het niet aan de gang. Heb de Engelse versie dus heb LINKS en DEEL gewijzigd en het hele geval in een nieuwe kolom er rechts naast gezet (=LEFT(F2;10)&" "&MID(F2;12;8)), maar volgens mij doe ik iets grandioos fout.
Zonder extra hulpkolom is dat niet zo eenvoudigquote:Op zaterdag 23 september 2017 14:06 schreef Janneke141 het volgende:
Hoe maak je eenvoudig een verjaardagskalender?
Ik heb een lijst met een stuk of 500 namen en geboortedata, maar als ik die ga sorteren krijg ik ze natuurlijk op jaar. Ik wil ze op maand en dag...
Is het ook letterlijk "tekst 1", of hoort "frikandel" bij 1, "kroket" bij 2, etc.?quote:Op donderdag 28 september 2017 17:19 schreef nattermann het volgende:
Hoi. Excel-n00b hier
Vraag: ik ben een file aan het maken en nu wil ik in 1 kolom het volgende:
bij het invullen van bijvoorbeeld de "1" moet "tekst 1" verschijnen, bij invullen van "2" moet "tekst 2" verschijnen en bij invullen van "3" moet "tekst 3" verschijnen. Is zoiets mogelijk?
Uiteraard is "tekst 1" niet de tekst die er komt te staan maar dit als voorbeeld.
Nee er hoort idd een andere tekst bij. Zo zou bijvoorbeeld bij 1 de tekst "Einde nachtdienst" horen.quote:Op donderdag 28 september 2017 17:41 schreef Janneke141 het volgende:
[..]
Is het ook letterlijk "tekst 1", of hoort "frikandel" bij 1, "kroket" bij 2, etc.?
Dan zul je op een of andere plek in je bestand een lijstje moeten maken waarbij de nummers en de juiste teksten naast elkaar staan. Beste is om dat op een apart werkblad te doen.quote:Op donderdag 28 september 2017 17:44 schreef nattermann het volgende:
[..]
Nee er hoort idd een andere tekst bij. Zo zou bijvoorbeeld bij 1 de tekst "Einde nachtdienst" horen.
Toelichting: ik werk onregelmatig en wil ivm kinderopvang een overzichtje maken.
Ik ga mijn best doen. Bedankt!!quote:Op donderdag 28 september 2017 17:48 schreef Janneke141 het volgende:
[..]
Dan zul je op een of andere plek in je bestand een lijstje moeten maken waarbij de nummers en de juiste teksten naast elkaar staan. Beste is om dat op een apart werkblad te doen.
Daarna heb je de functie =VERT,ZOEKEN() nodig. Ik stel voor dat je eerst even de help over die formule leest, goed kans dat je er dan wel uitkomt.
NB: Het wordt daarna overigens wel zo dat je in een of andere cel een 1 zet, en dat er dan in de cel ernaast 'einde nachtdienst' komt te staan.
Volgens mij is ie er niet, en is het echt heel naar om er een te maken. Maar het kan wel.quote:Op donderdag 28 september 2017 17:51 schreef Nieuwschierig het volgende:
Ik kan het natuurlijk googelen maar dat doe ik niet: Is er een functie die kijkt of het wel zomertijd is of geen zomertijd (in Nederland)
En dan een 1 of een 0 geeft of zo?
Je kan ook werken met gegevensvalidatie. Dan is het alleen mogelijk om te kiezen uit een aantal geselecteerde opties.quote:Op donderdag 28 september 2017 17:52 schreef nattermann het volgende:
Ik ga mijn best doen. Bedankt!!
Heb wel een lijstje voor je.quote:Op donderdag 28 september 2017 17:51 schreef Nieuwschierig het volgende:
Ik kan het natuurlijk googelen maar dat doe ik niet: Is er een functie die kijkt of het wel zomertijd is of geen zomertijd (in Nederland)
En dan een 1 of een 0 geeft of zo?
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.
quote:Op donderdag 28 september 2017 18:16 schreef Jopie78 het volgende:
[..]
Heb wel een lijstje voor je.Mwa... wie weet dat ik nog wat aan heb ook.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.
Wie dit leest is gek
Het is wel degelijk berekenbaar, maar het is een akelige formule vanwege het feit dat 'de laatste zondag in maart' altijd op een andere datum valt.quote:
Beetjes stoeien, wat waardes aan toekennen, beetje verticaal zoeken.. Komt vast goed.quote:Op donderdag 28 september 2017 18:18 schreef Nieuwschierig het volgende:
Mwa... wie weet dat ik nog wat aan heb ook.
Heb de berekening bekeken, maar dat was inderdaad een monsterlijk ding. Zou dan alsnog alles handmatig willen controleren achteraf.quote:Op donderdag 28 september 2017 18:18 schreef Janneke141 het volgende:
Het is wel degelijk berekenbaar, maar het is een akelige formule vanwege het feit dat 'de laatste zondag in maart' altijd op een andere datum valt.
Dat er geen ingebouwde formule in excel is heeft ongetwijfeld te maken met het feit dat de datum van de zomer/wintertijd verschilt per land, als er al een DST is.quote:Op donderdag 28 september 2017 18:28 schreef Nieuwschierig het volgende:
Vreemd dat het er niet is want er zijn talloze toepassingen voor denk ik.
Bij mij gaat het om een uit SAP geëxporteerde tabel de UTC tijden om te zetten naar MET
Op reddit staan nog wel wat formules, wie weet zit daar iets tussen?quote:Op donderdag 28 september 2017 18:28 schreef Nieuwschierig het volgende:
Vreemd dat het er niet is want er zijn talloze toepassingen voor denk ik.
Bij mij gaat het om een uit SAP geëxporteerde tabel de UTC tijden om te zetten naar MET
Dat kan met voorwaardelijke opmaak.quote:Op dinsdag 10 oktober 2017 16:34 schreef Heeinz het volgende:
Ik heb in mijn eerste kolom verschillende datums staan, is het mogelijk om elke datum automatisch een kleur te geven afhankelijk van hoe dichtbij de datum is bij vandaag?
Bijvoorbeeld:
Rij 1: 11-10-2017
Rij 2: 20-10-2017
Rij 3: 01-11-2017
Waarbij datums die binnen een week van vandaag vallen een groene kleur krijgen, tussen 8 en 15 dagen krijgen een oranje kleur en langer dan 15 dagen een rode kleur?
Thanks!quote:Op dinsdag 10 oktober 2017 16:39 schreef Janneke141 het volgende:
[..]
Dat kan met voorwaardelijke opmaak.
Kies 'een formule gebruiken om...'
en gebruik dan (wel even de goede celverwijzing invullen natuurlijk)
=A1-VANDAAG()<8
etc.
quote:Op zondag 22 oktober 2017 23:23 schreef Heeinz het volgende:
Daar ben ik weer Ik wil graag met Excel automatisch teksten genereren. Ik heb bijvoorbeeld als volgt een tekst:
Maar in C1 staat een datum, voluit geschreven. Hoe krijg ik deze erin?
1 | ="Tijdens "&A1&" wordt "& B1&" gedaan op "&C1 |
1 | ="Tijdens "&A1&" wordt "& B1&" gedaan op "&TEXT(C1,"MM/DD/YY") |
Het is inderdaad als datum opgemaakt, er staat bijvoorbeeld 'zondag 22 oktober 2017', en zo wil ik ook dat het in de tekst gegenereerd wordt. Met de regel die jij stuurde krijg ik het niet voor elkaarquote:Op zondag 22 oktober 2017 23:47 schreef The_vice het volgende:
[..]
[ code verwijderd ]
Als in C1 een "datum" als datum is opgemaakt (vanaag is bijvoorbeeld 43030) kom je weg met:
[ code verwijderd ]
of iets van die strekking.
Of bedoel je dat de text in C1 nu is:
"Zondag, 22 oktober 2017"?
Dan is het wellicht gewoon tekst en kan je naar C1 verwijzen.
dddd dd mmmm yyyy zou het moeten doen, jjjj in de nederlandse versie van excel.quote:Op maandag 23 oktober 2017 00:16 schreef Heeinz het volgende:
[..]
Het is inderdaad als datum opgemaakt, er staat bijvoorbeeld 'zondag 22 oktober 2017', en zo wil ik ook dat het in de tekst gegenereerd wordt. Met de regel die jij stuurde krijg ik het niet voor elkaar
quote:Op maandag 23 oktober 2017 00:33 schreef The_vice het volgende:
[..]
dddd dd mmmm yyyy zou het moeten doen, jjjj in de nederlandse versie van excel.
1 | ="Tijdens "&D4&" wordt "&E4&" gedaan op "&TEKST(A4,"dddd/dd/mmmm/jjjj") |
"punt komma" ; in plaats van "komma" , in de Nederlandse versie? Isoleer eerst de text verwijs functie zelf in een cell. Dat werkt meestal het best om fouten op te sporen, door het naar kleine componenten terug te brengen. Dus eerst alleen =text(A4,"opmaak die je er wilt hebben") in een enkele cell.quote:Op maandag 23 oktober 2017 00:45 schreef Heeinz het volgende:
[..]
[ code verwijderd ]
Geeft foutmelding, wat doe ik verkeerd?
Voor de duidelijkheid, in A4 heb ik 22-10-2017 ingevuld en wordt deze weergegeven als; zaterdag 22 oktober 2017
denk dat je deze zoekt:quote:Op woensdag 25 oktober 2017 19:48 schreef MrNiles het volgende:
iemand een idee hoe dit op te lossen??
ja klopt, maar dan moet de andere sheet geopend zijn...en dat is nou net wat ik niet wilquote:Op woensdag 25 oktober 2017 20:03 schreef The_vice het volgende:
[..]
denk dat je deze zoekt:
Dynamic workbook reference, middels "Indirect" formule
Het antwoord op deze vraag is helaas dat het niet mogelijk is. De functie INDIRECT kan alleen werken met geopende bestanden.quote:Op vrijdag 27 oktober 2017 18:26 schreef MrNiles het volgende:
[..]
ja klopt, maar dan moet de andere sheet geopend zijn...en dat is nou net wat ik niet wil
Het kan in ieder geval metquote:Op dinsdag 7 november 2017 14:57 schreef nils7 het volgende:
Hi allen
Win 10, Excel 2016
Ik zit met een datum probleem.
Mijn excel staat op NL maar mijn datafeed (CSV bestand) is US format in een NOW() timestamp (datum + tijdstip).
Nu kan ik dit met left en rights best omzetten naar een NL format maar dat lukt me niet omdat hij het volgende US timestamp "11/01/17 00:33" ziet als "42746" als ik hem benader met een left.
Dat ziet hij dus als de NL 11 januari, maar dus eigenlijk 1 november is.
In dezelfde kolom staat dus ook een US "10/31/2017 11:36:53 PM" daar kan hij dus geen NL datum van maken dus mijn Left(timestamp,10) is dus ook gewoon 10/31/2017 als TEXT.
Ik zou dit graag met een formule op willen lossen, waar google vaak met formatting of left/right/mid oplossingen komt. Kom ik hier niet aan uit.
Iemand een idee?
[edit]
Deze oplossing werkt niet:
https://stackoverflow.com(...)o-european-date-date
Nee mag best met Left en Mids maar kreeg het er niet uit.quote:Op dinsdag 7 november 2017 16:30 schreef Janneke141 het volgende:
[..]
Het kan in ieder geval met
=DATE(MID(A1;4;2);LEFT(A1;2);MID(A1;7;2)+2000)
Misschien is er wel een charmantere oplossing, maar die ken ik ook niet. Waarom wil je eigenlijk een oplossing zonder LEFTs en MIDs?
Opgenomen macro's zijn niet zo geschikt om flexibel te maken, daar er harde verwijzingen in komen (A1 etc.). (Maar wel handig om even snel iets te bedenken en te kijken welke methodes er zijn.)quote:Op woensdag 8 november 2017 21:46 schreef langverhaal het volgende:
Aanvulling op mijn bovenstaande vraag; ik heb een macro opgenomen, maar bij uitvoer doet deze precies wat ik ervan verwacht, namelijk op de rij waar ik de macro opnam de waarden wegschrijven.
Hoe pas ik deze macro aan zodat deze wegschrijft vanuit de cel die op dat moment is geselecteerd?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | Sub Macro1() Dim SheetnaamBron As String Dim SheetnaamDoel As String SheetnaamBron = "Sheet2" SheetnaamDoel = "Sheet1" Dim Rij As Long Dim Kolom As Long 'data uit 5 kolommen, 1 rij over te halen Rij = 1 Kolom = 5 For j = 1 To Rij 'Insert Row Above Row 2 'met bijv kolomnamen op eerste rij Sheets(SheetnaamDoel).Rows(2).Insert Shift:=xlDown, _ CopyOrigin:=xlFormatFromLeftOrAbove 'or xlFormatFromRightOrBelow 'dan door kolommen wandelen. For i = 1 To Kolom '+0 aanpassen in geval van offset op bron sheet Sheets(SheetnaamDoel).Cells(2, i).Value = Sheets(SheetnaamBron).Cells(j + 0, i + 0).Value Next i Next j End Sub |
Misschien kun je iets met de functie VERGELIJKEN()quote:Op woensdag 15 november 2017 11:23 schreef edward_v het volgende:
Goedemorgen,
in het verre verleden heb ik redelijk wat met Excel gedaan maar helaas is veel kennis verdwenen.
Ik zit met het volgende:
Ik heb twee sheets met data. Ik wil kolommen in sheet 1 met kolommen in sheet 2 vergelijken.
Oftwel:
komt waarde voor in kolom 1 en in kolom 2 dan ja en indien niet dan nee.
Is zoiets te gieten in een formule?
en die waardes moeten wel gelijk zijn?quote:Op woensdag 15 november 2017 11:23 schreef edward_v het volgende:
Goedemorgen,
in het verre verleden heb ik redelijk wat met Excel gedaan maar helaas is veel kennis verdwenen.
Ik zit met het volgende:
Ik heb twee sheets met data. Ik wil kolommen in sheet 1 met kolommen in sheet 2 vergelijken.
Oftwel:
komt waarde voor in kolom 1 en in kolom 2 dan ja en indien niet dan nee.
Is zoiets te gieten in een formule?
1 | =IF(Sheet1!B3=Sheet2!B3;TRUE;FALSE) |
waar staat die b3 voor in dit geval?quote:Op woensdag 15 november 2017 12:05 schreef mschol het volgende:
[..]
en die waardes moeten wel gelijk zijn?
volstaat dan niet het volgende:
[ code verwijderd ]
geen nederlandse variant beschikbaar, dus nederlandse commando's moet je even uitzoeken.. Echt, welke idioot maakte daar ooit nederlandse functienamen voor
De cel op het werkblad (respectievelijk werkblad 1 en werkblad 2 in mijn voorbeeld, waar je de daadwerkelijke naam van moet gebruiken)quote:Op woensdag 15 november 2017 12:27 schreef edward_v het volgende:
[..]
waar staat die b3 voor in dit geval?
1 | =IF(jantje!A3=pietje!D10;TRUE;FALSE) |
wat als ik alle waarden uit kolom a met alle waarden in kolom b wil vergelijken.quote:Op woensdag 15 november 2017 12:28 schreef mschol het volgende:
[..]
De cel op het werkblad (respectievelijk werkblad 1 en werkblad 2 in mijn voorbeeld, waar je de daadwerkelijke naam van moet gebruiken)
dus als je werkbladen jantje en pietje heten en je cellen A3 en D10 moet vergelijken wordt het:
[ code verwijderd ]
de cel waarin je deze formule plaatst toont het resultaat
Met MATCH, COUNTIF of VLOOKUP kan je bepalen of een bepaalde waarde voorkomt in een een kolom. Als je wil weten of die waarde voorkomt in zowel kolom A als B, dan kan je er nog een AND eromheen plaatsen.quote:Op woensdag 15 november 2017 13:10 schreef edward_v het volgende:
[..]
wat als ik alle waarden uit kolom a met alle waarden in kolom b wil vergelijken.
oftewel komen ze zowel voor in a en b dan true. maakt niet uit welk positie
Excel rekent met tijden alsof het fracties van 24 zijn. De tijd '12:00' ziet Excel dus als 0,5, omdat het de helft van een etmaal (24) is.quote:Op vrijdag 5 januari 2018 12:24 schreef gekkie000000 het volgende:
Hallo, beginnersvraagje
Ik ben een excel aan het maken om de gewerkte uren van mijn vriend in bij te houden.
Ik heb diverse kolommen gemaakt zoals gewerkte uren , verlof, storingsuren etc. Het optellen werkt ook door de (u):mm:ss.
Nu wil ik een kolom waarin de overuren automatisch berekend worden. Dus kolom werkuren bevat bijvoorbeeld de waarde 11:30, en dan zou kolom overuren moeten worden :
waarde kolom werkuren - 8 uur (standaard werkdag), maar ik krijg het niet voor elkaar.
Iemand die me op weg kan helpen zonder dat ik een extra kolom hoef te maken?
Alvast bedankt!
Oh super, bedankt voor de uitleg! Ik ga het proberen.quote:Op vrijdag 5 januari 2018 12:29 schreef Janneke141 het volgende:
[..]
Excel rekent met tijden alsof het fracties van 24 zijn. De tijd '12:00' ziet Excel dus als 0,5, omdat het de helft van een etmaal (24) is.
Als je in een of andere cel een tijdsduur hebt gezet en je wil daar acht uur vanaf halen, dan zul je er dus het getal 8/24 vanaf moeten halen. D.w.z.: als in A1 de tijd '11:30' is ingevoerd, en in cel B1 zet je de formule =A1-8/24, en de celopmaak van B1 is ook 'tijd', dan komt er 03:30 in te staan.
Alleen nu wil ik het bestand wel op kunnen slaan zonder dat ik de cellen moet vullen Hoe doe ik dat? Ik las al iets dat je bijvoorbeeld cel A100 Skipip noemt, en dan onderstaande macro gebruikt dus als je bijvoorbeeld in A100 "TRUE" zet, hij dan hem leeg op slaat:quote:Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Application.Sheets("form").Range("B14").Value = "" Then
Cancel = True
MsgBox "B14 is empty"
End If
If Application.Sheets("form").Range("B15").Value = "" Then
Cancel = True
MsgBox "B15 is empty"
End If
If Application.Sheets("form").Range("B16").Value = "" Then
Cancel = True
MsgBox "B16 is empty"
End If
If Application.Sheets("form").Range("B19").Value = "" Then
Cancel = True
MsgBox "B19 is empty"
End If
If Application.Sheets("form").Range("B27").Value = "" Then
Cancel = True
MsgBox "B27 is empty"
End If
If Application.Sheets("form").Range("B28").Value = "" Then
Cancel = True
MsgBox "B28 is empty"
End If
If Application.Sheets("form").Range("B30").Value = "" Then
Cancel = True
MsgBox "B30 is empty"
End If
If Application.Sheets("form").Range("B32").Value = "" Then
Cancel = True
MsgBox "B32 is empty"
End If
If Application.Sheets("form").Range("B39").Value = "" Then
Cancel = True
MsgBox "B39 is empty"
End If
End Sub
Gefeliciteerd, altijd goed om je in deze materie te verdiepen.quote:Op donderdag 11 januari 2018 15:07 schreef Zocalo het volgende:
Ik heb mijn eerste macro ooit gebouwd, jeej
Ja prima methode om zo de zaak te bypassen.quote:[..]
Alleen nu wil ik het bestand wel op kunnen slaan zonder dat ik de cellen moet vullen Hoe doe ik dat? Ik las al iets dat je bijvoorbeeld cel A100 Skipip noemt, en dan onderstaande macro gebruikt dus als je bijvoorbeeld in A100 "TRUE" zet, hij dan hem leeg op slaat:
...
Maar ik krijg die niet werkend. Waar zou deze moeten? Of iemand anders een idee?
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 50 51 52 53 54 55 | Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) 'https://msdn.microsoft.com/en-us/vba/excel-vba/articles/workbook-beforesave-event-excel Dim strSheet As String Dim arrRange() As String Dim result As String strSheet = "Sheet1" arrRange = Split("B14,B15,B16,B27,B30,B32", ",", -1, vbTextCompare) 'eerst kijken of er geskipt moet worden If Bypass Then Cancel = False Exit Sub Else 'anders mogen de cellen gechecked worden For Each Item In arrRange If CheckFilledCells(strSheet, CStr(Item)) Then 'één of meerdere cellen zijn niet ingevuld Cancel = True If result = "" Then 'eerste item result = Item Else result = Item & ", " & result End If End If Next Item If Not result = "" Then MsgBox "empty item(s) in: " & result & vbCrLf & _ "Fill these in to be able to save sheet" End If End If End Sub '----------------------------------------------------------------------- Private Function CheckFilledCells(sheetname As String, strRange As String) As Boolean Dim Mytest As String Mytest = Application.Sheets(sheetname).Range(strRange).Value If Mytest = "" Then CheckFilledCells = True End Function '----------------------------------------------------------------------- Private Function Bypass() As Boolean Dim Skip As Boolean Skip = Range("Skipit").Value Debug.Print "SKIP", Skip If Skip Then Bypass = True 'reset naar niks, of beter FALSE Range("Skipit").Value = False End If End Function |
1 2 | Dim strSheet As String strSheet = "Sheet1" |
1 2 | Dim arrRange() As String arrRange = Split("B14,B15,B16,B27,B30,B32", ",", -1, vbTextCompare) |
1 2 | For Each Item In arrRange Next item |
1 | Private Function CheckFilledCells(sheetname As String, strRange As String) As Boolean |
Wow, wat een uitleg Super bedankt! Ik had het inmiddels wel werkend gekregen maar had al zo'n vermoeden dat het in te korten viel Ik wou dat ik dit allemaal 5 jaar geleden al geleerd had, maar je bent nooit te oud om te leren...quote:Op donderdag 11 januari 2018 20:44 schreef The_vice het volgende:
Wellicht meer dan je als antwoord op had gehoopt, maar ik zou willen dat ik dit allemaal had geweten toen ik net begon met programmeren.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If Range("Skipit").Value = "TRUE" Then 'indien skipit == 'true' Range("Skipit").Value = "" 'maak leeg zodat deze leeg is bij het opslaan. De volgende keer moet je weer 'true' in die cel zetten Exit Sub 'je hoeft niets te controleren, we laten toch al toe dat er opgeslagen wordt End If Dim cell As Range, msg As String 'altijd variabelen declareren, dan helpt de editor je For Each cell In Application.Sheets("form").Range("A1,A3,A4") 'voeg hier de cellen toe, gescheiden met komma If IsEmpty(cell.Value) Then 'als cell leeg is dan ... msg = msg & ", " & cell.Address(False, False) 'voeg zijn adres toe aan de 'msg' string End If Next cell 'loop door alle cellen in bovenstaande lijstje If Len(msg) > 0 Then 'indien cellen gevonden, melding geven MsgBox Mid(msg, 2) & " empty, please fill in to continue" Cancel = True 'je mag niet opslaan End If End Sub |
Dat kan wel, maar dat gaat je een paar hulpkolommetjes kosten.quote:Op zondag 28 januari 2018 09:46 schreef Blue_note het volgende:
Ik heb een Excel bestand waarbij op tab 2 t/m 15 in kolom A tekst staat. Het aantal rijen waarin tekst staat is per tab anders en kan veranderen.
Ik zou graag op tab 1 een overzicht maken van al die kolom A teksten die op de tabs 2 t/m 15 staan.
Ik snap dat je kan celverwijzen, maar dat is statisch. Het liefst zou ik een overzicht maken waarbij rekening wordt gehouden met het aantal gevulde rijen en er in het overzicht geen witregels tussen komen.
Iemand een idee voor een oplossing?
Thanks. Eens even mee spelen. Gevaar zit hem erin dat er dan veel geknoopt wordt. Blad2 t/m 15 kan in theorie ook t/m 50 gaan worden.quote:Op zondag 28 januari 2018 09:57 schreef Janneke141 het volgende:
[..]
Dat kan wel, maar dat gaat je een paar hulpkolommetjes kosten.
In steno een oplossing die werkt:
- Maak een blad16 waarop je een rijtje maakt met AANTALARG(A:A)-functies voor ieder werkblad van 2 t/m 15
- Op Blad1 in A1 zet je de tekst 'Blad2'
- Ernaast in B1 zet je een 1
- Nu ga je in de rijen daar beneden de celwaarde erboven vergelijken met het totaal aantal regels op het betreffende werkblad. Zo lang dat niet is bereikt gaat de teller telkens 1 omhoog en blijft de bladnaam hetzelfde. Beetje klooien met ALS-functies en VERT.ZOEKEN.
- In kolom C kun je nu met een combinatie van INDEX en INDIRECT je celwaardes van al die bladen oplepelen.
Behalve dan dat je op het 'telblad' voor ieder blad dat erbij komt handmatig nieuw regeltje moet maken, zie ik niet wat er misgaat. Alleen wordt het hele spul natuurlijk wel trager als het aantal bladen en regels oploopt.quote:Op zondag 28 januari 2018 10:17 schreef Blue_note het volgende:
[..]
Thanks. Eens even mee spelen. Gevaar zit hem erin dat er dan veel geknoopt wordt. Blad2 t/m 15 kan in theorie ook t/m 50 gaan worden.
Ben bang dat verknopingen naar verloop van tijd dan misgaan, niet?!
Blad0 wordt dan je hulpsheet, Blad1 geeft je het overzicht.quote:Op zondag 28 januari 2018 10:17 schreef Blue_note het volgende:
[..]
Thanks. Eens even mee spelen. Gevaar zit hem erin dat er dan veel geknoopt wordt. Blad2 t/m 15 kan in theorie ook t/m 50 gaan worden.
Ben bang dat verknopingen naar verloop van tijd dan misgaan, niet?!
Ik heb twee type oplossingen voor je. Beide hebben ze hun pro's en cons.quote:Op zondag 28 januari 2018 10:17 schreef Blue_note het volgende:
[..]
Thanks. Eens even mee spelen. Gevaar zit hem erin dat er dan veel geknoopt wordt. Blad2 t/m 15 kan in theorie ook t/m 50 gaan worden.
Ben bang dat verknopingen naar verloop van tijd dan misgaan, niet?!
quote:Op zondag 28 januari 2018 12:12 schreef qu63 het volgende:
[..]
Blad0 wordt dan je hulpsheet, Blad1 geeft je het overzicht.
In Blad0 kan je dan een van deze oplossingen gebruiken voor het aantal sheets (min Blad0 en Blad1): https://www.extendoffice.(...)umber-of-sheets.html
Ik zou het aantal tabbladen zelf zo klein mogelijk houden. In principe kun je met Excel gewoon tot in de oneindigheid doorwerken op 1 datasheet. Dan kun je die andere of andere twee voor totaalberekeningen en evt andere specifieke informatie gebruiken. 50 tabs is als 50 partities op een HD. Het kan wel, maar het schiet z'n doel voorbij en is minder gebruiksvriendelijk. Ik zou zelf iig geen bestand met een oneindigheid van tabs willen ontvangen.quote:Op zondag 28 januari 2018 12:21 schreef snabbi het volgende:
[..]
Ik heb twee type oplossingen voor je. Beide hebben ze hun pro's en cons.
Oplossing 1: AANTALARG(Blad2:Blad4!A:A)
op het moment dat je de formule invoert, kan je deze formule over meerdere werkbladen laten werken. Zolang je zorgt dat je alle bladen tot en met de meest rechter in deze formule hebt zitten, krijg je een soort van totaaltelling. Met een totaaltelling kan je in ieder geval vinden of je nog tabbladen vergeten bent.
Nadeel is dus dat je geen nieuwe werkbladen moet maken na de meest rechter.
Oplossing 2: Een lijst van alle tabbladen maken.
Deze oplossing kost wat meer tijd en bevat een macro. Hoewel de methode direct werkt in je bestand, kan je het bestand alleen opslaan wanneer je ook Macro's toelaat. Dus opslaan als een .xls bestand of als .xlsm.
Stap 1: Ga naar de Ribbon Formules
Stap 2: Kies voor Namen Beheren (of direct openen via CTRL F3)
Stap 3: Maak een nieuwe naam aan.
Stap 4: Geef het een logische naam zoals Bladen
Stap 5: Plak de volgende formule
=VERVANGEN(WERKMAP.LEZEN(1);1;VIND.ALLES("]";WERKMAP.LEZEN(1));"")
Klik op OK
Stap 6: maak nu je index, dus bijvoorbeeld in A1 zet je Nummer en in B1 Bladnaam
Stap 7: in A2 t/m A-zoveel geef je een oplopend nummer dus 1,2,3 etc
Stap 8: in B2 zet je de formule
=INDEX(Bladen;A2)
Kopieer dit door naar beneden
In kolom c kan je nu een formule bijvoegen zoals
=AANTALARG(INDIRECT(B2&"!A:A"))
Het is ook niet mijn ontwerp, maar de bedenker zal er vast zijn/haar eigen redenen voor hebben.quote:Op maandag 29 januari 2018 16:20 schreef Beathoven het volgende:
[..]
Ik zou het aantal tabbladen zelf zo klein mogelijk houden. In principe kun je met Excel gewoon tot in de oneindigheid doorwerken op 1 datasheet. Dan kun je die andere of andere twee voor totaalberekeningen en evt andere specifieke informatie gebruiken. 50 tabs is als 50 partities op een HD. Het kan wel, maar het schiet z'n doel voorbij en is minder gebruiksvriendelijk. Ik zou zelf iig geen bestand met een oneindigheid van tabs willen ontvangen.
Onwerper ontslaan is in dat geval de beste oplossing. Ik kan me geen andere reden bedenken dan onkunde, ontstaan om welke reden dan ook. Sommige mensen zouden niet aan Excel mogen zitten. Of alleen na een gedegen cursus.quote:Op maandag 29 januari 2018 20:05 schreef snabbi het volgende:
[..]Het is ook niet mijn ontwerp, maar de bedenker zal er vast zijn/haar eigen redenen voor hebben.
Gemakszucht vaak en soms een onkunde, men ziet een spreadsheet dan als een tekstverwerker en wat er binnen het kader voor het oog te zien is wordt dan als gebied gebruikt zoals een A4tje er is voor een stuk tekst. Dat is bij een spreadsheet een beetje onzinnig. Ik scroll liever door een reeks nummers dan dat ik moet gaan lopen klikken en handmatig moet zoeken. Als men 't centraal houdt volstaat ctrl fquote:Op maandag 29 januari 2018 20:05 schreef snabbi het volgende:
[..]
Het is ook niet mijn ontwerp, maar de bedenker zal er vast zijn/haar eigen redenen voor hebben.
quote:Op maandag 29 januari 2018 20:38 schreef The_vice het volgende:
[..]
Onwerper ontslaan is in dat geval de beste oplossing. Ik kan me geen andere reden bedenken dan onkunde, ontstaan om welke reden dan ook. Sommige mensen zouden niet aan Excel mogen zitten. Of alleen na een gedegen cursus.
Wat je ook vaak ziet is dat sheets eenvoudig beginnen, en dan uitgroeien tot uitdijende gedrochten. En nooit de tijd om het eens aan te pakken, maar wèl alle tijd om er inefficiënt mee te blijven werken.
Wat Beathoven zegt .."Ik zou zelf iig geen bestand met een oneindigheid van tabs willen ontvangen. "
Daar kan ik me goed in vinden.
Ik eigen mezelf (en vind dat anderen dat ook moeten/mogen doen) het recht toe om complexe Excel sheets op te schonen tot een weer werkbare variant.
Het is een non-discussie als je het mij vraagt. Er is sprake van slordigheid, ja. Zolang het voor die mensen werkt is het prima. Niet iedereen zal zich lang gaan verdiepen in een technisch mooie oplossing.quote:Op maandag 29 januari 2018 20:51 schreef Beathoven het volgende:
[..]
Gemakszucht vaak en soms een onkunde, men ziet een spreadsheet dan als een tekstverwerker en wat er binnen het kader voor het oog te zien is wordt dan als gebied gebruikt zoals een A4tje er is voor een stuk tekst. Dat is bij een spreadsheet een beetje onzinnig. Ik scroll liever door een reeks nummers dan dat ik moet gaan lopen klikken en handmatig moet zoeken. Als men 't centraal houdt volstaat ctrl f
Als een excelsheet voor een kleine onderneming volstaat zou ik daar eerst mee beginnen. Aanvankelijk kan zoiets dan wel tot bepaalde proporties uitgroeien waar je dan vervolgens over kunt besluiten om maar eens een database op te zetten en 't allemaal iets professioneler aan te pakken maar je wil ook weer niet iets opzetten waar vervolgens geen hond meer naar omkijkt. Voor de meeste ondernemingen volstaat een excelbestand wel een flinke tijd.quote:Op maandag 29 januari 2018 20:57 schreef snabbi het volgende:
[..]
[..]
Het is een non-discussie als je het mij vraagt. Er is sprake van slordigheid, ja. Zolang het voor die mensen werkt is het prima. Niet iedereen zal zich lang gaan verdiepen in een technisch mooie oplossing.
Ik kan ook antwoorden dat het tellen van beschreven regels eigenlijk niet in Excel moet plaatsvinden, maar dat er een database moet komen met entries (inclusief een veld waar je nu de naam van de sheet hebt) en passende count queries kunt bouwen. Tja. Enige wat je echt gaat doen is de mensen afschrikken om zelf te proberen. Laat ze tegen hun eigen problemen aanlopen in hun slordigheden en dan komen ze wel weer met een vraag die ze naar het volgende niveau kan helpen.
Dan komen de grootste getallen bovenaan te staan, dan kan het.quote:Op vrijdag 16 februari 2018 15:56 schreef Janneke141 het volgende:
Ik weet dat het met een hulpkolom vrij eenvoudig is, maar kun je ook 'rechtstreeks' een rij (niet-negatieve) getallen op zo'n manier sorteren dat alle nullen achteraan staan?
quote:Op vrijdag 16 februari 2018 18:02 schreef Basp1 het volgende:
[..]
Dan komen de grootste getallen bovenaan te staan, dan kan het.
Ik heb geen Excel thuis om te testen, maar misschien staat de oplossing hierquote:Op vrijdag 16 februari 2018 18:04 schreef Janneke141 het volgende:
[..]
Dat bedoel ik niet, maar dat snapte je al.
Er zou dus een rij uit moeten komen zoals 1, 2, 2, 4, 5, 77, 0, 0, 0.
Niet wat ik bedoel, want het gaat me echt om het sorteren van de rijen en niet om filteren. Nogmaals, ik weet wel een manier die niet al te ingewikkeld is, maar ik vroeg me gewoon af of het in 1 handeling kon.quote:Op vrijdag 16 februari 2018 18:24 schreef Basp1 het volgende:
[..]
Ik heb geen Excel thuis om te testen, maar misschien staat de oplossing hier
https://www.excelcampus.com/tips/filter-drop-down-zeros-numbers/
Volgens mij gaat het niet lukken met de standaard functionaliteit.quote:Op vrijdag 16 februari 2018 18:50 schreef Janneke141 het volgende:
[..]
..ik weet wel een manier die niet al te ingewikkeld is, maar ik vroeg me gewoon af of het in 1 handeling kon.
Omdat alle getallen kleiner zijn dan 200, volstaat een hulpkolom met een =ALS(A1=0;201;A1) en dan daarop sorteren.quote:Op vrijdag 16 februari 2018 21:13 schreef The_vice het volgende:
Maar wat is je "niet al te ingewikkelde manier"?
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 | Sub Macro0() Dim aMax As Long aMax = 19999 + 1 Range("Table1[Column3]").Select Selection.Replace What:="0", Replacement:=aMax, LookAt:=xlWhole _ , SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Macro1 Range("Table1[Column3]").Select Selection.Replace What:=aMax, Replacement:="0", LookAt:=xlWhole _ , SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False End Sub Sub Macro1() ActiveWorkbook.Worksheets("Sheet1").ListObjects("Table1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet1").ListObjects("Table1").Sort.SortFields.Add _ Key:=Range("Table1[[#All],[Column3]]"), SortOn:=xlSortOnValues, Order:= _ xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet1").ListObjects("Table1").Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub |
1. Gebruik eerst "voorwaardelijke opmaak".quote:Op vrijdag 16 februari 2018 15:56 schreef Janneke141 het volgende:
Ik weet dat het met een hulpkolom vrij eenvoudig is, maar kun je ook 'rechtstreeks' een rij (niet-negatieve) getallen op zo'n manier sorteren dat alle nullen achteraan staan?
quote:Op zaterdag 17 februari 2018 11:00 schreef snabbi het volgende:
[..]
1. Gebruik eerst "voorwaardelijke opmaak".
=ALS(A1=0;1;0) -> "kleurtje"
2. Selecteer je tabel
3. Rechter muistoets Sorteren -> Aangepast sorteren.
4. Voeg de regel toe Sorteren op Celkleur, Volgorde je kleurtje, Onderaan
5. Voeg de regel toe Sorteren op Waarde Van klein naar groot
Ik sla nog even de logische opbouw van je code over, en focus me alleen even op 1 dingetje in wat je zegt te doen en werkelijk doet.quote:Op zaterdag 17 februari 2018 01:05 schreef The_vice het volgende:
ennuh iets als dit:
stel je hebt al je data in een tabel genoemd "Table1" en in dit geval te sorteren is "Column3"
wat later best wel dynamisch is te maken
Code is:
• in de geselecteerde kolom, vervang alle nullen door een hoog getal (of eigenlijk hoogste getal +1)
• sorteer dan laag naar hoog
• vervang hoog getal (maximum +1) door 0
[ code verwijderd ]
Klopt, ik heb het zaakje dan ook even snel met de macro recorder in elkaar geflanst met minimale aanpassing.quote:Op zaterdag 17 februari 2018 11:13 schreef snabbi het volgende:
[..]
Ik sla nog even de logische opbouw van je code over, en focus me alleen even op 1 dingetje in wat je zegt te doen en werkelijk doet.
je zegt maximum + 1. Als je dat simpel wil doen (en voor de leesbaarheid buiten de opties om van table1):
aMax = Evaluate("MAX(C:C)") +1
quote:=IF(ISERROR(INDEX('FTE overzicht'!$A$1:$AA$400;SMALL(IF('FTE overzicht'!$AA$1:$AA$400=Sheet1!$W2;ROW('FTE overzicht'!$AA$1:$AA$400));ROW(1:1));1));"";INDEX('FTE overzicht'!$A$1:$AA$400;SMALL(IF('FTE overzicht'!$AA$1:$AA$400=Sheet1!$W2;ROW('FTE overzicht'!$AA$1:$AA$400));ROW(1:1));1))
Prima dat het je gelukt is:quote:Op maandag 26 februari 2018 12:00 schreef Puckzzz het volgende:
Excel 2016 EN
Ik probeer met onderstaande formule een lijst met namen samen te stellen die aan 3 criteria uit een gebied moeten voldoen. De formule werkt in zoverre dat ik de eerste naam terug krijg die aan de criteria voldoet maar helaas houdt het daar ook weer op. Terwijl er meerdere mensen zijn die aan de criteria voldoen.
[ afbeelding ]
Resultaat:
[ afbeelding ]
Voor wie het wil weten, met deze formule is het gelukt:
[..]
Goed punt! Ga ik zeker even naar kijken want ik ben als het goed is over een aantal maanden verhuisd en dan zal mijn opvolgster dit moeten onderhouden.quote:Op maandag 26 februari 2018 22:26 schreef snabbi het volgende:
[..]
Prima dat het je gelukt is:
Om je eigen formule naar de toekomst onderhoudbaar te maken adviseer ik je gebruik te maken van Named Ranges. Via een simpele CTRL ALT F3 -> kan je bijvoorbeeld je 'FTE overzicht'!$A$1:$AA$400 naar een naam als FTEtable transformeren
en samen met een naam voor de verschillende kolommetjes wordt het plots leesbaar voor een leek
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Public Sub exceljson() Dim http As Object, JSON As Object, i As Integer Set http = CreateObject("MSXML2.XMLHTTP") http.Open "GET", "https://opendata.rdw.nl/resource/m9d7-ebf2.json?$where=kenteken=%22XXXXXX%22", False http.Send Set JSON = ParseJson(http.responseText) i = 2 For Each Item In JSON Sheets(1).Cells(i, 11).Value = Item("kenteken") Sheets(1).Cells(i, 12).Value = Item("merk") Sheets(1).Cells(i, 13).Value = Item("type") Sheets(1).Cells(i, 14).Value = Item("uitvoering") Sheets(1).Cells(i, 15).Value = Item("variant") Sheets(1).Cells(i, 16).Value = Item("bruto_bpm") i = i + 1 Next MsgBox ("complete") End Sub |
1 | " + ActiveSheet.Range("B2").Value + " |
quote:Op dinsdag 27 februari 2018 20:45 schreef qu63 het volgende:
Hoe kan je in een string in een macro in Excel een verwijzing naar een cel maken?
Ik heb nu:
[ code verwijderd ]
Met een kenteken ipv 'XXXXXX'
Hoe kan ik dat nu een verwijzing maken naar bijvoorbeeld B5?
Macro linkt naar dit project: https://codingislove.com/excel-json/
1 | "https://opendata.rdw.nl/resource/m9d7-ebf2.json?$where=kenteken=%22" & Range("B1").Value & "XXXXXX%22" |
Bedankt voor de toevoeging. Ik heb er nu een check op zitten op lengte. Alles anders dan 6 geeft een error. Hoef ik me ook niet druk te maken of de streepjes wel op de juiste plek staanquote:Op dinsdag 27 februari 2018 20:56 schreef snabbi het volgende:
[..]
[ code verwijderd ]
al ben ik zelf nog wel een voorstander van minimaal een aantal checks op de input (zoals staan er wel streepjes in B1). Dit om fouten in de uitvoering te voorkomen.
Dim kenteken As String
kenteken = Range("B1").Value
If InStr(kenteken, "-") = False Then End
(etc)
- edit-
gebruik geen + tekens maar & om strings aan elkaar te voegen.
vertikaal.zoeken denk ik, in ieder geval degene die de vertaling is van Vlookup:quote:
Ja super bedankt precies wat ik zocht.quote:Op zondag 4 maart 2018 17:47 schreef The_vice het volgende:
[..]
vertikaal.zoeken denk ik, in ieder geval degene die de vertaling is van Vlookup:
Dat doe je met VERT.ZOEKEN, of VLOOKUP in de Engelse versie.quote:Op zondag 25 maart 2018 22:24 schreef wiskundenoob het volgende:
Hoi ik heb een klein vraagje.
Ik wil een kolom toevoegen bij een reeds bestaande tabel in excel.
Stel ik heb tabel 1:
1 a
2 b
3 c
A hoort bij 1, b hoort bij 2 en c hoort bij 3.
En tabel 2:
1 m
2 c
3 d
M hoort bij 1, c hoort bij en d hoort bij 3.
Nu wil ik m, c en d automatisch toevoegen achter a, b en c op basis van de getallen van de eerste kolom. Dus als de getallen overeenkomen in beide tabellen dan wordt de letter achter het getal in de eerste tabel toegevoegd.
Ah dank je. En is er ook manier om achter te komen welke getallen van tabel 2 niet in tabel 1 staan?quote:Op zondag 25 maart 2018 22:29 schreef Janneke141 het volgende:
[..]
Dat doe je met VERT.ZOEKEN, of VLOOKUP in de Engelse versie.
in tabel 2 terugzoeken in tabel 1.quote:Op zondag 25 maart 2018 23:00 schreef wiskundenoob het volgende:
[..]
Ah dank je. En is er ook manier om achter te komen welke getallen van tabel 2 niet in tabel 1 staan?
1 | =if(iserror(vlookup(waardertabel2,tabel1,1,false)),"niet gevonden","gevonden") |
Nog een kolom ernaast zetten met als formule '=LENGTE(A1)', dan heb je een kolom met getalletjes waar je vervolgens je tabel op kunt sorteren.quote:Op dinsdag 17 april 2018 13:55 schreef Apotheose het volgende:
Hoi! Vraagje over Google Spreadsheets.
Ik wil graag een kolom sorteren op lengte van de inhoud van de cel. Dus kolom A heeft bijv dit:
abc
a
abcd
En dat moet dus worden:
a
abc
abcd
En als dit nou ging om een excelsheet met maar een paar gegevens, maar het gaat om 1000+ rijen. Dus handmatig doe ik het liever niet
De inhoud van het kolom dat ernaast staat moet er wel naast blijven. Ik zie wel dat je kunt sorteren op A -> Z en andersom en ik ben wel formules tegengekomen die op lengte sorteren, maar ik snap het niet
Iemand een idee?
Ja, die formule moet op alle regels komen te staan, maar dan zodanig dat A1 respectievelijk A2, A3 etc. wordt.quote:Op dinsdag 17 april 2018 15:04 schreef Apotheose het volgende:
Ok Heb kolom er naast toegevoegd en die formule er in gezet... Misschien doe ik het verkeerd of moet ik nog iets doen, maar ik krijg dit:
[ afbeelding ]
Nou kun je sorteren op die kolom waarin die het aantal tekens telt. (rechtsklik op kolomheader C, blad sorteren van A-Z ofzo, weet niet hoe dat in het engels precies genoemd wordt)quote:Op dinsdag 17 april 2018 15:25 schreef Apotheose het volgende:
thanks voor je hulp.
Ik heb dus nu de formule op elke regel gezet, maar het lijkt alsof ie het aantal tekens telt en dat weergeeft. Niet de volgorde van klein woord naar groot woord...
[ afbeelding ]
Als t goed is hoef je maar één keer in één cel de formule te veranderen, en dan kun je over het hele veld kopiëren.quote:Op vrijdag 20 april 2018 13:14 schreef Lingue het volgende:
Nee helaas. Ik heb de cellen al eens leeggehaald of op 0 gezet.
Ja klopt, maar dat helpt helaas ook niet.quote:Op vrijdag 20 april 2018 16:42 schreef Twentsche_Ros het volgende:
[..]
Als t goed is hoef je maar één keer in één cel de formule te veranderen, en dan kun je over het hele veld kopiëren.
=IF(+ISERROR(+E$3/$B$7);"";+E$3/$B7)
Let op die strings ($). Die maken dat bij copiëren de rij of kolom niet meeverandert.
Wat is dan nog het probleem?quote:Op zaterdag 21 april 2018 14:02 schreef Lingue het volgende:
[..]
Ja klopt, maar dat helpt helaas ook niet.
Maandag weer verder stoeien...
Een macro die de de formule van de cel overschrijft met de waarde van die cel? Eventueel met een hulp cel uiteraard..quote:Op woensdag 1 augustus 2018 17:48 schreef Rockefellow het volgende:
Ik maak gebruik van de HYPERLINK formule. Als ik bestanden opsla als PDF werken de links helaas niet. Adobe interpreteert alleen volledig uitgeschreven URL's vanuit Excel. Ergens wel logisch maar het zou mooi zijn als het wel zou kunnen.
Iemand hier een oplossing voor?
Wat ook werkt (als je niet de uitgeschreven URL wilt zien) dan eerst de URL uitschrijven, en vervolgens, right-click, edit hyperlink, "text to display" aanpassen naar wat je wilt.quote:Op woensdag 1 augustus 2018 17:48 schreef Rockefellow het volgende:
Ik maak gebruik van de HYPERLINK formule. Als ik bestanden opsla als PDF werken de links helaas niet. Adobe interpreteert alleen volledig uitgeschreven URL's vanuit Excel. Ergens wel logisch maar het zou mooi zijn als het wel zou kunnen.
Iemand hier een oplossing voor?
Je kan kiezen uit een aantal dingen:quote:Op woensdag 1 augustus 2018 17:48 schreef Rockefellow het volgende:
Ik maak gebruik van de HYPERLINK formule. Als ik bestanden opsla als PDF werken de links helaas niet. Adobe interpreteert alleen volledig uitgeschreven URL's vanuit Excel. Ergens wel logisch maar het zou mooi zijn als het wel zou kunnen.
Iemand hier een oplossing voor?
Wil je nog hulp met het deel , dat niet lukt.quote:Op woensdag 1 augustus 2018 23:26 schreef Rockefellow het volgende:
Bedankt voor de reacties!
Uiteindelijk is het met een macro gedeeltelijk gelukt. Als ik de PDF ontvang op bijvoorbeeld een iOS apparaat werken de links niet. Al denk ik niet dat hier een oplossing voor is vanuit Excel.
Ik heb het voor elkaar gekregen met een macro. Openen op de PC/Mac werkt verder prima. Als ik het PDF bestand via e-mail verstuur en open op een iPhone is de link niet klikbaar.quote:Op donderdag 2 augustus 2018 23:47 schreef snabbi het volgende:
[..]
Wil je nog hulp met het deel , dat niet lukt.
Op zich is een macrotje maken niet zo heel ingewikkeld als ik weet wat je exact wil.
Pdf is juist in het leven geroepen om een hard copy digitaal te vervangen. Hierdoor is het zaak dat de oorspronkelijke formules en links niet meer te gebruiken zijn.quote:Op vrijdag 3 augustus 2018 09:53 schreef Rockefellow het volgende:
[..]
Ik heb het voor elkaar gekregen met een macro. Openen op de PC/Mac werkt verder prima. Als ik het PDF bestand via e-mail verstuur en open op een iPhone is de link niet klikbaar.
Het lijkt me dat dit een PDF/iOS ding is en niet te ondervangen is vanuit Excel.
Als ik dat verkeerd zie hoor ik het natuurlijk graag.
Links worden door Adobe wel ondersteund anders zou het uberhaupt niet werken. iOS lijkt het niet te ondersteunen.quote:Op vrijdag 3 augustus 2018 10:36 schreef Twentsche_Ros het volgende:
[..]
Pdf is juist in het leven geroepen om een hard copy digitaal te vervangen. Hierdoor is het zaak dat de oorspronkelijke formules en links niet meer te gebruiken zijn.
mmm,quote:Op vrijdag 3 augustus 2018 12:51 schreef Rockefellow het volgende:
[..]
Links worden door Adobe wel ondersteund anders zou het überhaupt niet werken. iOS lijkt het niet te ondersteunen.
Ik heb dit even getest door in een sheet precies doen wat jij hebt gedaan en daarnaast een link te maken via het toevoegen van een hyperlink - zoals mijn macro doet - en ze werken allebei.quote:Op vrijdag 3 augustus 2018 21:14 schreef The_vice het volgende:
[..]
mmm,
als ik in een cel simpelweg "www.google.nl" intik. Vervolgens vanuit Excel opsla als PDF (export functie).
En dan naar een gmail account stuur, dan is de link bij openen via Iphone gewoon aan te klikken en opent Safari met google.
Lukt dit bij jou ook, als je dit op deze manier probeert?
Eindigt de link op .html/.php oid? Of is het /pad/naar/mapje ? Het kan zijn dat er nog een / achter mapje moet dan..quote:Op zaterdag 4 augustus 2018 13:09 schreef Rockefellow het volgende:
[..]
Ik heb dit even getest door in een sheet precies doen wat jij hebt gedaan en daarnaast een link te maken via het toevoegen van een hyperlink - zoals mijn macro doet - en ze werken allebei.
Mijn macro doet blijkbaar iets anders waardoor het niet werkt in bepaalde omgevingen. Heel apart. Ook als ik de door het macro gegenereerde link plak in een nieuw werkblad werkt het uiteindelijk niet op mijn iPhone. Ik dacht wellicht heeft het te maken met een instelling.
Echt heel vreemd want in Excel ziet het er allemaal hetzelfde uit, en werkt het ook zo.
Ik heb zojuist van alles geprobeerd maar dit nog niet. Even testen.quote:Op zaterdag 4 augustus 2018 13:28 schreef qu63 het volgende:
[..]
Eindigt de link op .html/.php oid? Of is het /pad/naar/mapje ? Het kan zijn dat er nog een / achter mapje moet dan..
Je hebt me wel op het juiste spoor gebracht. Er zat een spatie in de samengestelde url ( ) waardoor het niet werkte. Had ik zelf kunnen bedenken.quote:Op zaterdag 4 augustus 2018 13:28 schreef qu63 het volgende:
[..]
Eindigt de link op .html/.php oid? Of is het /pad/naar/mapje ? Het kan zijn dat er nog een / achter mapje moet dan..
en met deze code?quote:Op zaterdag 4 augustus 2018 13:09 schreef Rockefellow het volgende:
[..]
Mijn macro doet blijkbaar iets anders waardoor het niet werkt in bepaalde omgevingen. Heel apart.
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 | Sub createURL() Dim domains() As String domains = Split("nl,be,com,de,ca", ",", -1, vbTextCompare) Dim url For i = 0 To UBound(domains) url = "www.google." & domains(i) 'werkt niet With Cells(i + 1, 2) .FormulaR1C1 = url End With 'werkt niet With Cells(i + 1, 3) .Value = url .Style = "Hyperlink" 'alleen als "opmaak" End With 'deze werkt in excel en pdf als klikbaar: With Cells(i + 1, 4) .Value = url & " clickme!, " & i 'alleen de text ActiveSheet.Hyperlinks.Add Cells(i + 1, 4), "http://" & url 'met http End With Next i Dim item As Variant For Each item In ActiveSheet.Hyperlinks With item Debug.Print .Address, .Range.Column, .Range.Row End With Next item End Sub |
Toch enorm bedankt voor het meedenken.quote:Op zaterdag 4 augustus 2018 13:47 schreef The_vice het volgende:
[..]
en met deze code?
(alleen de laatste is klikbaar, rest is om te testen als je alleen de URL invult. Blijkbaar doet Excel de link aanmaken onderhuids als je op enter drukt bij handmatige invoer, en moet je iets meer doen via VBA, namelijk ook de hyperlink nog toevoegen )
[ code verwijderd ]
O, je hebt 'm al
1 | =SOM.ALS(A:A;A9;K:K) |
Twee dingen die ik me kan bedenken waar het fout gaat:quote:Op zaterdag 11 augustus 2018 16:07 schreef qu63 het volgende:
Ik snap het niet meer.
Als ik SOM.ALS() gebruik via de fx-knop laat ie netjes een resultaat zien, maar het uiteindelijke resultaat is 0?
[ code verwijderd ]
- Kolom A is gevuld met lege cellen, de tekst "Week" en weeknummers.
- A9 is een bepaald weeknummer
- Kolom K zijn gewerkte uren
Met =SOMMEN.ALS(K:K;A:A;A9) hetzelfde resultaat, 0, terwijl ook data de fx-knop het juiste resultaat laat zien .
Hmm, doordat ik mijn code in kolom A zo heb gemaakt dat er ook een ' "" ' en een ' "x" ' kan staan (naast de cijfers) gaat het fout idd.quote:Op zaterdag 11 augustus 2018 16:38 schreef snabbi het volgende:
[..]
Twee dingen die ik me kan bedenken waar het fout gaat:
- Heb je de calculatie-opties voor je velden wellicht op manueel staan ipv automatisch?
- Gebruik je wellicht geen echte getallen maar een string versie van het getal?
Deze vraag kunnen we denk ik alleen maar oplossen via trial and error.quote:Op zondag 2 december 2018 08:13 schreef Maraca het volgende:
Even een kick, want ik heb een vraagje Ik moet een overzicht maken in PowerView. Hiervoor heb ik mijn database geïmporteerd via PowerPivot (vanaf een SQL server) en kan ik deze gebruiken. Echter, als een filter (slicer) wil maken staat er in mijn handboek dat deze automatisch gekoppeld is aan de tabel. Dus als ik filter op boekjaar 2014, dan past mijn tabel zich ook aan. Heel handig, ware het niet dat als ik op 2014 klik de tabel er niet op reageert. Mis ik iets?
Maak gebruik van Excel 2013 in het Nederlands
Heb het al gevonden Moest in PowerPivot de tabel nog aanmerken als slicerquote:Op zondag 2 december 2018 10:41 schreef snabbi het volgende:
[..]
Deze vraag kunnen we denk ik alleen maar oplossen via trial and error.
Je hebt het over een "tabel". Ik neem aan dat je de PivotTable bedoelt, die je hebt aangemaakt vanuit de PowerPivot omgeving? In jouw omschrijving heb je het namelijk direct over een Slicer, maar volgens mij kan je een Slicer alleen aanmaken over de PivotTable.
Ik vermoed dat je meerdere PivotTables hebt aangemaakt en dat je Slicer is gelinked aan een andere PivotTable dan jij verwacht. Als je de Slicer actief maakt (aanklikt) dan kan je via de Ribbon Options (in ieder geval de meest rechtse ribbon) via Report Connections zien aan welke tabellen je Slicer gekoppeld is.
Als er inderdaad meerdere tabellen zijn, dan zal je ook zien dat je de koppeling van de Slicer kan uitbreiden naar de andere tabellen dmv een vinkje. Mocht dit het probleem zijn, dan zie je dit ook direct na klikken van de aanpassing opgelost worden.
Mocht bovenstaande niet de oplossing zijn, kan je dan iets meer vertellen over het filteren wat je precies doet. Er zijn namelijk veel manieren waarop je kan filteren.
AANTALARGquote:Op woensdag 5 december 2018 10:50 schreef dimmak het volgende:
Ik maak gebruik van Google Sheets, maar dat is vaak wel hetzelfde.
Ik vul cellen in met de letters A tot M, maar soms laat ik een cel leeg. Nu wil ik tellen in hoeveel cellen een letter staat. Hoe doe ik dit?
Ja daar zit ik dus mee te steggelen.quote:Op woensdag 5 december 2018 10:57 schreef Rectum het volgende:
[..]
AANTALARG
https://support.google.com/docs/answer/3093991?hl=nl
1 | =COUNTA(Scoreblad!B2;Scoreblad!B1000) |
1 | =COUNTA(Scoreblad!B2:Scoreblad!B1000) |
Probeer eens:quote:Op woensdag 5 december 2018 11:08 schreef dimmak het volgende:
[..]
Ja daar zit ik dus mee te steggelen.
[ code verwijderd ]
Dit is dus mijn formule, maar de uitkomst klopt niet.
Ook
[ code verwijderd ]
Hoe hij volgens mij hoort werkt niet, dan plaatst hij zelf haakjes in de formule.
1 | =COUNTA(Scoreblad!B2:B1000) |
Works like a charm, thanks!quote:
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.
quote:Op maandag 7 januari 2019 09:24 schreef kovenant het volgende:
voor de Excel kenners een vraag, ik kom er zelf niet uit...
ik heb een groot document welke ik wil gaan filteren om de nuttige informatie weer te geven.
nu is er een kolom "L" en in deze kolom staat er regelmatig een "X"
nu zoek ik een manier om de X op te zoeken, de regel te gebruiken om daar een 3 letter combinatie te zoeken en van daaruit naar de volgende "X" in kolom "L"
ik kan helaas geen andere zoek functie gebruiken aangezien de rest handmatige input is en alleen de kolom L een constante is.
zou dan uitkomen op "ABC" is 3x gevondenDe oplossing zit vermoedelijk in een draaitabel. Om een draaitabel te maken, moet je zorgen dat elke kolom een unieke naam heeft.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.
Vervolgens introduceer je een hulpkolom. In de hulpkolom plaats je een formule als =LINKS(B2;3) ofwel =LEFT(B2;3). Kopieer die functie voor elke regel ongeacht of er een X staat of niet.
Via het menu INVOEGEN, kies je voor draaitabel maken (eerste knopje) ofwel INSERT en dan PIVOT table.
In de pivot table sleep je de kolom L naar de rapportage filter en de hulp kolom zet je zowel op de verticale as alswel op de waarde. Je kan de kolom :L filteren op je X en vervolgens verschijnt er op de verticale as alle 3 letter combinaties uit je lijst met het aantal keer dat ze voorkomen.
dit zou betekenen dat ik heel veel handelingen moet verrichten voor ik de resultaten kan krijgen.quote:Op maandag 7 januari 2019 20:50 schreef snabbi het volgende:
[..]
De oplossing zit vermoedelijk in een draaitabel. Om een draaitabel te maken, moet je zorgen dat elke kolom een unieke naam heeft.
Vervolgens introduceer je een hulpkolom. In de hulpkolom plaats je een formule als =LINKS(B2;3) ofwel =LEFT(B2;3). Kopieer die functie voor elke regel ongeacht of er een X staat of niet.
Via het menu INVOEGEN, kies je voor draaitabel maken (eerste knopje) ofwel INSERT en dan PIVOT table.
In de pivot table sleep je de kolom L naar de rapportage filter en de hulp kolom zet je zowel op de verticale as alswel op de waarde. Je kan de kolom :L filteren op je X en vervolgens verschijnt er op de verticale as alle 3 letter combinaties uit je lijst met het aantal keer dat ze voorkomen.
[ afbeelding ]
1 2 3 4 5 6 7 8 9 10 11 | A B C D E F G H I J 0 1 0 0 0 1 1 0 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 1 1 0 1 1 0 1 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 1 0 1 1 0 0 0 1 0 1 1 0 1 0 0 0 1 1 0 1 0 |
quote:Op maandag 7 januari 2019 09:24 schreef kovenant het volgende:
voor de Excel kenners een vraag, ik kom er zelf niet uit...
ik heb een groot document welke ik wil gaan filteren om de nuttige informatie weer te geven.
nu is er een kolom "L" en in deze kolom staat er regelmatig een "X"
nu zoek ik een manier om de X op te zoeken, de regel te gebruiken om daar een 3 letter combinatie te zoeken en van daaruit naar de volgende "X" in kolom "L"
ik kan helaas geen andere zoek functie gebruiken aangezien de rest handmatige input is en alleen de kolom L een constante is.
zou dan uitkomen op "ABC" is 3x gevondenZijn die x'en en abc'en de gehele celinhoud, of kan dat ook een gedeelte zijn?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)
Ik doe dit even ongetest, maar volgens mij zou het volgende moeten werken:quote:Op dinsdag 8 januari 2019 17:24 schreef Z het volgende:
Ik heb een matrix. Hieronder een voorbeeld van de eerste 10 regels (exclusief de kop).
[ code verwijderd ]
Het zijn selectiecriteria. Een ‘0’ is ‘niet’ en een ‘1’ is ‘wel’. Als je aan een regel voldoet, behoor je tot een bepaalde groep. Met alle regels (10x100) kwalificeer je je voor dezelfde groep. Maar er zit overlap in. De eerste twee regels bijvoorbeeld, verschillen bij kolom F. Bij de eerste regel moet je wel F hebben, bij de tweede juist niet, verder zijn de regels hetzelfde. Overlap betekent dat er 1 regel overbodig is (de tweede in dit geval) en dat ik bij de eerste regel kolom F weg laat (dat wordt dus een 9-kolomsregel). In totaal heb ik iets van 15.000 regels (verspreid over verschillende groepen). Hoe zou ik alle overlappende regels kunnen isoleren en zo het aantal regels kunnen optimaliseren?
Zover was ik ook. Maar het is ook mogelijk met 2, 3, 4 en 5 verschillen. Die haal je er zo niet uit.quote:Op dinsdag 8 januari 2019 18:41 schreef Janneke141 het volgende:
Het volgende werkt wel:
Sorteer de hele rits oplopend.
In de kolommen K t/m T reken je telkens de absolute verschillen uit met de rij erboven.
Sommeer de verschillen.
Als daar 1 uit komt, dan is die rij overbodig ten opzichte van de rij erboven.
Maak hem recursiefquote:Op dinsdag 8 januari 2019 19:30 schreef Z het volgende:
[..]
Zover was ik ook. Maar het is ook mogelijk met 2, 3, 4 en 5 verschillen. Die haal je er zo niet uit.
Kan je de vraag iets concreter stellen? Blijkbaar weet je al dat verticaal zoeken bestaat. dus waar loop je precies vast?quote:Op vrijdag 25 januari 2019 13:44 schreef gekkie000000 het volgende:
Hallo beste excel specialisten,
Is er iemand bereid om mij te helpen met het maken van een formule om verticaal te zoeken en gegevens in kolommen samen te voegen uit 2 tabbladen? Wie o wie zou mij op weg kunnen helpen?
O ja. Het moeten $ zijn ipv #.quote:Op vrijdag 25 januari 2019 16:16 schreef gekkie000000 het volgende:
Dan krijg ik de melding:
Er is een probleem gevonden met deze formule.
Voel me echt dom
=Vert.zoeken(blad1!a1;Blad2!$E:$H;4;onwaar)quote:Op vrijdag 25 januari 2019 15:40 schreef gekkie000000 het volgende:
Oke, wat doe ik fout?
=VERT.ZOEKEN(Blad1!B2;Blad2!E2:H1139;4;ONWAAR)
Blad 1 B1 is de kolom van het debiteurennummer;
Blad2!E2:H1139
E2 is begincel debiteurennummer op blad 2
H1139 is de laatste cel van het prijsniveau
4 kolommen
Ik krijg #N/B
F4.quote:Op vrijdag 25 januari 2019 16:31 schreef Twentsche_Ros het volgende:
[..]
=Vert.zoeken(blad1!a1;Blad2!$E:$H;4;onwaar)
Je moet er al vast rekening mee houden dat rij 1139 niet de ondergrens blijft.
(uitbreiding van de database)
Dan kun je de gehele kolommen selecteren zonder de begrenzingen van de rijen.
De Strings ($, dollartekens) zou je dan eventueel weg kunnen laten, maar door de macht der gewoonte (F3) doe ik dat dan toch.
Ik neem aan dat je de formule (in cel b1?) copieert naar regel 2 t/m regel 18.
Je hebt dan in Blad1 een kolom B gecreëerd met daarbij het corresponderende debiteurnummer dat via een database in Blad2 zit.
Zo moet het volgens mij werken.
Mooi geholpenquote:Op vrijdag 25 januari 2019 16:31 schreef Twentsche_Ros het volgende:
[..]
=Vert.zoeken(blad1!a1;Blad2!$E:$H;4;onwaar)
...
Ja, maak eerst een overzicht/draaitabel per maand en daarmee een kolom om het verloop (deze maand = vorige maand+geopende-gesloten)quote:Op woensdag 6 februari 2019 11:20 schreef Piles het volgende:
Ik heb een export van open en gesloten meldingen van afgelopen jaar (met daarbij allerlei informatie), maar daar wil ik wat leuke trends/grafieken bij maken.
Dus bijvoorbeeld per maand de openstaande calls, gesloten calls e.d. Maar ik heb dus alleen een kolom met "Datum geopend" en "Datum gesloten". Heb ik dan voldoende gegevens?
Ja, Maar dan moet je een paar hulpkolommen toe voegen om op te kunnen tellen etc. Het meest handig voor overzichten is daarna het gebruik van pivot tables/charts (draaitabellen/grafieken in de nl versie.quote:Op woensdag 6 februari 2019 11:20 schreef Piles het volgende:
Ik heb een export van open en gesloten meldingen van afgelopen jaar (met daarbij allerlei informatie), maar daar wil ik wat leuke trends/grafieken bij maken.
Dus bijvoorbeeld per maand de openstaande calls, gesloten calls e.d. Maar ik heb dus alleen een kolom met "Datum geopend" en "Datum gesloten". Heb ik dan voldoende gegevens?
1 2 3 4 | kolGeopend kolGesloten 05-12-2018 25-12-2018 01-04-2018 01-08-2018 11-09-2018 |
De vraag lijkt heel simpel, maar eigenlijk moet je specifieker maken wat je precies wil. Om je een voorbeeld te geven van wat heel moeilijk is voor ons om te begrijpen.quote:Op woensdag 6 februari 2019 11:20 schreef Piles het volgende:
Ik heb een export van open en gesloten meldingen van afgelopen jaar (met daarbij allerlei informatie), maar daar wil ik wat leuke trends/grafieken bij maken.
Dus bijvoorbeeld per maand de openstaande calls, gesloten calls e.d. Maar ik heb dus alleen een kolom met "Datum geopend" en "Datum gesloten". Heb ik dan voldoende gegevens?
quote:
quote:
Precies, dat is 1 van m'n vragen: deze call is open in januari en februari.quote:Op woensdag 6 februari 2019 20:34 schreef snabbi het volgende:
De vraag lijkt heel simpel, maar eigenlijk moet je specifieker maken wat je precies wil. Om je een voorbeeld te geven van wat heel moeilijk is voor ons om te begrijpen.
Stel een call wordt op 5 januari geopend en op 3 maart gesloten. Als je per maand gaat rapporteren, in welke maanden is het dan een openstaande call?
Open calls hebben geen waarde in de sluitkolom. Maar er is ook een extra kolom met status (Open/gesloten).quote:Geef ook wat details over of bijvoorbeeld elke geopende call ook een waarde heeft in de sluitkolom (ofwel bijvoorbeeld dat dit ook een leeg veld kan zijn).
1 2 3 4 | kolGeopend kolGesloten 05-01-2018 25-05-2018 01-04-2018 01-08-2018 11-03-2018 |
Fundament van je vraag is dat een call die over bijv 3 maanden heen loopt, ook 3 keer ergens terug moet komen. Lijkt me lastig met formules, of in één stap met een pivot tabel.quote:Op donderdag 7 februari 2019 10:14 schreef Piles het volgende:
.....
[..]
Precies, dat is 1 van m'n vragen: deze call is open in januari en februari.
[..]
.....
Ik zie een lijngrafiek voor me met op de horizontale as de datums en op de verticale as het aantal openstaande calls. Maar dat wordt dus lastig met de gegevensset die ik heb...quote:Op donderdag 7 februari 2019 15:30 schreef The_vice het volgende:
[..]
Fundament van je vraag is dat een call die over bijv 3 maanden heen loopt, ook 3 keer ergens terug moet komen. Lijkt me lastig met formules, of in één stap met een pivot tabel.
..quote:Op donderdag 7 februari 2019 16:16 schreef Piles het volgende:
[..]
Maar dat is dus niet iets wat ik zo even in elkaar klik
VBA is basis, ik zou een heel eind komen. Misschien als ik een keer avondje over heb wat aan prutsen.quote:Op donderdag 7 februari 2019 16:38 schreef The_vice het volgende:
[..]
..
Maar ook weer niet zo heel moeilijk. Hoe is je algemeen VBA?
1 2 3 4 | Datum Aantal calls 1-1-2018 =AANTALLEN.ALS(bron!$L:$L;"<="&$A2;bron!$X:$X;">="&$A2) 2-1-2018 enz |
Naar mijn mening ga je het met VBA niet beter krijgen. Je ga je bijvoorbeeld met een for each tellen, maar met een kleine aanpassing in de layout van de sheet kost het extra veel tijd om het weer te repareren.quote:Op donderdag 7 februari 2019 16:45 schreef Piles het volgende:
[..]
VBA is basis, ik zou een heel eind komen. Misschien als ik een keer avondje over heb wat aan prutsen.
Voor nu is het eenmalig en heb ik het als volgt op gelost:
[ code verwijderd ]
Waarbij L is de Datum geopend en X is datum gesloten (of vandaag als nog niet gesloten).
Duurt even om door te rekenen, maar ik heb een mooie grafiek nu
Cel c2quote:Op donderdag 7 februari 2019 10:14 schreef Piles het volgende:
Mijn vraag was inderdaad een beetje vaag. Kom ik over als Excel-beginner, wat ik heus niet ben
Ik zat vooral met het datamodel, waar ik niet helemaal uit kwam.
[..]
[..]
[..]
Precies, dat is 1 van m'n vragen: deze call is open in januari en februari.
[..]
Open calls hebben geen waarde in de sluitkolom. Maar er is ook een extra kolom met status (Open/gesloten).
Ik wil graag het verloop van open calls van 2018 laten zien. Data ziet er idd als volgt uit:
[ code verwijderd ]
Januari: 1 open call
Februari: 1 open call
Maart: 2 open calls
April: 3 open calls
Mei: 2 open calls
Augustus en verder: 1 open call
? veel tijd bij layout sheet.quote:Op donderdag 7 februari 2019 21:14 schreef snabbi het volgende:
[..]
Naar mijn mening ga je het met VBA niet beter krijgen. Je ga je bijvoorbeeld met een for each tellen, maar met een kleine aanpassing in de layout van de sheet kost het extra veel tijd om het weer te repareren.
Als het je om performance gaat, dan kan je beter Power Query gebruiken.
Het meeste wat ik voorbij zie komen zijn niet de nette vba scripts, de excel wordt niet meer gebruikt door de ontwerper etc.quote:Op vrijdag 8 februari 2019 20:02 schreef The_vice het volgende:
[..]
? veel tijd bij layout sheet.
Kwestie van het in een named range of listobject (tabel) houden. Dan is toevoegen van data gecovered. En als je het niet op kolomnaam afvangt in een range of listobject, dan hoef je slechts het referentie nummer van een kolom bij te werken.
En in een data invoer sheet voor deze vraag hoef je toch niets meer dan de open en close datum te gebruiken. Dus kan me geen layout aanpassing voorstellen, anders dan mensen die excel als een veredeld DTP pakket misbruiken...
Maar terzijde, vooralsnog ben ik niet zo gelukkig geworden van wat ik gezien heb van Power Query. Dus ben wel benieuwd hoe je dat aanvliegt in deze situatie.
En Access is compleet iets anders dan Excel waar dit topic over gaatquote:
Zou hier inderdaad even apart topic voor openen, @racerdkbquote:Op donderdag 14 maart 2019 09:27 schreef Scarlet_Dragonfly het volgende:
[..]
En Access is compleet iets anders dan Excel waar dit topic over gaat
Snap ik Dus post gerust een linkje in dit topicquote:Op donderdag 14 maart 2019 09:51 schreef racerdkb het volgende:
I.v.m. de overlap tussen alle Office-producten en om topicvervuiling tegen te gaan dacht ik het hier maar gewoon te vragen Zo veel experts hier.
Maar ik zal er een aparte voor maken.
iets meer context? je wilt dubbele waardes verwijderen?quote:Op donderdag 14 maart 2019 10:33 schreef mrPanerai het volgende:
Ik heb 2 tabladen met op elk een hele hoop getallen, hoe kan ik de verschillen eruit halen?
Ik haal uit een programma een 20tal kolommen met daaronder zo'n 40lijnen. Elke cel heeft er dan een getal in staan, bovenaan elke kolom krijg ik automatisch ook een omschrijving mee van welke waarde in die kolom bedoeld wordt.quote:Op donderdag 14 maart 2019 10:48 schreef racerdkb het volgende:
[..]
iets meer context? je wilt dubbele waardes verwijderen?
Ja, door =NU() te gebruiken, afhankelijk wat er precies moet gebeuren uiteraard.quote:Op vrijdag 15 maart 2019 12:33 schreef mrPanerai het volgende:
Kan ik een cel conditional formatten met de computertijd?
Ik heb nu begrip van de opbouw van een sheet en ik snap een aantal beperkingen. Wat wil je eigenlijk bereiken? Ik zag iets met 2 tabbladen. Stel je wil op tabblad 3 de samenvoeging van tabblad 1 en 2 maken (optellen of juist aftrekken etc).quote:Op vrijdag 15 maart 2019 07:08 schreef mrPanerai het volgende:
[..]
Ik haal uit een programma een 20tal kolommen met daaronder zo'n 40lijnen. Elke cel heeft er dan een getal in staan, bovenaan elke kolom krijg ik automatisch ook een omschrijving mee van welke waarde in die kolom bedoeld wordt.
Hetzelfde voor de rijen. Kolom a geeft dan aan dat er 6 stuks van product 1 werd genomen door medewerker a (rij 1) enz.
Helaas geeft dit programma niet aan wanneer een bepaalde medewerkers er niet zijn of een product niet werd verwerkt. Dan mist er een kolom of rij. Conditional formatting werkt niet,omdat et niet evenveel cellen zijn daardoor
1 | =INDEX(Blad1!$A$1:$E$12;VERGELIJKEN($A2;Blad1!$A$1:$A$12;0);VERGELIJKEN(C$1;Blad1!$A$1:$E$1;0))+INDEX(Blad2!$A$1:$E$12;VERGELIJKEN($A2;Blad2!$A$1:$A$12;0);VERGELIJKEN(C$1;Blad2!$A$1:$E$1;0)) |
Conditional Formattingquote:Op vrijdag 15 maart 2019 12:33 schreef mrPanerai het volgende:
Kan ik een cel conditional formatten met de computertijd?
Kies 'een formule gebruiken' en dan =ISLEEG gebruiken?quote:Op maandag 15 april 2019 16:25 schreef Zocalo het volgende:
Ik wil een conditioneel format toepassen op een draaitabel, maar kom er niet echt uit.
Stel even dat de kolommen er zo uit zien:
[ afbeelding ]
Wat ik wil is dat de cel waar niks links van staat een voorwaardelijke opmaak krijgt. Dus in dit geval B3, E1 en E4.
control f en dan alles vervangen x naar 1 niet een gemakkelijke oplossing?quote:Op woensdag 17 april 2019 13:47 schreef MrNiles het volgende:
Ik wil iets van een countif doen, maar countif laat alleen een cellenreeks selecteren, en niet losse cellen.
Wat ik heb is een lijst in kolomA.
Ik krijg van een aantal mensen dezelfde lijst ingevuld terug.
Je kan per item van de lijst , 3 opties kiezen: keuze A, keuze B of keuze C.
De meeste mensen vullen een "x" in als keuze.
Hoe kan ik nu per item tellen hoeveel keuze A, B of C er zijn?
Ik heb nu van alle "x"-en maar een 1 gemaakt, en die eenmalig met de hand op geteld, en deze formule gekopieerd, niet ideaal, bijvoorbeeld als er mensen bij komen.
Hoe kan ik dit slimmer aanpakken.
Zie hieronder, een soort van weergave van mij excel
Lijst_______keuze A__keuze B__Keuze C_A_B_C_A_B_C
nummer1 __aantalA?__________________x________x
nummer2
nummer3
Ik begrijp de opzet van je tabel niet zo.quote:Op woensdag 17 april 2019 13:47 schreef MrNiles het volgende:
Ik wil iets van een countif doen, maar countif laat alleen een cellenreeks selecteren, en niet losse cellen.
Wat ik heb is een lijst in kolomA.
Ik krijg van een aantal mensen dezelfde lijst ingevuld terug.
Je kan per item van de lijst , 3 opties kiezen: keuze A, keuze B of keuze C.
De meeste mensen vullen een "x" in als keuze.
Hoe kan ik nu per item tellen hoeveel keuze A, B of C er zijn?
Ik heb nu van alle "x"-en maar een 1 gemaakt, en die eenmalig met de hand op geteld, en deze formule gekopieerd, niet ideaal, bijvoorbeeld als er mensen bij komen.
Hoe kan ik dit slimmer aanpakken.
Zie hieronder, een soort van weergave van mij excel
Lijst_______keuze A__keuze B__Keuze C_A_B_C_A_B_C
nummer1 __aantalA?__________________x________x
nummer2
nummer3
bedankt, werkt perfect. Precies wat ik zocht!quote:Op vrijdag 19 april 2019 10:23 schreef snabbi het volgende:
[..]
Ik begrijp de opzet van je tabel niet zo.
Je eindigt je tabel met meerdere keren A B C, dus ik neem aan dat dit een behoorlijk aantal keer naar rechts toe doorloopt en dat elk persoon alleen zijn eigen 3 ABCtjes mag invullen?
Onder "Keuze A" moet een formule komen die het aantal keren dat er iets is ingevuld onder de kolom die begint met een A.
In dit geval, gebruik de formule COUNTIFS
De formule countifS met de S erbij is in staat om meerdere argumenten te accepteren. In jouw geval is dit bijvoorbeeld:
COUNTIFS($E$1:$AN$1,B$1,$E2:$AN2,"<>")
[let op omdat je de engelse variant hebt genomen, heb ik de , als scheidingsteken gebruikt, misschien heb je een ; nodig]
Uitleg
De eerste voorwaarde om te tellen is het deel $E$1:$AN$1,B$1
In de eerste regel staat de header van de keuze. Dus dat is dan een A, B of C. In cel E1 staat dan de A, in F1 de B etc. Ik heb het hier voor de vorm laten doorlopen tot AN1.
Wanneer de header gelijk is aan de waarde in B1, In dit geval dus aan "A", vormt dat de eerste voorwaarde voor het tellen. Je mag de formule natuurlijk ook aanpassen naar COUNTIFS($E$1:$AN$1,"A",$E2:$AN2,"<>")
Het tweede deel staat de voorwaarde $E2:$AN2,"<>"
Het eerste antwoord, dus je nummer1, staat in de tweede regel. In dit geval wil je dus zien dat de gebruiker iets heeft ingevuld in bijvoorbeeld E2. De vergelijking dat iets niet leeg is, dus een x-je of een 1-tje kan je bereiken met de "<>". Dit wordt in programmeren vaak gebruikt als "is ongelijk aan" en in dit geval dus is ongelijk aan niets. Nu werkt je formule zowel als iemand een letter of getal invult.
De combinatie van de twee voorwaarden is:
Tel alleen wanneer de letter in de eerste regel van de kolom gelijk is aan A, en wanneer in de tweede regel ook nog iets geschreven is.
Ik vond ook dat het sneller moet kunnen, en een snelle google-zoektocht brengt me hier uit:quote:Op woensdag 1 mei 2019 16:26 schreef bankrupcy het volgende:
Ik ben op zoek naar een eenvoudige manier om in Excel de getallen 1..100 willekeurig in een kolom [A1..A100] te plaatsen. Elk getal mag slechts 1 keer gebruikt worden.
Is er een betere manier dan willekeurige getallen te genereren en te kijken of deze al gebruikt zijn.
Een snellere manier is om bij te houden welke getallen al gebruikt zijn en uit deze getallen het volgende getal te kiezen, maar dit vereist wat programmeerwerk, waar ik eigenlijk onderuit probeer te komen.
Vul de kolom a1:a100 in elke cel "=rand()"quote:Op woensdag 1 mei 2019 16:26 schreef bankrupcy het volgende:
Ik ben op zoek naar een eenvoudige manier om in Excel de getallen 1..100 willekeurig in een kolom [A1..A100] te plaatsen. Elk getal mag slechts 1 keer gebruikt worden.
Is er een betere manier dan willekeurige getallen te genereren en te kijken of deze al gebruikt zijn.
Een snellere manier is om bij te houden welke getallen al gebruikt zijn en uit deze getallen het volgende getal te kiezen, maar dit vereist wat programmeerwerk, waar ik eigenlijk onderuit probeer te komen.
Goh, weer wat geleerd.quote:Op woensdag 1 mei 2019 20:55 schreef Janneke141 het volgende:
Je kunt ook 100 cellen met =ASELECT() maken en in de kolom ernaast de functie RANG gebruiken. Dan krijg je ook met iedere F9 een nieuwe rij 1 t/m 100 in willekeurige volgorde.
kolom selecteren.quote:
Volgens mij is dit wat je zoekt: https://exceljet.net/formula/sum-if-cells-contain-specific-textquote:Op dinsdag 18 juni 2019 15:54 schreef Hojdhopper het volgende:
Schopje met een vraag om hulp. Gaat om Engelstalige Excelversie.
In kolom A staan referentienamen van marketingcampagnes;
fi-2019-05-p-kielohotel
pl-2019-05-b-childrensday
mx-2019-06-p-fathersday
mx-2019-06-p-masnaranjaquenunca
etc.
In kolom B moeten de salesaantallen worden weergeven. Deze aantallen haal ik uit Google Analytics --> CSV export --> Power Query --> Excel tab. Van daar uit dacht ik dan een VLOOKUPje te doen.
Echter, deze campagnes worden getracked via namen die nog een aantal andere parameters o.a. taal, desktop/mobile, etc. Dus eigenlijk staan er in de .csv meerdere versies van één campagne, bijvoorbeeld:
mx-2019-06-p-fathersday-desktop-es
mx-2019-06-p-fathersday-desktop-en
mx-2019-06-p-fathersday-mobile-es
mx-2019-06-p-fathersday-mobile-en
De aantallen van deze versies moeten opgesomd worden en achter de campagnereferentie gezet worden. Ik heb met VLOOKUP lopen kloten (exact match vs approximate match). Uiteraard lukt het met exact match niet want het is niet exact, maar met approximate match geeft ie steeds het aantal terug wat één regel boven de versiecampagne wordt getoond.
Ik heb een vermoeden dat het middels een VLOOKUP en SUMPRODUCT (?) functie moet lukken, maar die alleen de waarden meeneemt die de "basis" van de campagnereferentie, dus zonder overige parameters, vormen.
Iemand een idee?
En als het altijd "LANDCODE-JAAR-MAAND-??-" is kan je met "=FIND("-",A1,FIND("-",A1)+3)" de positie van de 4e "-" vinden en vanaf daar de string wegknippen om de campagnenaam te achterhalen en die in de formule hierboven plakken.quote:Op dinsdag 18 juni 2019 15:54 schreef Hojdhopper het volgende:
Schopje met een vraag om hulp. Gaat om Engelstalige Excelversie.
In kolom A staan referentienamen van marketingcampagnes;
fi-2019-05-p-kielohotel
pl-2019-05-b-childrensday
mx-2019-06-p-fathersday
mx-2019-06-p-masnaranjaquenunca
etc.
In kolom B moeten de salesaantallen worden weergeven. Deze aantallen haal ik uit Google Analytics --> CSV export --> Power Query --> Excel tab. Van daar uit dacht ik dan een VLOOKUPje te doen.
Echter, deze campagnes worden getracked via namen die nog een aantal andere parameters o.a. taal, desktop/mobile, etc. Dus eigenlijk staan er in de .csv meerdere versies van één campagne, bijvoorbeeld:
mx-2019-06-p-fathersday-desktop-es
mx-2019-06-p-fathersday-desktop-en
mx-2019-06-p-fathersday-mobile-es
mx-2019-06-p-fathersday-mobile-en
De aantallen van deze versies moeten opgesomd worden en achter de campagnereferentie gezet worden. Ik heb met VLOOKUP lopen kloten (exact match vs approximate match). Uiteraard lukt het met exact match niet want het is niet exact, maar met approximate match geeft ie steeds het aantal terug wat één regel boven de versiecampagne wordt getoond.
Ik heb een vermoeden dat het middels een VLOOKUP en SUMPRODUCT (?) functie moet lukken, maar die alleen de waarden meeneemt die de "basis" van de campagnereferentie, dus zonder overige parameters, vormen.
Iemand een idee?
quote:Op dinsdag 18 juni 2019 18:23 schreef qu63 het volgende:
[..]
Volgens mij is dit wat je zoekt: https://exceljet.net/formula/sum-if-cells-contain-specific-text
(en dan in plaats van "*t-shirt*" doe je "*"&A1&"*") waarbij A1 'fathersday' bevat, of ipv A1 een formule die uiteindelijk 'fathersday' terug geeft)
Yessss, dit heeft geholpen. Geweldig, bedankt!quote:Op dinsdag 18 juni 2019 18:26 schreef qu63 het volgende:
[..]
En als het altijd "LANDCODE-JAAR-MAAND-??-" is kan je met "=FIND("-",A1,FIND("-",A1)+3)" de positie van de 4e "-" vinden en vanaf daar de string wegknippen om de campagnenaam te achterhalen en die in de formule hierboven plakken.
Daar kun je ongetwijfeld een macro voor maken, maar ik sluit niet uit dat je sneller bent als je dit handmatig doet.quote:Op zaterdag 29 juni 2019 21:28 schreef wiskundenoob het volgende:
Hoe kan ik makkelijk de rijen met gegevens in 1 sheet verdelen over meerdere sheets?
In sheet 1 heb ik 50.000 rijen met gegevens. Ik wil deze rijen verdelen over 50 sheets met elk 1.000 rijen. Uiteindelijk wil ik dus in sheet rij 1 tot en met 1000, sheet 2 rij 1001 tot en met 2001 enzovoort.
Vraagje, wat is het doel hiervan?quote:Op zaterdag 29 juni 2019 21:28 schreef wiskundenoob het volgende:
Hoe kan ik makkelijk de rijen met gegevens in 1 sheet verdelen over meerdere sheets?
In sheet 1 heb ik 50.000 rijen met gegevens. Ik wil deze rijen verdelen over 50 sheets met elk 1.000 rijen. Uiteindelijk wil ik dus in sheet rij 1 tot en met 1000, sheet 2 rij 1001 tot en met 2001 enzovoort.
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 50 51 52 53 | Sub splitsheets() Dim dataSheet As Worksheet Set dataSheet = Sheets("Sheet1") Dim WS As Worksheet Dim i As Long Dim stepRows As Long Dim maxheets As Long stepRows = 10 'pas nummer aan maxsheets = 4 'pas nummer aan Dim shtName As String Dim CopyRows As String 'er van uitgaande dat alles op Sheet1 staat, en er geen andere sheets zijn. 'knikker reeds aangemaakte sheets weg VBA_Delete_Sheet For i = 1 To maxsheets Set WS = Sheets.Add(After:=Sheets(Worksheets.Count)) shtName = "s" & customFormat(CStr(i)) WS.Name = shtName CopyRows = 1 + (i - 1) * stepRows & ":" & (i) * stepRows dataSheet.Activate Rows(CopyRows).Select Selection.Copy Sheets(shtName).Select Range("A1").Select ActiveSheet.Paste Range("A1").Select dataSheet.Activate Debug.Print WS.Name, CopyRows Set WS = Nothing Next Application.CutCopyMode = False Range("A1").Select End Sub Public Function customFormat(ByRef sString As String) As String customFormat = Right("00" & sString, 2 + Len(sString) - Len(CStr(Val(sString)))) End Function 'delete sheets before inserting new with same name Sub VBA_Delete_Sheet() For Each Sheet In ActiveWorkbook.Worksheets If Not (Sheet.Name = "Sheet1") Then 'no warnings Application.DisplayAlerts = False Sheet.Delete Application.DisplayAlerts = True End If Next Sheet End Sub |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |