Pagina 1 van 1

Excel vraagje...(Query?)

Geplaatst: 28 jan 2017, 21:19
door Koelreuteria
Een vraagje van een Excel beginner voor de kenners hier:
Stel ik moet twee Excel rekenbladen met elkaar gaan combineren en daaruit data kopiëren. Data uit excel2 moet in excel1 komen.
Concreet:
Rekenblad excel1 bevat e-mail adressen
Rekenblad excel2 bevat dezelfde e-mail adressen en voornaam + naam.
Nu wil ik excel1 de juiste gegevens (voornaam + naam) krijgen bij het e-mail adres. De lijsten zijn uiteraard "willekeurig" in lengte.
'k Heb hier een soort stappenplan gevonden, maar 'k geloof dat het niet past met de versie van Excel die ik gebruik (versie 2010)
http://www.lochem.net/excel/1001.html
Google heeft veel resultaten.. Dus bos & bomen probleem. :-(
Kan iemand mij uit de brand helpen met een werkend voorbeeld of een link naar een tutorial die past voor mij?

Mijn dank zal groot zijn! ;-)

Re: Excel vraagje...(Query?)

Geplaatst: 28 jan 2017, 21:30
door heist_175
Je maakt een vlookup van werkblad1 naar werkblad2

Stel:
- werkblad1: email (kolom A)
- werkblad2: email+naam+tel (kolom A, B, C)
en beide werkbladen hebben niet hetzelfde aantal etc

dan doe je het volgende:
in cel B1 van werkblad1 zet je: =vlookup(A1;Werkblad2!A:C;2;FALSE)
-> Excel gaat in "werkblad2" in kolom A zoeken naar een match met "werkblad1/A1"
--> eens een match gevonden, gaat ie in cel B1 de waarde van de 2de kolom geven uit de range van werkblad 2 (in dit geval "A" +1 = "B" -> kolom B)
---> de "FALSE" duidt op een exacte match: [email protected] zal geen correcte match geven als je in werkblad1/A1 "[email protected]" had staan
in cel C1 van werkblad1 zet je: =vlookup(A1;Werkblad2!A:C;3;FALSE)

Re: Excel vraagje...(Query?)

Geplaatst: 30 jan 2017, 10:36
door Koelreuteria
Na wat puzzelen, blijkt het in de Nederlandstalige Excel het te gaan over VERT.ZOEKEN()
'k Ga daar eens mee experimenteren.
Toch nog enkele bedenkingen:
- werkblad 1, met de e-mails, kan zowel 25 als 10 000 adressen bevatten. De formule telkens zover slepen zal wat onhandig zijn vrees ik?
- werkblad twee is een bestand die telkens van naam verandert... Telkens de formule's gaan aanpassen?

Vandaar dat ik even dacht aan een query, zodat e.e.a. geautomatiseerd kan verlopen.
Maar hoe daar aan te beginnen... Heb hier helemaal geen kaas van gegeten. :-(

Re: Excel vraagje...(Query?)

Geplaatst: 30 jan 2017, 11:31
door axs
Je tabel omzetten in een 'lijst'
Kan je doen door de volledige tabel te selecteren en dan CtRl+L
Als je nu een formule invoert in een kolom, zal deze die automatisch dynamisch aanpassen, ook al boeg je rijen / kolommen toe.

Re: Excel vraagje...(Query?)

Geplaatst: 30 jan 2017, 15:28
door ubremoved_539
Koelreuteria schreef:Toch nog enkele bedenkingen:
Ik heb ook een bedenking... Excel is een rekenblad, geen database. Misschien eens overwegen de juiste tool te gebruiken ?

Ik herinner me zo secretaresses die hun brieven in Excel maakten omdat het eenvoudiger was met kolommen te werken :bang:

Re: Excel vraagje...(Query?)

Geplaatst: 30 jan 2017, 19:57
door fvhbrugge
Excel heeft wel degelijk enkele basis-database functies en is uitstekend geschikt voor eenvoudige database bewerkingen en zoals OP nodig heeft.

Complexere zaken dienen natuurlijk in een echte database afgehandeld.

Re: Excel vraagje...(Query?)

Geplaatst: 01 feb 2017, 10:15
door Koelreuteria
r2504 schreef:Ik heb ook een bedenking... Excel is een rekenblad, geen database. Misschien eens overwegen de juiste tool te gebruiken ?
Weet ik, maar Access zit niet in het Office pakket die ik gebruik...

Re: Excel vraagje...(Query?)

Geplaatst: 01 feb 2017, 10:31
door philippe_d
Ik ben het eigenlijk niet eens met deze kritiek.

Een timmerman die zal natuurlijk zijn professionele verstekzaag gebruiken, ook een loodgieter zal de juiste tools gebruiken voor zijn koppelingen, enz ...
Maar een doe-het-zelver behelpt zich met het materiaal dat hij heeft, en zal geen circelzaag kopen om één plankje te zagen :wink:

Akkoord dat Excel geen echte Database is, maar de Database functies die Excel bevat zijn toch redelijk uitgebreid, en waarschijnlijk méér dan genoeg voor wat de OP wil.

Secretaresses die hun brieven in Excel maken is natuurlijk grappig, die worden geacht Word Experts te zijn.
Maar voor een eenvoudig document die tabellen bevat (vb factuurke) zal ik ook Excel gebruiken ...

Re: Excel vraagje...(Query?)

Geplaatst: 01 feb 2017, 11:33
door ubremoved_539
Koelreuteria schreef:Weet ik, maar Access zit niet in het Office pakket die ik gebruik...
Geen idee welke versie je gebruikt maar in Office365 is het sinds kort terug beschikbaar (is een tijd eruit genomen).

Ik ken de exacte omstandigheden ook niet en weet niet of dit werk gerelateerd is... maar ik krijg kippevel als gebruikers data uit andere systemen gaan trekken en deze hun eigen leven begint. Eerst en vooral zijn dat enorme risico's (als een laptop gestolen wordt ligt plots eventueel gevoelige data op straat), en erger is dat de wijzigingen op dergelijke data nooit nog terug geraken naar het centrale systeem. Dit in combinatie met ondersteuning naar toekomstige versies (bv. mensen die iets gemaakt hadden in Access waarbij deze dan plots verdwijnt uit Office365) is het de nachtmerrie voor iedere IT afdeling.

Voor privé doeleinden spelen die dingen natuurlijk niet en zijn de beschikbare tools/kennis ook vaak veel beperkter.

Re: Excel vraagje...(Query?)

Geplaatst: 01 feb 2017, 13:21
door tb0ne
De andere kant is natuurlijk dat een gebruiker soms dingen nodig heeft die niet zomaar uit het centraal systeem kunnen komen of waarvoor IT geen tijd heeft of de middelen niet krijgt.
Zoals door anderen gezegd, vlookup met eventueel een macro moeten volstaan in dit geval denk ik.

Re: Excel vraagje...(Query?)

Geplaatst: 01 feb 2017, 13:29
door heist_175
Zonder macro heeft vaak de voorkeur, omdat het niet tegengehouden zal worden door mailfilters.
In dit geval zie ik geen reden om een macro te gebruiken.

Re: Excel vraagje...(Query?)

Geplaatst: 01 feb 2017, 13:55
door Koelreuteria
r2504 schreef:
Koelreuteria schreef:Weet ik, maar Access zit niet in het Office pakket die ik gebruik...
Geen idee welke versie je gebruikt maar in Office365 is het sinds kort terug beschikbaar (is een tijd eruit genomen).

Ik ken de exacte omstandigheden ook niet en weet niet of dit werk gerelateerd is... maar ik krijg kippevel als gebruikers data uit andere systemen gaan trekken en deze hun eigen leven begint. Eerst en vooral zijn dat enorme risico's (als een laptop gestolen wordt ligt plots eventueel gevoelige data op straat), en erger is dat de wijzigingen op dergelijke data nooit nog terug geraken naar het centrale systeem. Dit in combinatie met ondersteuning naar toekomstige versies (bv. mensen die iets gemaakt hadden in Access waarbij deze dan plots verdwijnt uit Office365) is het de nachtmerrie voor iedere IT afdeling.

Voor privé doeleinden spelen die dingen natuurlijk niet en zijn de beschikbare tools/kennis ook vaak veel beperkter.
1. 'k Heb enkel de beschikking over Excel 2010...
2. vrijwilligerswerk...
3. er komen twee .csv bestanden aan te pas.
4. ik ken en deel je bezorgdheid i.v.m. dataconsistentie, maar in deze situatie speelt het niet.
5. data die ik ontvang is geanonimiseerd en tb0ne heeft een punt.
6. concreet probleem even opnieuw schetsen, maar nu meer concreet, minder "familiaal":

Ik moet (... mag...) twee Excel rekenbladen met elkaar gaan combineren en daaruit data kopiëren.
Data uit excel2 moet in excel1 komen.
Concreet:
Rekenblad excel1 bevat enkel een reeks e-mail adressen die ook in excel2 voorkomen.
Rekenblad excel2 bevat uitgebreide lijst aan e-mail adressen en een vier cijferige code.
Nu wil ik excel1 de juiste nummercode "plakken" uit excel2 aan het het bijhorende e-mail adres die voorkomt in excel1. De lijsten zijn uiteraard "willekeurig" in lengte.

De tip om verticaal te zoeken is een gouden start, maar 'k zou het wat meer willen automatiseren, zoals hier is beschreven:
http://www.lochem.net/excel/1001.html
Maar het stappenplan past blijkbaar niet voor Excel 2010.
Vandaar mijn vraag of hier iemand mij op het juiste pad - of een werkend stappenplan - kan zetten. ;-)

Re: Excel vraagje...(Query?)

Geplaatst: 01 feb 2017, 19:09
door heist_175
@stappenplan
Alleen het lezen van dat stappenplan duurt langer dan het realiseren van de VLOOKUP :)

Re: Excel vraagje...(Query?)

Geplaatst: 01 feb 2017, 19:41
door fvhbrugge
Koelreuteria schreef: Ik moet (... mag...) twee Excel rekenbladen met elkaar gaan combineren en daaruit data kopiëren.
Data uit excel2 moet in excel1 komen.
Concreet:
Rekenblad excel1 bevat enkel een reeks e-mail adressen die ook in excel2 voorkomen.
Rekenblad excel2 bevat uitgebreide lijst aan e-mail adressen en een vier cijferige code.
Nu wil ik excel1 de juiste nummercode "plakken" uit excel2 aan het het bijhorende e-mail adres die voorkomt in excel1. De lijsten zijn uiteraard "willekeurig" in lengte.

De tip om verticaal te zoeken is een gouden start, maar 'k zou het wat meer willen automatiseren, zoals hier is beschreven:
http://www.lochem.net/excel/1001.html
Maar het stappenplan past blijkbaar niet voor Excel 2010.
Vandaar mijn vraag of hier iemand mij op het juiste pad - of een werkend stappenplan - kan zetten. ;-)
VLOOKUP (of vert.zoeken() ) dat is toch gewoon volledig automatisch? De correcte formule 1000x kopiëren dat gaat binnen 5 seconden !

hierbij de uitgeschreven formule voor nederlandstalige excel:
=VERT.ZOEKEN(A2;[excel2.xlsx]Blad1!$A$1:$B$1000;2;ONWAAR)

dat is zoeken naar mail uit cel A2 in de range uit de EXCEL2 tussen A1 en B1000 ,met mail in kolom A en code in kolom B

ONWAAR is nodig omdat bij onbestaand mailadres het dichtst benaderend mail adres gekozen wordt, hetgeen uiteraard verkeerd is.

uitleg over vertikaal zoeken : http://www.exhelp.be/formules/functies/348

en een extraatje: andere manier van zoeken: http://www.exhelp.be/formules/functies/969
INDEX() en VERGELIJKEN() als alternatief voor VERT.ZOEKEN()
Héél interessant, beetje moeilijker dan vertikaal zoeken maar heeft meer mogelijkheden
Het is een combinatie van INDEX() en VERGELIJKEN()

Re: Excel vraagje...(Query?)

Geplaatst: 02 feb 2017, 12:29
door schizm
ik gebruik VERT.ZOEKEN ook vaak, werkt gewoon makkelijker in excel om iets snel in mekaar te steken dan in access.

nog enkele tips :
- Nooit bang zijn om kopiëren en plakken te gebruiken in excel
- zet je vert.zoeken in een ALS(ISNB(),,) als je een propere lijst als resultaat wil (zie voorbeeld 1)
- Het meegeven van een rijen-bereik is aangewezen voor het zoekblad (snelheid) maar neem die ruim genoeg, als het echt om een lijst met een onbekende willekeurige lengte gaat is het echter niet verplicht (zie in voorbeeld 1 : A:B ipv $A$1:$B$9999)
- Indien je het excel bestand niet telkens wil hernoemen of de gegevens wil plakken kan je met de INDIRECT functie hele leuke dingen doen (zie voorbeeld 2, in cel H1 vul je in dit geval de naam van het excel bestand in waarin je wil zoeken bijvoorbeeld [excel2.xlsx]).

Voorbeeld 1 :
=ALS(ISNB(VERT.ZOEKEN(A2;[excel2.xlsx]Blad1!A:B;2;ONWAAR));"";VERT.ZOEKEN(A2;[excel2.xlsx]Blad1!A:B;2;ONWAAR))

Voorbeeld 2 :
=VERT.ZOEKEN(A2;INDIRECT(TEKST.SAMENVOEGEN($H$1;"Blad1!$A$1:$B$9999"));2;ONWAAR)

Re: Excel vraagje...(Query?)

Geplaatst: 03 feb 2017, 11:21
door ubremoved_539
Koelreuteria schreef:Rekenblad excel1 bevat e-mail adressen
Rekenblad excel2 bevat dezelfde e-mail adressen en voornaam + naam.
Nu wil ik excel1 de juiste gegevens (voornaam + naam) krijgen bij het e-mail adres.
De simpelste oplossing is... delete Excel1 en rename Excel2 naar Excel1 :lol:
schizm schreef:ik gebruik VERT.ZOEKEN ook vaak, werkt gewoon makkelijker in excel om iets snel in mekaar te steken dan in access.
Het is maar hoe je het bekijkt... onderstaande SQL is zelfs korter dan je Excel formule.

update table1 set name = (select name from table2 where mail = table1.mail)

Re: Excel vraagje...(Query?)

Geplaatst: 03 feb 2017, 12:33
door schizm
Die query is inderdaad kort en simpel maar tegen de tijd dat je de data in access-tabellen hebt zitten is die excel al lang klaar. (als de oorspronkelijke gegevens al in access staan heb je natuurlijk wel gelijk)