abonnement Unibet Coolblue Bitvavo
pi_196223530




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

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

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

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

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

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

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

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

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

SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Bij macro's die een bepaalde, merkbare, tijd nodig hebben om hun werk te doen is het van belang de gebruiker een idee te geven van wat er gebeurt, zeker met macro-optimalisatie aan kan het lijken alsof Excel is vastgelopen. Je kan bijvoorbeeld de statusbar een waarde geven, met eventueel een percentage van de reeds uitgevoerde code.

SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Password kwijt?
Soms heb je een worksheeet beveiligd met een password maar ben je die kwijt. Gelukkig is dat geen groot probleem want de interne beveiliging van Excel stelt niet heel veel voor.
Hier vind je meer info en een downloadbare macro die alle interne passwords verwijdert.

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


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

Verder
Alle vorige topics zijn hier terug te vinden.

Nieuw topic? Haal de OP uit de wiki

[ Bericht 0% gewijzigd door Tegan op 13-11-2020 15:55:44 ]
pi_196224264
quote:
0s.gif Op donderdag 22 oktober 2020 21:16 schreef kalinhos het volgende:

[..]

Ik wil dat als ik de data uit mn database haal (met oracle sql) en ze in de excel template plak, dattie in (bijvoorbeeld) kolom C alleen de waarden 1,2,3 en 4 kan weergeven in de 20k rijen. Ik wil dus eigenlijk dattie een waarschuwing geeft, of rood wordt ofzo, als ik vanuit mn data een waarde in de template plak die daar niet zou mogen horen.
Ik denk dat (als je de brondata ongemoeid wilt laten) je dit ook wel via Power Query voor elkaar kan krijgen. Je laat via de query dan je sheet vullen met de gewenste data, rechtstreeks vanuit de database of via een dump bestand waar je de query in laat kijken. Je kunt dan een rule op de betreffende kolom zetten dat hij de cel leeg laat of bijv. met null of een bepaalde tekst invult als de waarde niet overeenkomt met 1, 2, 3 of 4.
pi_196272959
quote:
1s.gif Op vrijdag 13 november 2020 15:43 schreef Tegan het volgende:

[..]

Voorwaardelijke opmaak met de formule AANTAL.ALS() ?
Ik zat moeilijk te denken, voorwaardelijke opmaak op dubbele waarden werkt makkelijker :@ .
pi_196518106
Ik heb een tekst in 1 cel die luidt:

" Aa_bbb_1122020_prod_to_test_AB150 Notification: x83"

Dit is een onderwerp van een mail die ik vanaf Outlook kopieer naar een Excel
Via SPATIES.WISSEN, DEEL en/of VIND.SPEC kan ik zo in een aantal kolommen daarachter de nodige data halen. Ik kan AB150 eruit filteren, ik kan x83 eruit filteren en ik kan 01122020 eruit filteren

Het probleem is dat die dan 01122020 niet ziet als datum. Wat moet ik doen om dat wel voor elkaar te krijgen?

Ik wil dit namelijk met een andere datum vergelijken en die cellen/kolom herkent excel wel als datum.
Het is...kiezen of delen, spelen winnen verliezen of vervelen en helemaal niets ondernemen
  woensdag 2 december 2020 @ 16:34:31 #5
346939 Janneke141
Green, green grass of home
pi_196518159
quote:
0s.gif Op woensdag 2 december 2020 16:30 schreef kalinhos het volgende:
Ik heb een tekst in 1 cel die luidt:

" Aa_bbb_1122020_prod_to_test_AB150 Notification: x83"

Dit is een onderwerp van een mail die ik vanaf Outlook kopieer naar een Excel
Via SPATIES.WISSEN, DEEL en/of VIND.SPEC kan ik zo in een aantal kolommen daarachter de nodige data halen. Ik kan AB150 eruit filteren, ik kan x83 eruit filteren en ik kan 01122020 eruit filteren

Het probleem is dat die dan 01122020 niet ziet als datum. Wat moet ik doen om dat wel voor elkaar te krijgen?

Ik wil dit namelijk met een andere datum vergelijken en die cellen/kolom herkent excel wel als datum.
=DATUM(RECHTS(A1;4);DEEL(A1;3;2);LINKS(A1;2))

Als de bewuste datum in A1 staan. Dit werkt wel alleen als de output-datum altijd 8 karakters heeft.
Opinion is the medium between knowledge and ignorance (Plato)
pi_196518561
quote:
0s.gif Op woensdag 2 december 2020 16:34 schreef Janneke141 het volgende:

[..]

=DATUM(RECHTS(A1;4);DEEL(A1;3;2);LINKS(A1;2))

Als de bewuste datum in A1 staan. Dit werkt wel alleen als de output-datum altijd 8 karakters heeft.
dank u! Altijd zo'n getob vind ik die datunms.

Edit: het blijft een getob. Als ik de datumcel via verticaal zoeken oproep herkent excel het weer niet als datum |:(

[ Bericht 15% gewijzigd door kalinhos op 02-12-2020 17:06:30 ]
Het is...kiezen of delen, spelen winnen verliezen of vervelen en helemaal niets ondernemen
  woensdag 2 december 2020 @ 17:01:32 #7
346939 Janneke141
Green, green grass of home
pi_196518571
quote:
0s.gif Op woensdag 2 december 2020 17:00 schreef kalinhos het volgende:

[..]

dank u! Altijd zo'n getob vind ik die datunms.
Ik heb zó vaak zitten kloten met dit soort data uit .csv-achtige bestanden dat ik dit bijna blind kan :P
Opinion is the medium between knowledge and ignorance (Plato)
pi_196519079
quote:
1s.gif Op woensdag 2 december 2020 17:00 schreef kalinhos het volgende:

[..]

dank u! Altijd zo'n getob vind ik die datunms.

Edit: het blijft een getob. Als ik de datumcel via verticaal zoeken oproep herkent excel het weer niet als datum |:(
Watvoor fout krijg je dan? Waarop verticaal zoek je precies?

Hier werkt het zoals je zou verwachten.
  woensdag 2 december 2020 @ 17:40:15 #9
346939 Janneke141
Green, green grass of home
pi_196519112
quote:
1s.gif Op woensdag 2 december 2020 17:00 schreef kalinhos het volgende:

[..]

dank u! Altijd zo'n getob vind ik die datunms.

Edit: het blijft een getob. Als ik de datumcel via verticaal zoeken oproep herkent excel het weer niet als datum |:(
Die datum uit jouw voorbeeld, was dat 1 december of 12 januari?
Opinion is the medium between knowledge and ignorance (Plato)
pi_196519120
quote:
1s.gif Op woensdag 2 december 2020 17:37 schreef Tegan het volgende:

[..]

Watvoor fout krijg je dan? Waarop verticaal zoek je precies?

Hier werkt het zoals je zou verwachten.
Ik heb de formule van Janneke in kolom P gezet
In een ander tabblad zoek ik op kolom L om de waarde uit die kolom P te krijgen. Maar dan krijg ik weer de 01122020 output

Maargoed: ik kan in dat tabblad natuurlijk ook weer Jannekes formule gebruiken en die in de kolom ernaast zetten en vervolgens de originele bron verbergen. :P
Het is...kiezen of delen, spelen winnen verliezen of vervelen en helemaal niets ondernemen
  woensdag 2 december 2020 @ 17:41:49 #11
346939 Janneke141
Green, green grass of home
pi_196519133
quote:
0s.gif Op woensdag 2 december 2020 17:41 schreef kalinhos het volgende:

[..]

Ik heb de formule van Janneke in kolom P gezet
In een ander tabblad zoek ik op kolom L om de waarde uit die kolom P te krijgen. Maar dan krijg ik weer de 01122020 output

Maargoed: ik kan in dat tabblad natuurlijk ook weer Jannekes formule gebruiken en die in de kolom ernaast zetten en vervolgens de originele bron verbergen. :P
Heb je dan niet het kolomnummer in je VERT.ZOEKEN verkeerd?
Opinion is the medium between knowledge and ignorance (Plato)
pi_196519160
quote:
0s.gif Op woensdag 2 december 2020 17:41 schreef kalinhos het volgende:

[..]

Ik heb de formule van Janneke in kolom P gezet
In een ander tabblad zoek ik op kolom L om de waarde uit die kolom P te krijgen. Maar dan krijg ik weer de 01122020 output

Maargoed: ik kan in dat tabblad natuurlijk ook weer Jannekes formule gebruiken en die in de kolom ernaast zetten en vervolgens de originele bron verbergen. :P
Nee dat is niet nodig. Dit klinkt eerder als dat je de verkeerde kolom opzoekt met vert.zoeken().
pi_196519303
Ohja ik zie het. Nja dank :)
Het is...kiezen of delen, spelen winnen verliezen of vervelen en helemaal niets ondernemen
  Moderator vrijdag 4 december 2020 @ 08:26:56 #14
56843 crew  onlogisch
Forumbeest
pi_196544498
Met behulp van


op 1.23 wil ik mijn formule voorzien van als.fout

=VERT.ZOEKEN(D2;Blad1!A:H;1;ONWAAR) <---- waar zet ik de haakjes en de tekst die ik kwijt wil? Want ik krijg alleen maar foutmeldingen :{

[ Bericht 1% gewijzigd door onlogisch op 04-12-2020 08:35:26 ]
Recordhouder aantal posts op één dag.
4045
onlogisch
  Moderator vrijdag 4 december 2020 @ 08:35:44 #15
56843 crew  onlogisch
Forumbeest
pi_196544551
We halen er even een expert bij.

@Lenny_Leonard
Recordhouder aantal posts op één dag.
4045
onlogisch
pi_196544569
quote:
0s.gif Op vrijdag 4 december 2020 08:26 schreef onlogisch het volgende:
Met behulp van


op 1.23 wil ik mijn formule voorzien van als.fout

=VERT.ZOEKEN(D2;Blad1!A:H;1;ONWAAR) <---- waar zet ik de haakjes en de tekst die ik kwijt wil? Want ik krijg alleen maar foutmeldingen :{
=ALS.FOUT( <je formule>;"tekst")

dus
=ALS.FOUT(VERT.ZOEKEN(D2;Blad1!A:H;1;ONWAAR);"")

--edit--
Even iets meer uitleg erbij.
Wanneer je waarde D2 ongeldig is (door het delen door 0), dan kan Excel die vertikaal zoeken actie ook niet uitvoeren. Daardoor levert niet alleen die cel D2 een fout op, maar ook je vertikaal zoeken zelf levert een fout op. Door de ALS FOUT om de vertikaal zoeken heen te zetten, vang je 2 foute scenario's af:

Scenario 1: Er zit een fout in D2 waardoor een fout ontstaat
Scenario 2: Vertikaal zoeken kan het resultaat niet vinden in Blad1 kolom A


Wanneer je echt alleen wilt afvangen dat D2 ongeldig is en niet wilt afvangen scenario 2 dat vertikaal zoeken fout gaat, dan kom je in een complexere formule terecht. Zoiets als:
=ALS(ISFOUT(D2;"de waarde in D2 is fout";VERT.ZOEKEN(D2;Blad1!A:H;1;ONWAAR))

[ Bericht 23% gewijzigd door snabbi op 04-12-2020 08:50:47 ]
pi_196544571
quote:
0s.gif Op vrijdag 4 december 2020 08:26 schreef onlogisch het volgende:
Met behulp van


op 1.23 wil ik mijn formule voorzien van als.fout

=VERT.ZOEKEN(D2;Blad1!A:H;1;ONWAAR) <---- waar zet ik de haakjes en de tekst die ik kwijt wil? Want ik krijg alleen maar foutmeldingen :{
Onwaar gebruiken in de VLOOKUP. Noob. :')

Maar zoiets:
=ALS.FOUT(VERT.ZOEKEN(D2;Blad1!A:H;1;0);"Je dikke hoerenmoeder op een driewieler")
pi_196544579
Overigens niet op je filmpje geklikt.
  Moderator vrijdag 4 december 2020 @ 08:49:22 #19
56843 crew  onlogisch
Forumbeest
pi_196544666
quote:
0s.gif Op vrijdag 4 december 2020 08:38 schreef snabbi het volgende:

[..]

=ALS.FOUT( <je formule>;"tekst")

dus
=ALS.FOUT(VERT.ZOEKEN(D2;Blad1!A:H;1;ONWAAR);"")
Dank je wel! :)
Recordhouder aantal posts op één dag.
4045
onlogisch
pi_196727254
Even crosspost voor de rekenwonders onder ons: SES / Procentrekenen voor gevorderden (Excel?) O-)
pi_196727310
quote:
0s.gif Op maandag 14 december 2020 15:41 schreef Piles het volgende:
Even crosspost voor de rekenwonders onder ons: SES / Procentrekenen voor gevorderden (Excel?) O-)
=(995-25)/(1-0,03)
stupidity has become as common as common sense was before
pi_197031519
Misschien kan iemand mij hier helpen:

Ik heb echt 0.0 verstand van excel, echter heb ik nu een bepaalde functie nodig in excel.

Het gaat om het volgende.
Ik heb in 357 cellen onder elkaar A, B, C of D staan.
Welke functie gebruik ik, zodat ik kan aangeven dat er in al die cellen totaal maar 4 verschillende letters voor komen?
Ik moet op werkblad 3 dus aan kunnen geven in cel B4=4
4 is dus het X aantal unike letters dan in die kolom voorkomt.
The Older I Get, The Better I Was
  maandag 28 december 2020 @ 20:05:25 #23
346939 Janneke141
Green, green grass of home
pi_197033792
quote:
0s.gif Op maandag 28 december 2020 19:07 schreef LuieSurinamer het volgende:
Misschien kan iemand mij hier helpen:

Ik heb echt 0.0 verstand van excel, echter heb ik nu een bepaalde functie nodig in excel.

Het gaat om het volgende.
Ik heb in 357 cellen onder elkaar A, B, C of D staan.
Welke functie gebruik ik, zodat ik kan aangeven dat er in al die cellen totaal maar 4 verschillende letters voor komen?
Ik moet op werkblad 3 dus aan kunnen geven in cel B4=4
4 is dus het X aantal unike letters dan in die kolom voorkomt.
Staan die letters telkens in 1 cel? Dus in A1 "A", in A2 "ACD", in A3 "B" etc. of staan ze in verschillende kolommen?

Zitten er dubbele letters in?

Als alles in 1 kolom staat en er staan geen dubbelen in, dan kun je met de functie =LENGTE() denk ik een heel eind komen.
Opinion is the medium between knowledge and ignorance (Plato)
pi_197034265
quote:
0s.gif Op maandag 28 december 2020 20:05 schreef Janneke141 het volgende:

[..]

Staan die letters telkens in 1 cel? Dus in A1 "A", in A2 "ACD", in A3 "B" etc. of staan ze in verschillende kolommen?

Zitten er dubbele letters in?

Als alles in 1 kolom staat en er staan geen dubbelen in, dan kun je met de functie =LENGTE() denk ik een heel eind komen.
De letters staan in Cel A2 tot en met A357
Daar staan er dus in elke Cel 1 letter. En wil dus een nieuwe cel dat de hoeveelheid letters weergeeft.
The Older I Get, The Better I Was
  maandag 28 december 2020 @ 20:30:39 #25
346939 Janneke141
Green, green grass of home
pi_197034760
quote:
0s.gif Op maandag 28 december 2020 20:18 schreef LuieSurinamer het volgende:

[..]

De letters staan in Cel A2 tot en met A357
Daar staan er dus in elke Cel 1 letter. En wil dus een nieuwe cel dat de hoeveelheid letters weergeeft.
Maar als je al weet dat er alleen A-B-C-D in staat dan is het antwoord toch gewoon '4', of begrijp ik nu iets helemaal verkeerd?
Opinion is the medium between knowledge and ignorance (Plato)
pi_197035206
quote:
0s.gif Op maandag 28 december 2020 19:07 schreef LuieSurinamer het volgende:
Misschien kan iemand mij hier helpen:

Ik heb echt 0.0 verstand van excel, echter heb ik nu een bepaalde functie nodig in excel.

Het gaat om het volgende.
Ik heb in 357 cellen onder elkaar A, B, C of D staan.
Welke functie gebruik ik, zodat ik kan aangeven dat er in al die cellen totaal maar 4 verschillende letters voor komen?
Ik moet op werkblad 3 dus aan kunnen geven in cel B4=4
4 is dus het X aantal unike letters dan in die kolom voorkomt.
Kan je niet helemaal volgen.
Maar als ik je goed snapt is de functie die je wil er niet.

Gebruik autofilter om snel te tellen.
Som.als op a, b, c, d, en dit dan vergelijken met het totaal aantal waarden
Of de kolom kopieren en uniek maken.
stupidity has become as common as common sense was before
  maandag 28 december 2020 @ 20:51:49 #27
346939 Janneke141
Green, green grass of home
pi_197035659
Als je hier met alle geweld formules tegenaan wil gooien dan kun je het volgende doen:

Gebruik B als hulpkolom, dus de kolom naast je letterkolom.
In B1 zet je
=AANTAL.ALS(A$1:A1;A1)

En die kopieer je naar beneden tot het einde van je kolom.

En de cel waar je het aantal verschillende letters wil hebben gebruik je
=AANTAL.ALS(B1:B357;1)

Die zou je antwoord op moeten leveren.
Opinion is the medium between knowledge and ignorance (Plato)
pi_197035843
quote:
0s.gif Op maandag 28 december 2020 20:30 schreef Janneke141 het volgende:

[..]

Maar als je al weet dat er alleen A-B-C-D in staat dan is het antwoord toch gewoon '4', of begrijp ik nu iets helemaal verkeerd?
Ja dat is wel zo, maar ik wil kunnen aantonen hoe ik aan die 4 gekomen ben zeg maar.
The Older I Get, The Better I Was
  Moderator maandag 28 december 2020 @ 20:58:57 #29
9859 crew  Karina
Woman
pi_197035940
Ik heb geen excel bij de hand nu. Maar misschien iets met tellen en subtotalen?
Hier staat een uitleg van wat ik bedoel:
https://support.microsoft(...)SOM%20en%20subtotaal.
Op donderdag 15 mei 2014 22:18 schreef sp3c het volgende:
niet zo tof doen
pi_197036266
quote:
0s.gif Op maandag 28 december 2020 20:40 schreef marcb1974 het volgende:

[..]

Kan je niet helemaal volgen.
Maar als ik je goed snapt is de functie die je wil er niet.

Gebruik autofilter om snel te tellen.
Som.als op a, b, c, d, en dit dan vergelijken met het totaal aantal waarden
Of de kolom kopieren en uniek maken.
Misschien is het duidelijk als ik het zo uitleg:
Ik heb een enquête waaraan een x aantal scholen hebben meegedaan.
Die scholen zijn aangegeven met letters ipv namen.
Nu wil ik dus in een aparte cel aangeven hoeveel scholen hebben meegedaan.
Dus ipv dat ik alle 357 records die letters ga tellen. Wil ik gewoon een functie die mij gelijk aangeeft om hoeveel scholen het gaat.
Zodat als ik een school een andere letter geef, die in de cel ook aangepast wordt.
The Older I Get, The Better I Was
  maandag 28 december 2020 @ 21:10:57 #31
201761 phpmystyle
Ordinary guy from Moscow
pi_197036412
quote:
0s.gif Op maandag 28 december 2020 21:07 schreef LuieSurinamer het volgende:

[..]

Misschien is het duidelijk als ik het zo uitleg:
Ik heb een enquête waaraan een x aantal scholen hebben meegedaan.
Die scholen zijn aangegeven met letters ipv namen.
Nu wil ik dus in een aparte cel aangeven hoeveel scholen hebben meegedaan.
Dus ipv dat ik alle 357 records die letters ga tellen. Wil ik gewoon een functie die mij gelijk aangeeft om hoeveel scholen het gaat.
Zodat als ik een school een andere letter geef, die in de cel ook aangepast wordt.
ooooohhh

=AANTALARG(G:G)
Man is de baas, vrouw kent haar plaats.
  maandag 28 december 2020 @ 21:13:27 #32
346939 Janneke141
Green, green grass of home
pi_197036539
quote:
7s.gif Op maandag 28 december 2020 21:10 schreef phpmystyle het volgende:

[..]

ooooohhh

=AANTALARG(G:G)
Dit geeft je het totaal aantal entries in die kolom. Levert in dit geval dus 357 op, en niet 4.
Opinion is the medium between knowledge and ignorance (Plato)
  maandag 28 december 2020 @ 21:17:59 #33
201761 phpmystyle
Ordinary guy from Moscow
pi_197036774
quote:
0s.gif Op maandag 28 december 2020 21:13 schreef Janneke141 het volgende:

[..]

Dit geeft je het totaal aantal entries in die kolom. Levert in dit geval dus 357 op, en niet 4.
Dan kan ie beter even een screenshotje maken van zijn situatie op zijn spreadsheet. Kunnen we hem wat beter helpen.
Man is de baas, vrouw kent haar plaats.
  maandag 28 december 2020 @ 21:18:11 #34
158136 Joooo-pi
Do you want a balloon...
pi_197036899
quote:
0s.gif Op maandag 28 december 2020 21:07 schreef LuieSurinamer het volgende:

[..]

Misschien is het duidelijk als ik het zo uitleg:
Ik heb een enquête waaraan een x aantal scholen hebben meegedaan.
Die scholen zijn aangegeven met letters ipv namen.
Nu wil ik dus in een aparte cel aangeven hoeveel scholen hebben meegedaan.
Dus ipv dat ik alle 357 records die letters ga tellen. Wil ik gewoon een functie die mij gelijk aangeeft om hoeveel scholen het gaat.
Zodat als ik een school een andere letter geef, die in de cel ook aangepast wordt.
Ik zou een tweede kolom maken met en daar met een aantal.als() een telling doen. Dan zie je vanzelf welke letters meedoen.
Of misschien wel met vert.zoeekn(), dan geeft ie iedere keer de waarde weer als die voorkomt, en maar 1 keer.
stupidity has become as common as common sense was before
pi_197037138
Er vanuit gaande dat je een recente versie van Excel hebt en de letters in kolom A staan met een kop er boven:
=AANTALARG(UNIEK(A:A))-2

Zonder kop =AANTALARG(UNIEK(A:A))-1

Min -1 of -2 omdat een lege cel ook als uniek wordt geteld.
pi_197037255
quote:
0s.gif Op maandag 28 december 2020 21:26 schreef Rectum het volgende:
Er vanuit gaande dat je een recente versie van Excel hebt en de letters in kolom A staan met een kop er boven:
=AANTALARG(UNIEK(A:A))-2

Zonder kop =AANTALARG(UNIEK(A:A))-1

Min -1 of -2 omdat een lege cel ook als uniek wordt geteld.
Jij bent een topper!! Dit was het dus.
The Older I Get, The Better I Was
pi_197161977
Ik heb een kolom (kolom C) met datums.
Ik heb een kolom (kolom H) waar in ik met de hand Ja of Nee in typ.

Wat ik graag zou willen is:
Indien de waarde (datum) uit kolom C ouder is dan vandaag EN de tekst in kolom H is Nee, dan moet de de cel in kolom H een kleur krijgen.

Indien de waarde (datum) uit kolom C ouder is dan vandaag, maar de tekst in kolom H is Ja, dan moet er niks gebeuren.

Welke formule heb ik hiervoor nodig en hoe kan ik dit toepassen op alle cellen in kolom H?

Iets met:
$C<TODAY(), maar ik kom er niet helemaal uit :)
pi_197162141
Voorwaardelijke opmaak op H1:H9999 met formule EN(C1<VANDAAG();H1="Nee") .

Ik kan het nu niet testen, maar zoiets...

$ hoeft alleen als je meerdere kolommen wil kleuren.
pi_197162827
quote:
1s.gif Op vrijdag 1 januari 2021 20:41 schreef Tegan het volgende:
Voorwaardelijke opmaak op H1:H9999 met formule EN(C1<VANDAAG();H1="Nee") .

Ik kan het nu niet testen, maar zoiets...

$ hoeft alleen als je meerdere kolommen wil kleuren.
Dus kolom H selecteren, Voorwaardelijke opmaak, nieuwe regel op basis van een formule. En dat moet zijn:
EN(C1<VANDAAG();H1="Nee")

Geen error, maar doet ook niks.
pi_197162988
quote:
0s.gif Op vrijdag 1 januari 2021 21:03 schreef xaban06 het volgende:

[..]

Dus kolom H selecteren, Voorwaardelijke opmaak, nieuwe regel op basis van een formule. En dat moet zijn:
EN(C1<VANDAAG();H1="Nee")

Geen error, maar doet ook niks.
Dat H1:H9999 is essentieel...

En de opmaak die toegepast moet worden moet ook nog ingevuld zijn.
pi_197163108
quote:
1s.gif Op vrijdag 1 januari 2021 21:09 schreef Tegan het volgende:

[..]

Dat H1:H9999 is essentieel...
quote:
1s.gif Op vrijdag 1 januari 2021 21:09 schreef Tegan het volgende:

[..]

Dat H1:H9999 is essentieel...
Dat vul ik in, maar om 1 of ander reden veranderd Excel dat terug naar: $H$1:$H$99999
pi_197163191
err
pi_197163244
$H$1:$H$9999 is juist. Ik bedoelde dat $H:$H onjuist was en dat $ in EN(C1<VANDAAG();H1="Nee") niet nodig is.

Klopt de formule nog wel, Excel kan nog eens vervelend doen als je het bereik wijzigt.
pi_197163312
quote:
1s.gif Op vrijdag 1 januari 2021 21:17 schreef Tegan het volgende:
$H$1:$H$9999 is juist. Ik bedoelde dat $H:$H onjuist was en dat $ in EN(C1<VANDAAG();H1="Nee") niet nodig is.

Klopt de formule nog wel, Excel kan nog eens vervelend doen als je het bereik wijzigt.
Excel maakt er dit van als Formule: ="EN(C1<VANDAAG();H1=""Nee"")"
En bij Van toepassing op: $H$1:$H$99999
pi_197163535
quote:
0s.gif Op vrijdag 1 januari 2021 21:19 schreef xaban06 het volgende:

[..]

Excel maakt er dit van als Formule: ="EN(C1<VANDAAG();H1=""Nee"")"
En bij Van toepassing op: $H$1:$H$99999
de eerste regel met " bij de EN lijkt niet correct te zijn:
pi_197163601
Computer opgestart en mijn testje werkt ook.

Heb je toevallig Engelse Excel? Dan werken de Nederlandse formules niet.
pi_197163737
quote:
0s.gif Op vrijdag 1 januari 2021 21:24 schreef snabbi het volgende:

[..]

de eerste regel met " bij de EN lijkt niet correct te zijn:
[ afbeelding ]






/edit
Opgelost. Foutje. Sorry.

Formule moest zijn: =EN(C1<VANDAAG();H1="Nee")

Kennelijk ergens een copy/paste fout gemaakt.
pi_197163873
Fijn!

= is inderdaad ook essentieel :P .
  maandag 4 januari 2021 @ 11:54:39 #50
8760 Beavis
Proud to be South African!
pi_197204744
Ik gebruikt Excel365 zowel Nederlands als Engels.

Voor mijn werk heb ik een tamelijk groot excel sheet gemaakt met een heel wat macro's. Hier reken ik ook met datums en weeknummers.
Tot mijn schrik denkt Excel blijkbaar dat het nu week 2 is terwijl mijn kalender echt week 1 aangeeft.
=WEEKNUMMER(NU())
=WEEKNUM(NOW())

Beide formules hebben 2 als resultaat.

Weet iemand of dit een bug is die waarschijnlijk snel opgelost gaat worden of heb ik heel 2021 een verkeerde weeknummer in mijn sheet?
pi_197204824
quote:
0s.gif Op maandag 4 januari 2021 11:54 schreef Beavis het volgende:
Weet iemand of dit een bug is die waarschijnlijk snel opgelost gaat worden of heb ik heel 2021 een verkeerde weeknummer in mijn sheet?
https://support.microsoft(...)6c-b411-b18c13c75340

Even extra parameter toevoegen:

Systeem 1 De week met 1 januari is de eerste week van het jaar en wordt genummerd als week 1.

Systeem 2 De week met de eerste donderdag van het jaar is de eerste week van het jaar en wordt genummerd als week 1. Dit systeem is de methodologie die is vastgelegd in ISO 8601, dat algemeen bekend staat als Europees systeem voor weeknummering.

Waarschijnlijk wil je type_resultaat 21, zodat systeem 2 gebruikt wordt.
pi_197204892
quote:
0s.gif Op maandag 4 januari 2021 11:54 schreef Beavis het volgende:
Ik gebruikt Excel365 zowel Nederlands als Engels.

Voor mijn werk heb ik een tamelijk groot excel sheet gemaakt met een heel wat macro's. Hier reken ik ook met datums en weeknummers.
Tot mijn schrik denkt Excel blijkbaar dat het nu week 2 is terwijl mijn kalender echt week 1 aangeeft.
=WEEKNUMMER(NU())
=WEEKNUM(NOW())

Beide formules hebben 2 als resultaat.

Weet iemand of dit een bug is die waarschijnlijk snel opgelost gaat worden of heb ik heel 2021 een verkeerde weeknummer in mijn sheet?
Er bestaan simpelweg twee manieren om de eerste week van het jaar te bepalen, en blijkbaar ben jij het nu niet eens met de manier die excel standaard kiest. Zie https://support.microsoft(...)6c-b411-b18c13c75340 voor hoe de WEEKNUMMER() functie werkt, daar staat ook uitgelegd hoe je kiest welk systeem je wilt gebruiken.

--edit-- spuit 11, ik zie dat Piles me al voor was :D
  maandag 4 januari 2021 @ 12:07:18 #53
8760 Beavis
Proud to be South African!
pi_197204988
Was alles maar zo eenvoudig.
Dit had ik zelf natuurlijk ook kunnen vinden |:(
pi_197205153
quote:
0s.gif Op maandag 4 januari 2021 11:59 schreef Piles het volgende:

[..]


Even extra parameter toevoegen:

Zou het ook nog met de land en toetsenbord instellingen geregeld kunnen worden zoals excel daar automagisch de scheidingstekens vandaan haalt. 8-)
  maandag 4 januari 2021 @ 12:18:30 #55
62215 qu63
..de tijd drinkt..
pi_197205205
SHO / Verdrietig nieuws: static is onverwacht overleden

Toch wel iemand die hier regelmatig langs kwam -O-
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_197205219
Ik gebruik altijd ISO.WEEKNUMMER() hierom.
pi_197216161
quote:
1s.gif Op maandag 4 januari 2021 12:19 schreef Tegan het volgende:
Ik gebruik altijd ISO.WEEKNUMMER() hierom.
Inderdaad, ISO.WEEKNUMMER() geeft de Europese weeknummers aan, zonder de Amerikaanse.
Zelfde overigens met week die start op zondag ipv maandag als je het niet goed instelt.
pi_197216575
quote:
1s.gif Op maandag 4 januari 2021 12:19 schreef Tegan het volgende:
Ik gebruik altijd ISO.WEEKNUMMER() hierom.
Die kende ik niet...
Echt, die naamgeving af en toe. Waarom niet WEEKNUMMER.ISO, das toch veel handiger...
pi_197216661
Ik erger me ook altijd aan dat de Engelse formules niet werken in Nederlandse Excel en dat het zelfs niet een exacte vertaling is.
pi_197241035
Ik begin langzaamaan een beetje gek te worden. In Google Sheets heb ik de volgende formule: =SUM(C2:C4). In de cellen staan ook getallen, maar de uitkomst is 0. De totale som van de cellen zou dan toch moeten worden weergeven? Wat doe ik fout?
Uitvinder van de biersmiley.
pi_197244627
Iets met de "celeigenschappen"?

Google zegt mij dat dat hier staat:
"Opmaak en dan Getal en dan Meer notaties.
Klik op Meer datum- en tijdnotaties."
pi_197244696
quote:
0s.gif Op woensdag 6 januari 2021 10:46 schreef dimmak het volgende:
Ik begin langzaamaan een beetje gek te worden. In Google Sheets heb ik de volgende formule: =SUM(C2:C4). In de cellen staan ook getallen, maar de uitkomst is 0. De totale som van de cellen zou dan toch moeten worden weergeven? Wat doe ik fout?
Zou kunnen dat de getallen zijn opgemaakt als tekst. Dat kun je wijzigingen via celeigenschappen inderdaad.
Screenshot anders?
You're Fucking Out, I'm Fucking In
pi_197245121
quote:
1s.gif Op woensdag 6 januari 2021 14:31 schreef Tegan het volgende:
Iets met de "celeigenschappen"?

Google zegt mij dat dat hier staat:
"Opmaak en dan Getal en dan Meer notaties.
Klik op Meer datum- en tijdnotaties."
quote:
0s.gif Op woensdag 6 januari 2021 14:34 schreef KennyPowers het volgende:

[..]

Zou kunnen dat de getallen zijn opgemaakt als tekst. Dat kun je wijzigingen via celeigenschappen inderdaad.
Screenshot anders?
Thanks, dit was het inderdaad. :P
Uitvinder van de biersmiley.
pi_197614702
Ik heb 3 kolommen D, E en F.
In kolom D staan de geboortejaren, maar er staat alleen 92 of 93 of 90
En kolom E staan de geboortemaanden 4 of 6 of 9 etc.
Kan iemand mij uitleggen hoe ik in Kolom F de actuele leeftijd aangeven?
The Older I Get, The Better I Was
  zondag 24 januari 2021 @ 20:20:34 #65
346939 Janneke141
Green, green grass of home
pi_197618474
quote:
0s.gif Op zondag 24 januari 2021 18:00 schreef LuieSurinamer het volgende:
Ik heb 3 kolommen D, E en F.
In kolom D staan de geboortejaren, maar er staat alleen 92 of 93 of 90
En kolom E staan de geboortemaanden 4 of 6 of 9 etc.
Kan iemand mij uitleggen hoe ik in Kolom F de actuele leeftijd aangeven?
Je hebt geen geboortedag begrijp ik hieruit?
Zijn die jaartallen allemaal van voor 2000, of zijn er ook cellen met bijvoorbeeld 01 erin voor 2001?

Met =VANDAAG() krijg je de datum van vandaag, en met DATUM(jaar;maand;dag) krijg je een datum op basis van losse getallen. Als je ze van elkaar afhaalt, deelt door 365,25 en dan afrondt op een manier die je bevalt heb je een leeftijd.
Opinion is the medium between knowledge and ignorance (Plato)
pi_197620050
quote:
0s.gif Op zondag 24 januari 2021 20:20 schreef Janneke141 het volgende:

[..]

Je hebt geen geboortedag begrijp ik hieruit?
Zijn die jaartallen allemaal van voor 2000, of zijn er ook cellen met bijvoorbeeld 01 erin voor 2001?

Met =VANDAAG() krijg je de datum van vandaag, en met DATUM(jaar;maand;dag) krijg je een datum op basis van losse getallen. Als je ze van elkaar afhaalt, deelt door 365,25 en dan afrondt op een manier die je bevalt heb je een leeftijd.
Ik heb inderdaad geen dagen. En zijn inderdaad alleen van rond begin 90.
Wat jij zegt was ik al achter, maar omdat ik geen dagen heb kom ik er niet uit.
The Older I Get, The Better I Was
  zondag 24 januari 2021 @ 21:25:17 #67
346939 Janneke141
Green, green grass of home
pi_197620351
quote:
0s.gif Op zondag 24 januari 2021 21:15 schreef LuieSurinamer het volgende:

[..]

Ik heb inderdaad geen dagen. En zijn inderdaad alleen van rond begin 90.
Wat jij zegt was ik al achter, maar omdat ik geen dagen heb kom ik er niet uit.
Nou, dan maak je met =DATUM(D1+1900;E1;1) een datum die gewoon de eerste van de maand pakt. Je kunt ook de 15e pakken als je dat logischer vindt. De 30e zou ik je in elk geval afraden.

=AFRONDEN.NAAR.BENEDEN(VANDAAG()-DATUM(D1+1900;E1;1);0) geeft volgens mij wel wat je wil.
Opinion is the medium between knowledge and ignorance (Plato)
pi_197621089
ALS(MAAND(VANDAAG())<E1;JAAR(VANDAAG())-D1+1899;JAAR(VANDAAG())-D1+1900)

Beetje lelijk maar zoiets?
pi_197623029
quote:
0s.gif Op zondag 24 januari 2021 21:25 schreef Janneke141 het volgende:

[..]

Nou, dan maak je met =DATUM(D1+1900;E1;1) een datum die gewoon de eerste van de maand pakt. Je kunt ook de 15e pakken als je dat logischer vindt. De 30e zou ik je in elk geval afraden.

=AFRONDEN.NAAR.BENEDEN(VANDAAG()-DATUM(D1+1900;E1;1);0) geeft volgens mij wel wat je wil.
Volgens mij moet ik het dan nog ergens delen voor 365,25 toch?
The Older I Get, The Better I Was
  zondag 24 januari 2021 @ 22:50:35 #70
346939 Janneke141
Green, green grass of home
pi_197623063
quote:
0s.gif Op zondag 24 januari 2021 22:49 schreef LuieSurinamer het volgende:

[..]

Volgens mij moet ik het dan nog ergens delen voor 365,25 toch?
Oh ja, heb je helemaal gelijk in. Het moet inderdaad (VANDAAG()-DATUM(blabla))/365,25 worden.
Opinion is the medium between knowledge and ignorance (Plato)
pi_197623225
quote:
0s.gif Op zondag 24 januari 2021 22:50 schreef Janneke141 het volgende:

[..]

Oh ja, heb je helemaal gelijk in. Het moet inderdaad (VANDAAG()-DATUM(blabla))/365,25 worden.
Thanks voor je hulp. Het werkt.
The Older I Get, The Better I Was
pi_197630737
Hoe kun je in een tekst-cel bijvoorbeeld "de derde spatie" vinden?
Ik heb namelijk een bestand wat ik in een deugdelijke database wil plaatsen.
Hierbij moet ik "Rembrandtstraat 23" splitsen in een aparte kolom "Rembrandtstraat" en "23".
Dus: Straat en huisnummer.
Als alle straatnamen geen spaties zouden hebben, kan ik met =find(" ";a2) de plek traceren van de scheiding tussen straatnaam en huisnummer en dan met mid(a2;+b2;6) of zo nieuwe kolommen maken.
En dan met paste values en zo.
Enfin je hebt ook straatnamen als "Professor Huppelepuplaan" of "Hoog en droog". Kortom meer dan 1 spatie en ik moet de splitsing maken in de laatste spatie.
Nu kan ik via "substitute(a2;" ";"") er achter komen hoeveel spaties er in een cel zitten. Door de lengtes te vergelijken van de bewerkte tekst (via substitute) en de oorspronkelijke tekst.
De volgende uitdaging is dan dat je in één commando de plek van de laatste spatie kunt traceren.
Wie weet dit?
Je kunt beter één kaars opsteken dan duizend maal de duisternis vervloeken.
pi_197630897
quote:
0s.gif Op maandag 25 januari 2021 13:35 schreef Twentsche_Ros het volgende:
Hoe kun je in een tekst-cel bijvoorbeeld "de derde spatie" vinden?
Kun je dan niet beter een formule vinden voor het vinden van alle getallen in een string? Dan maakt de opbouw van de straatnaam niet meer uit. Moet je alleen even rekening houden met huisnummertoevoegingen (als die er zijn).
pi_197630959
quote:
0s.gif Op maandag 25 januari 2021 13:44 schreef Piles het volgende:

[..]

Kun je dan niet beter een formule vinden voor het vinden van alle getallen in een string? Dan maakt de opbouw van de straatnaam niet meer uit. Moet je alleen even rekening houden met huisnummertoevoegingen (als die er zijn).
In Nederland kennen we straatnamen die "Plein 1945" heten, dan heb je al een probleem. Maar volgens mij moet het kunnen: Een soort "vind de derde spatie" Of vind de 20e "a". Het gaat me nu ook een beetje om het principe.
Je kunt beter één kaars opsteken dan duizend maal de duisternis vervloeken.
pi_197631061
Misschien is dit een idee. Met de 1 in substitueren(a2;" ";"";1) kun je meegeven dat alleen de eerste spatie vervangen wordt, met substitueren(a2;" ";"";2) alleen de tweede, etc. Als je weet dat er drie spaties zijn kun je 1 en 2 vervangen (met een als() kun je het alle spaties behalve de laatste vervangen) om vervolgens een tekst over te houden met maar één spatie op de juiste plek. En dan kun je de rest gebruiken wat je al had.
pi_197631064
quote:
0s.gif Op maandag 25 januari 2021 13:47 schreef Twentsche_Ros het volgende:

[..]

In Nederland kennen we straatnamen die "Plein 1945" heten, dan heb je al een probleem. Maar volgens mij moet het kunnen: Een soort "vind de derde spatie" Of vind de 20e "a". Het gaat me nu ook een beetje om het principe.
Dan zoiets:
=VIND.ALLES(TEKEN(1);SUBSTITUEREN(B5;" ";TEKEN(1);3))

Die 3 geeft aan dat het de derde spatie moet zijn :)

Geen garanties, ik google het ook maar bij elkaar :P
pi_197631168
quote:
0s.gif Op maandag 25 januari 2021 13:52 schreef Piles het volgende:

[..]

Dan zoiets:
=VIND.ALLES(TEKEN(1);SUBSTITUEREN(B5;" ";TEKEN(1);3))

Die 3 geeft aan dat het de derde spatie moet zijn :)

Geen garanties, ik google het ook maar bij elkaar :P

Ik doe het iets anders, maar dankzij jou ben ik er uit.
Zie dit commando:
=SUBSTITUTE(G15;" ";"#";L15)

Er van uitgaande dat geen enkele straatnaam en geen enkel huisnummer een "#" (hekje) in zich herbergt.

L15 staat voor het aantal spaties dat ik in de cel heb gevonden.
G15 staat voor de tekst van de oorspronkelijke cel inclusief alle spaties.

En rechts naast heb substitute commando ga ik via "find.spec" op zoek naar de plek waar "#" staat.
Dank je wel!
Je kunt beter één kaars opsteken dan duizend maal de duisternis vervloeken.
pi_197631179
Je kan ook nog met als() controleren of het laatste stukje een getal is. Als dat niet zo is moet je dus de twee na laatste spatie laten staan en de rest verwijderen.
pi_197631192
quote:
1s.gif Op maandag 25 januari 2021 13:52 schreef Tegan het volgende:
Misschien is dit een idee. Met de 1 in substitueren(a2;" ";"";1) kun je meegeven dat alleen de eerste spatie vervangen wordt, met substitueren(a2;" ";"";2) alleen de tweede, etc. Als je weet dat er drie spaties zijn kun je 1 en 2 vervangen (met een als() kun je het alle spaties behalve de laatste vervangen) om vervolgens een tekst over te houden met maar één spatie op de juiste plek. En dan kun je de rest gebruiken wat je al had.
Ik had jouw bijdrage over het hoofd gezien. Maar het komt volgens mij op hetzelfde neer.
Dank je.
Je kunt beter één kaars opsteken dan duizend maal de duisternis vervloeken.
pi_197631217
quote:
1s.gif Op maandag 25 januari 2021 14:00 schreef Tegan het volgende:
Je kan ook nog met als() controleren of het laatste stukje een getal is. Als dat niet zo is moet je dus de twee na laatste spatie laten staan en de rest verwijderen.
Ja, maar je hebt ook 22a en 23b als huisnummer.
Ik ben al geholpen met de bijdrages van jou en Piles. De uitzonderingen (mochten die er zijn) filter ik er wel uit.
Je kunt beter één kaars opsteken dan duizend maal de duisternis vervloeken.
pi_197631706
Hoe pas je een ctrl end aan.
Als je bijvoorbeeld een grote tabel hebt en je haalt een deel van de regels weg. Dan blijft ctrl end naar de laatste regel van de originele tabel gaan. Terwijl je dan minder regels hebt en wil ik dat ctrl end naar de laatste regel van de nieuwe tabel gaat.
pi_197632121
Rijen verwijderen en bestand opslaan?
Aldus.
pi_197632460
quote:
0s.gif Op maandag 25 januari 2021 14:35 schreef Stansfield het volgende:
Hoe pas je een ctrl end aan.
Als je bijvoorbeeld een grote tabel hebt en je haalt een deel van de regels weg. Dan blijft ctrl end naar de laatste regel van de originele tabel gaan. Terwijl je dan minder regels hebt en wil ik dat ctrl end naar de laatste regel van de nieuwe tabel gaat.
Ctrl S tussen door (opslaan). Dan is het weer gerefreshed.
Typisch: als je insert doet dan past ie het wel aan bij Ctrl-End.
Ik doe trouwens altijd End-Down
Je kunt beter één kaars opsteken dan duizend maal de duisternis vervloeken.
pi_197632570
Ik heb dit trouwens als goed voornemen voor 2021. Maar moet nog wel een beetje de balans vinden van wanneer wel Excel en wanneer overstappen naar Python.
Aldus.
pi_197644752
Dit is natuurlijk een Excel-topic, maar het probleem van @Twentsche_Ros laat zich volgens mij goed oplossen met OpenRefine (GREL met regex).
"Met charme kun je je een kwartiertje redden, daarna moet je iets te zeggen hebben."
pi_197646157
quote:
0s.gif Op dinsdag 26 januari 2021 06:22 schreef baskick het volgende:
Dit is natuurlijk een Excel-topic, maar het probleem van @:Twentsche_Ros laat zich volgens mij goed oplossen met OpenRefine (GREL met regex).
Zo, leg uit! Wat is "OpenRefine (GREL met regex)"? Waar kan ik dat vinden?
Je kunt beter één kaars opsteken dan duizend maal de duisternis vervloeken.
pi_197646463
quote:
0s.gif Op dinsdag 26 januari 2021 09:36 schreef Twentsche_Ros het volgende:

[..]

Zo, leg uit! Wat is "OpenRefine (GREL met regex)"? Waar kan ik dat vinden?
OpenRefine (voorheen Google Refine) is een stand-alone applicatie die je lokaal in de browser laadt. Je kunt er data mee opschonen en transformeren.

GREL staat voor Google Refine Expression Language en is de taal waarmee je commando's kunt invoeren. Voor veel standaard-acties is een visuele mogelijkheid, maar je kunt GREL-commando's (net als formules in Excel) nesten en ook met het handje invoeren. Regex zijn regular expressions, waarmee je patronen kunt herkennen - even simpel gezegd. Je kunt zo kolommen splitten op numerieke waardes, op de laatste numerieke waarde, enz.

Ik gebruik het vaak om data op te schonen voordat ik het in Excel verder bewerk of in een database importeer.

Zie https://openrefine.org.

[ Bericht 2% gewijzigd door baskick op 26-01-2021 10:06:18 ]
"Met charme kun je je een kwartiertje redden, daarna moet je iets te zeggen hebben."
pi_197646802
quote:
0s.gif Op dinsdag 26 januari 2021 10:00 schreef baskick het volgende:

[..]

OpenRefine (voorheen Google Refine) is een stand-alone applicatie die je lokaal in de browser laadt. Je kunt er data mee opschonen en transformeren.

GREL staat voor Google Refine Expression Language en is de taal waarmee je commando's kunt invoeren. Voor veel standaard-acties is een visuele mogelijkheid, maar je kunt GREL-commando's (net als formules in Excel) nesten en ook met het handje invoeren. Regex zijn regular expressions, waarmee je patronen kunt herkennen - even simpel gezegd. Je kunt zo kolommen splitten op numerieke waardes, op de laatste numerieke waarde, enz.

Ik gebruik het vaak om data op te schonen voordat ik het in Excel verder bewerk of in een database importeer.

Zie https://openrefine.org.
Top!
Al deze informatie.
Het splitten van de "ruwe" adres info in tekstueel en numeriek ging in dit geval niet op.
Zoals ik al zei gooit "Plein 1945" al roet in het eten. Verder heb je bij huisnummers legio voorbeelden van 22a en 3-III etc. Maar ik heb dus een prima oplossing gevonden voor "traceer de laatste spatie" en dat was de bedoeling.
In 2 stappen:
Vervang alle spaties door "blanks", maw "delete alle spaties" en vergelijk de lengte van de nieuwe cel met de oorspronkelijke. Hierdoor heb je het aantal spaties.
En daarna:
Vervang de laatste spatie (die weet je nu "in rang" omdat je het aantal spaties weet) in een teken (bv hekje, #) waarvan je zeker weet dat ie never nooit in een adres voorkomt.
Want het commando "substitute" kende dus een "rang-optie" in de geest van "vervang de zoveelste spaties/e/af/qq..whatever in het opgegeven teken".
En daarna de plek van het nieuwe teken traceren via FIND en voila.... via MID (of DEEL in het Nederlands) kun je de tekst op de juiste plek "splitten".

[ Bericht 1% gewijzigd door Twentsche_Ros op 26-01-2021 11:04:16 ]
Je kunt beter één kaars opsteken dan duizend maal de duisternis vervloeken.
pi_197647006
Dat is dus zo krachtig aan regex, je kunt uit een string halen wat je wilt. Bijvoorbeeld de laatste numerieke waarde in een string: (\d+)(?!.*\d)

Die haalt uit "Plein 1945 3a" en "5 Meiweg 3b" dus in beide gevallen 'gewoon' 3. En uit "Straat 2 rd" (een toevoeging zoals in Haarlem voorkomt) dus ook 3.

Die regex zou je dus kunnen tweaken als je in de kolom huisnummer ook de toevoeging wilt hebben. En je zou 'm kunnen tweaken dat 'ie het getal en de toevoeging (letter/kleur/etage/whatever) in aparte kolommen zet.
"Met charme kun je je een kwartiertje redden, daarna moet je iets te zeggen hebben."
pi_197647304
quote:
0s.gif Op dinsdag 26 januari 2021 10:36 schreef baskick het volgende:
Dat is dus zo krachtig aan regex, je kunt uit een string halen wat je wilt. Bijvoorbeeld de laatste numerieke waarde in een string: (\d+)(?!.*\d)

Die haalt uit "Plein 1945 3a" en "5 Meiweg 3b" dus in beide gevallen 'gewoon' 3. En uit "Straat 2 rd" (een toevoeging zoals in Haarlem voorkomt) dus ook 3.

Die regex zou je dus kunnen tweaken als je in de kolom huisnummer ook de toevoeging wilt hebben. En je zou 'm kunnen tweaken dat 'ie het getal en de toevoeging (letter/kleur/etage/whatever) in aparte kolommen zet.
Ha ha.
Je praat echt als een enthousiaste IT-er. Programmeur? Ik ben helemaal vergroeid met Excel en bovenstaand is voor mij abracadabra. Ik zou al op moeten zoeken wat "tweaken" is. Voorlopig ben ik met de oplossing die ik dankzij FOK heb gevonden tevreden. Maar ik zal bovenstaande tips zeker "in mind" houden. ;)
Je kunt beter één kaars opsteken dan duizend maal de duisternis vervloeken.
pi_197647486
Regular expressions kan je ook in VBA gebruiken. Ik raak er altijd helemaal van in de war. Het is wel echt een kunst.
Aldus.
pi_197647499
Hah, hobbymatig, ja. Misschien heb jij of een andere meelezer er in de toekomst wat aan :)

quote:
2s.gif Op dinsdag 26 januari 2021 11:13 schreef Z het volgende:
Regular expressions kan je ook in VBA gebruiken. Ik raak er altijd helemaal van in de war. Het is wel echt een kunst.
Klopt. En in PHP, Java, JavaScript, C#, enz :-) Het is zeker complex, helemaal als je ingewikkelde patronen gaat zoeken.
"Met charme kun je je een kwartiertje redden, daarna moet je iets te zeggen hebben."
pi_197647805
quote:
2s.gif Op dinsdag 26 januari 2021 11:13 schreef Z het volgende:
Regular expressions kan je ook in VBA gebruiken. Ik raak er altijd helemaal van in de war. Het is wel echt een kunst.
VBA gebruik ik soms ook. Maar je moet wel goed weten wat je doet. In mijn professie in finance is een gedegen kennis van alle standaard commando's (oa sumif, pivottables) al heel wat om een gedegen informatieverstrekking te krijgen. Op eigen houtje gaan programmeren in VBA is niet raadzaam.
De ERP programma's moeten deugdzaam zijn en dat is het metier van de programmeur.
Je kunt beter één kaars opsteken dan duizend maal de duisternis vervloeken.
pi_197647833

:P .
pi_197647979
quote:
0s.gif Op dinsdag 26 januari 2021 11:34 schreef Twentsche_Ros het volgende:

[..]

VBA gebruik ik soms ook. Maar je moet wel goed weten wat je doet. In mijn professie in finance is een gedegen kennis van alle standaard commando's (oa sumif, pivottables) al heel wat om een gedegen informatieverstrekking te krijgen. Op eigen houtje gaan programmeren in VBA is niet raadzaam.
De ERP programma's moeten deugdzaam zijn en dat is het metier van de programmeur.
VBA is ook absoluut geen deugdzame taal dus ik raad het je dan ook niet aan.
Aldus.
pi_197650802
quote:
0s.gif Op maandag 25 januari 2021 15:19 schreef Twentsche_Ros het volgende:

[..]

Ctrl S tussen door (opslaan). Dan is het weer gerefreshed.
Typisch: als je insert doet dan past ie het wel aan bij Ctrl-End.
Ik doe trouwens altijd End-Down
End-Down werkt ook top. En de rest ook.
Bedankt voor de info!
pi_197668936
Ik heb "Sheet 1":
1
2
3
4
5
Kolom A    | Kolom B
-----------|-----------
Duitsland  | Mercedes
Duitsland  | Volkswagen
Japan      | Toyota

Ik heb "Sheet 2":
1
2
3
4
5
6
7
8
Kolom A    | Kolom B
-----------|-----------
Mercedes   | ..
Volkswagen | ..
Toyota     | ..
Volkswagen | ..
Volkswagen | ..
Toyota     | ..

Ik wil kolom B in "Sheet 2" automatisch laten vullen waar nu ".." staat.

Ik dacht dat kan op deze manier:
1=VERT.ZOEKEN(Sheet 2!A2;Sheet 1!A:B;Sheet 1!1;0)

Maar dat werkt niet. De formule klopt niet.
pi_197669486
Verticaal zoeken kan niet op deze manier.
Hij zoekt in de meest linkerkolom van een matrix (dus A in jouw voorbeeld) en geeft de xe kolom van de matrix terug. Je kan niet naar links tellen, alleen naar rechts. Je kan dus niet verwijzen naar een kolom, alleen een getal invullen als 3e parameter...

Zet in sheet 1 je merken in kolom A en de landen in kolom B.
Je formule wordt dan:
1    =VERT.ZOEKEN(Sheet 2!A2;Sheet 1!A:B;2;0)

Als je de indeling niet kan/wil veranderen, is er ook een andere oplossing.
pi_197669589
@xaban06 de langzamere/complexere optie is:
1=INDEX(Sheet 1!A:A;VERGELIJKEN(Sheet 1!A2;Sheet 1!B:B;0);1)
Waarbij A:A de op te halen waarde is en B:B de te zoeken waarde. Dan hoef je de indeling niet te veranderen.

Eventueel nog te beperken tot A1:A99 en B1:B99 (afhankelijk van de lengte van je matrix)
pi_197681919
quote:
0s.gif Op dinsdag 26 januari 2021 11:00 schreef Twentsche_Ros het volgende:

[..]

Ha ha.
Je praat echt als een enthousiaste IT-er. Programmeur? Ik ben helemaal vergroeid met Excel en bovenstaand is voor mij abracadabra. Ik zou al op moeten zoeken wat "tweaken" is. Voorlopig ben ik met de oplossing die ik dankzij FOK heb gevonden tevreden. Maar ik zal bovenstaande tips zeker "in mind" houden. ;)
Je kan ook Power Query gebruiken. Zit ingebouwd in Excel en met een paar klikken kun je de mooiste dingen doen zonder dat je ingewikkelde formules hoeft te bedenken.

abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')