Toon posts:

[Excel 2008, Mac] Zoeken en vervangen van duizenden waarden

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Besten,

Ik zoek mij suf, maar ben echt ten einde raad het volgende probleem op te lossen.

In een Excelsheet met 750.000 records in 1 kolom staat een selectie van circa 250.000 id-nummers. In een andere kolom heb ik die id-nummers met plaatsnaam; id-nummer met postcode of id-nummer met leeftijd.

Nu wil ik alle gegevens uit de 750.000 records vervangen door waarden uit de kolom van 250.000 id-nummers met extra info. Doel: uiteindelijk alle plaatsnamen ipv id's in de kolom met 750.000.

Voorbeeld:
Afbeeldingslocatie: http://www.manvanderekening.nl/excel.png

VBA kan ik niet gebruiken (wordt niet ondersteund).

Mijn vraag: ik wil graag zoeken en vervangen. En het liefst met een druk op de knop ipv 250.000 zoeken in de kolom van 750.000 en die handmatig aanpassen. Let op: er zijn ook veel id's die niet voorkomen.

Extra info: ik kom eea tegen over 'zoeken en vervangen'. Maar iets automatiseren zit er niet bij. Het is niet erg om alles middels een ander programma te vervangen, maar dat kom ik tot dusver niet tegen.

[ Voor 11% gewijzigd door Verwijderd op 01-01-2011 20:42 ]


Acties:
  • 0 Henk 'm!

  • Kanivan
  • Registratie: Januari 2002
  • Laatst online: 09-04-2023
isoleer de getallen in je id kolom dan kan je met vertikaal zoeken de waarden "vervangen".
De getallen kan je isoleren dmv combinatie van FIND en LEFT functie (uitgaande dat opmaak van id altijd getal spatie naam stad is): =LEFT(C2,FIND(" ",C2)-1), waarbij C2 referentie naar een ID cell is.

[ Voor 52% gewijzigd door Kanivan op 02-01-2011 08:01 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Wat bedoel je precies met isoleren? Die term is mij onbekend.

Bij het invoeren van de formule (zonder voorwerk) vindt Excel dat er een fout is en kan de formule niet ingevoerd worden.

Zou je eea nog iets meer kunnen uitleggen.

Thanks alvast!

Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Met isoleren wordt de term bedoeld zoals die in de Van Dale staat, geen technische term. Splits kolom B op in twee losse kolommen (C en D) met de genoemde functies. Dan is het vervangen te doen met een extra hulpkolom (E) waar je met horizontaal zoeken de juiste plaatsnaam opzoekt.

Maar even bomen ipv. bos: je wilt hier geen Excel voor gebruiken. Zet het in een (SQL-)database, dan is het een kwestie van een enkele query draaien en klaar. Sterker nog, best kans dat die brongegevens uit een database komen, vraag een andere export.

Zelfs een scriptje (PS, WSH, batch(FOR), python, whatever) [edit: je favoriete taal op de Mac] en wat txtbestanden is misschien sneller.

[ Voor 3% gewijzigd door F_J_K op 04-01-2011 13:05 ]

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • benoni
  • Registratie: November 2003
  • Niet online
Verwijderd schreef op zaterdag 01 januari 2011 @ 20:14:
VBA kan ik niet gebruiken (wordt niet ondersteund).
Excel voor de Mac is scriptable met Applescript.
F_J_K schreef op dinsdag 04 januari 2011 @ 13:05:
Zelfs een scriptje (PS, WSH, batch(FOR), python, whatever) [edit: je favoriete taal op de Mac] en wat txtbestanden is misschien sneller.
Python en Bash shellscripting werkt (met het programma Terminal).

Voorbeeld met grep (niet getest):

Bewaar de 750000 records in een plat tekstbestand 'records.txt' (1 record ID per regel).
Bewaar de 250000 id's in een tekstbestand 'ids.txt' (per regel 1 ID met de naam er achter).

for id in `cat records.txt`; do match=`grep -E "^$id" ids.txt`; if [[ "" == $match ]]; then echo $id; else echo $match; fi; done


Addit:
Als je veel met dit soort lookups moet werken en je wilt dat het doorlopend automatisch wordt bijgewerkt zonder dat je daarvoor ingewikkelde scripting of backend databases hoeft te bouwen, gebruik dan Filemaker.

[ Voor 22% gewijzigd door benoni op 04-01-2011 13:51 ]


Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
F_J_K schreef op dinsdag 04 januari 2011 @ 13:05:
Maar even bomen ipv. bos: je wilt hier geen Excel voor gebruiken.
Och, ook met Excel is het minder dan 1 min. werk als je weet wat te doen.. :p Als de id-opzoeklijst gesorteerd is, iets als vert.zoeken(tekst([gezochtnummer]+1;"0");[lijstjemetids];1), en doortrekken naar onderen. Vervolgens het hele lijstje kopieren, en plakken over de nummers als waarden. Hulpkolom weggooien, en klaar.

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
@ anderen: Filemaker is voor mij een te duur programma. Dat moet ik helaas overslaan. Van scripting heb ik verder weinig gegeten, dus heb de optie van Pedorus proberen uit te voeren.

Eea heb ik allemaal netjes los van elkaar gemaakt. Zie ook mijn screenie. Doe k t zo goed?

@ pedorus:
Afbeeldingslocatie: http://www.manvanderekening.nl/excel2.png

Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Hmm, ik vrees dat je nog niet zo handig bent met excel. Ik zou zeggen, kijk zelf eens naar de help van vert.zoeken en probeer het op te lossen. Als je de boel al gesplitst hebt, dan is de functie tekst en die +1 niet meer nodig. :p

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Thanks voor de link naar deze HELP. Het is gelukt!

Enige wat ik nog wil oplossen: als ik de formule naar beneden trek, veranderd mijn kolomnaam C1 in C2, etc. En dat is niet handig. Is hier ook een oplossing voor (waar moet ik op zoeken)?

Afbeeldingslocatie: http://www.manvanderekening.nl/excel3.png

Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Da's logisch, wegens een van de (erg handige) basisfuncties van Excel: zoek in de helptekst even naar het verschil tussen absolute en relatieve verwijzingen en pas je formule daar op aan :)

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • Fish
  • Registratie: Juli 2002
  • Niet online

Fish

How much is the fish

De absolute verwijzing mag je idd wel even opzoeken dat is te basic.

In vlookup zit wel een valkuil, in de treu/false variabele van range lookup als je deze op true zet gebruikt hij inteligentie en gaat een waarde raden wanneer die niet beschikbaar is. uit m'n hoofd kun je hem beter op false zetten.

Iperf


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
VET! Alles werkt en ik heb net 730.000 records gewijzigd. Heel fijn! Nu kan ik er ook andere waarden in gooien.

Naar beneden trekken duurt wel een minuut of 5. Maar dat maakt mij niet uit. Als n00b heb ik wel mn goede waarde op de juiste plaats. Thanks iedereen! :-D

P.S. Formule met 'Waar' werkt goed (true/false vraag).

P.S.2 Er komt rook uit mn machine! (stampen dat-ie doet)

P.S.3. False (onwaar) blijkt beter. Bij ruim de helft van mn records had Excel zelf een plaatsnaam verzonnen 8)7

[ Voor 21% gewijzigd door Verwijderd op 06-01-2011 15:25 ]

Pagina: 1