Toon posts:

[EXCEL] Data vergelijken en verschillen zoeken

Pagina: 1
Acties:
  • 1.006 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Bestaat er een add-in/formule/macro waarmee data op eenvoudige wijze kunnen vergeleken worden
en je als resultaat krijgt:
i. hetzij de overeenstemmende waarden
ii. hetzij de verschillende waarden (A versus B of B versus A)

Waarbij A en B kolommen of rijen kunnen zijn op eenzelfde tabblad, ander tabblad of andere file.

Voorbeeld.
----------------
Ik heb verkoopsgegevens van 2003 en 2004.
Ik wil een lijst kunnen maken van
-1- producten die in beide jaren zijn verkocht
-2- producten die alleen in 2003 zijn verkocht
-3- producten die alleen in 2004 zijn verkocht
Het resultaat hiervan moet in ander werkblad komen te staan.

Met vert.zoeken lukt het ook, maar is omslachtig:
-1- vert.zoeken op één van beide files
-2- vert.zoeken in 2003 naar sleutel in 2004,
alle rijen waar data ingevuld staan eruit zwieren
de #N/B's vormen 't resultaat
-3- idem maar 2003 & 2004 omswitchen

Dus het lukt, maar vraag me af of er geen tooltje bestaat dat zoiets sterk zou vereenvoudigen?

Bedankt voor jullie antwoord.

SjoFaaSj
(8>

Verwijderd

Ik heb hier al eens een heel uitgebreid topic over gezien, maar volgens mij kun je dit soort dingen beter in access doen.

Verwijderd

Topicstarter
Ook à gedacht, maar access is géén optie, want gegevens zitten allen in excel...
Denk dat er oplossing moet komen van hetzij add-in (heb ik gevonden via google, maar te betalen),
hetzij één makro per voorwaarde...

Verwijderd

Kun je een concreet voorbeeld posten, ik kan me er ondanks je beschrijving niet makkelijk iets bij inbeelden.

[ Voor 2% gewijzigd door Verwijderd op 16-03-2005 18:07 . Reden: er ]


Verwijderd

Verwijderd schreef op woensdag 16 maart 2005 @ 15:18:
Ook à gedacht, maar access is géén optie, want gegevens zitten allen in excel...
Denk dat er oplossing moet komen van hetzij add-in (heb ik gevonden via google, maar te betalen),
hetzij één makro per voorwaarde...
Is gegevens exporteren vanuit excel dan geen optie?

  • Fish
  • Registratie: Juli 2002
  • Niet online

Fish

How much is the fish

Verwijderd schreef op woensdag 16 maart 2005 @ 15:18:
Ook à gedacht, maar access is géén optie, want gegevens zitten allen in excel...
Denk dat er oplossing moet komen van hetzij add-in (heb ik gevonden via google, maar te betalen),
hetzij één makro per voorwaarde...
via acces kun je gewoon in excel sheets gebruiken hoor
(linken en/of importeren)

Iperf


Verwijderd

Topicstarter
Chablis & Fish

Ik werk met vele excelfiles die quasi voortdurend wijzigen. Een export naar Acces zoals jullie voorstellen is me te omslachtig en te tijdrovend. En plus, er zijn mensen hier op 't werk die wel excel hebben op hun PC, maar geen acces geïnstalleerd. Ik wil hen een oplossing sturen (bvb excel-makro of plugin) waar ze mee kunnen werken, maar export naar Acces is voor hen dus onmogelijk.

---------------------------------------

bFunk

Een concreet voorbeeld?
In 2003 is artikel 001, 002 en 003 verkocht.
In 2004 is artikel 001, 003 en 004 verkocht.
Ik moet onmiddellijk uit de file kunnen halen:
1) overeenstemmende producten, zijnde 001 en 003
2) producten enkel in 2003, zijnde 002
3) producten enkel in 2004, zijnde 004

Zo duidelijker?
Lijkt makkelijk als het over drie artikelen gaat, maar zoek deze maar eens uit een paar duizend lijnen... En zoals ik al zei, momenteel behelp ik me met vert.zoeken, maar 't is niet ideaal noch snel.

SjoFaaSj
(8>

Verwijderd

Verwijderd schreef op donderdag 17 maart 2005 @ 11:35:
..

bFunk

Een concreet voorbeeld?
In 2003 is artikel 001, 002 en 003 verkocht.
In 2004 is artikel 001, 003 en 004 verkocht.
Ik moet onmiddellijk uit de file kunnen halen:
1) overeenstemmende producten, zijnde 001 en 003
2) producten enkel in 2003, zijnde 002
3) producten enkel in 2004, zijnde 004

Zo duidelijker?
Lijkt makkelijk als het over drie artikelen gaat, maar zoek deze maar eens uit een paar duizend lijnen... En zoals ik al zei, momenteel behelp ik me met vert.zoeken, maar 't is niet ideaal noch snel.

SjoFaaSj
(8>
Staan de verkochte artikelen in kolommen per jaar, verschillende sheets met zelfde opmaak, altijd vaste volgorde? Bovenstaande is namelijk nog steeds geen concreet voorbeeld hoe het er in Excel uitziet. Ik kan wel oplossingen voorstellen maar daarvoor moet ik begrijpen hoe de dingen in Excel eruit zien.

  • prutsger
  • Registratie: Oktober 2001
  • Laatst online: 19-12 20:37
Lijkt mij het simpelste om A en B op te slaan in afzonderlijke .csv bestanden, en dan vervolgens met beyond compare oid de verschillen te bekijken?

Beyond compare gebruik ik op mijn werk veel, nog geen betere compare/merge programma gevonden!
Enige nadeel is dat het niet gratis is...

Verwijderd

Topicstarter
De waarden die moeten vergeleken worden staan steeds geïsoleerd in één kolom, maar dat kan een kolom zijn in een ander werkblad of een andere file.
Het is niet zo dat de opmaak van het werkblad steeds gelijk is.
In mijn voorbeeld zou dat bvb wel kunnen: kolA = referentienummer, kolB = sales van januari, kolC = sales van februari, etc...
Maar het is niet noodzakelijk op die manier.
Kan bvb ook lijst zijn met klantgegevens enerzijds en verkopen per klant anderzijds. De sleutel is het klantennummer, maar beide sheets zijn compleet anders opgebouwd.

Practisch gezien zou het een makro moeten zijn waarbij je de te vergelijken bereiken zèlf moet selecteren.
Idealiter zou je bij 't laten lopen van de macro de vragen moeten krijgen:
-- selecteer bereik A...
-- selecteer bereik B...
-- Geef nummer op (1 = overeenstemmende waarden; 2= uniek in A; 3= uniek in B) ...

SjoFaaSj
(8>

Verwijderd

Topicstarter
Prutsger

Ik betwits de mogelijkheden van dit programma zeker niet, maar Beyond Compare heeft niet alleen 't nadeel van de prijs (alhoewel niet onoverkomelijk), maar 't is tevens een extra programma en zit dus niet vervat in Excel zelf. Zie ook bovenstaand antwoord naar Chablis & Fish over het gebruik door verschillende users.

  • CoRrRan
  • Registratie: Juli 2000
  • Laatst online: 24-06 09:35

CoRrRan

Don't Panic!!!

Als simpel, doch weinig toevoegend, antwoord op je vraag kan ik zeggen: ja, mbv een macro kun je doen wat je vraagt. Echter deze zul je toch zelf in elkaar moeten knutselen. Verdiep je eens in de code van Visual Basic for Applications en kijk of je iets kunt maken wat werkt.

Tips: gebruik het volgende stukje code:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
Range("A1").Activate
intCount = 999
For i = 0 to intCount
  strFindCrit = ActiveCell.Offset(i,0).Value
  Set rngRange = ActiveSheet.Range("B1:B10000")
  Set rngFind = rngRange.Find(strFindCrit, LookIn:=xlValues)
  If Not rngFind Is Nothing Then
    ActiveCell.Offset(i,2).Value = TRUE
  Else
    ActiveCell.Offset(i,2).Value = FALSE
  End If
Next i
Deze code zal (als voorbeeld) door alle 1000 rijen van kolom A lopen en kijken of de waarden die hierin staan in kolom B terug komen. In kolom C wordt dan een TRUE of FALSE geplaatst als het gevonden wordt. Deze code is makkelijk aan te passen naar wat jij wilt hebben. Steek er even moeite in en je hebt zo een prachtig programma dat je via een AddIn van Excel kunt leveren aan je Eindgebruikers.

[ Voor 2% gewijzigd door CoRrRan op 17-03-2005 16:11 . Reden: "=" verandert in "Is" in code ]

-- == Alta Alatis Patent == --


Verwijderd

Topicstarter
CoRrRan

Onder je naam staat wel "don't panic", maar euh.....
'k Ben niet te beroerd om toe te geven dat ik van je VBA weinig snap,
laat staan dat ik me zelf zoiets in elkaar zie knutselen...

Ik dank je voor de moeite die je je getroostte om dit even in 't kort uit te werken,
maar 't was net omdat ik me er geen meester over zie,
dat ik hier op 't forum een balletje opwierp.

Zijn er VBA-specialisten in de zaal....?

SjoFaaSj
(8>

Verwijderd

Topicstarter
Écht niemand ??

(8> wordt :'(
Pagina: 1