• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Rijen zoeken en bepaalde cellen vergelijken

Status
Niet open voor verdere reacties.

BarryVdW

Gebruiker
Lid geworden
18 nov 2018
Berichten
38
Beste,

Heb 2 verschillende Excel bestanden waarin bepaalde waarden staan. Deze moeten vergeleken worden en de verschillen dienen aangeduid te worden of beter op een apart blad ingevuld te worden.
Om het makkelijker uit te leggen heb ik het bestand 1 en bestand 2 genoemd.
In bestand 1(=export uit een programma) heb je kolom A waar je PS.???? of RWZI.???? kan terug vinden. Deze komt overeen in bestand 2(=aangeleverde Excel) met de combinatie van kolom G en E.
In bestand 1 dient kolom D en E vergeleken te worden met in bestand 2 kolom I.
In kolom I: - Werkdagalarm komt overeen met in bestand1 kolom D: 10
- Dagalarm komt overeen met in bestand1 kolom D: 12
- Onmiddellijk komt overeen met in bestand1 kolom D: 14
De vertragingstijd dat in kolom I aanwezig is komt overeen met het getal dat in kolom E van bestand1 aanwezig is.

Om uit deze ganse lijst dus de verschillen aan te geven zou het makkelijkst zijn dat dit op een apart blad zou weergegeven worden met de waarde uit beide bestanden. Eventueel een andere mogelijkheid is misschien dat de rijen worden ingekleurd waar er een verschil is.
Hopelijk is het een beetje duidelijk.


Met vriendelijke groeten,
Barry
 

Bijlagen

zo ?
 

Bijlagen

De uitvoering is juist enkel werkt het niet volledig bij mij. De eerste maal kreeg ik foutmelding op .Range("A1").CurrentRegion.AutoFilter, heb dan eerst de autofilter uitgeschakeld en terug de macro uitgevoerd.
Hierna bleef hij hangen op .Value = Application.Index(dict.items, 0, 0)
Mocht het helpen, werk momenteel met Excel 2013.
 
inderdaad, 1 en ander aangepast.
Die application.index kan fout gaan op >255 karakters op een 2013, dus daar wordt nu op afgekapt.
 

Bijlagen

Laatst bewerkt:
Nu loopt hij inderdaad zonder foutmeldingen. Hartelijk dank.
Nog een vraagje, is het ook snel aan te passen om de PS. en de RWZI. weg te laten en enkel de 4 tekens erna te nemen?
Hetgeen me nu opvalt is dat bij bv de 100A deze wel overeenkomen (bij beide 12/120) maar omdat in het ene systeem er KLPS en in het andere PS voor staat, zet hij dit bij diegene die niet overeenkomen.
Hetgeen met elkaar moet kloppen zijn enkel dus de 12/120 met dagalarm / 120
Dan zou de lijst met verschillen kleiner moeten zijn.

Met vriendelijke groeten,
Barry
 
zo dan ?
Vermoedelijk moet ik de formule in de A-kolom nog aanpassen, nu wordt er gekeken naar ergens 120' vertraging.
 

Bijlagen

Klopt inderdaad. Met 120 gebeurd de filtering goed. Wanneer er in de ene lijst een 5 staat en in de andere een 0, filtert hij het bij de gelijke hetgeen eigenlijk bij de niet gelijke moet komen.
Misschien dat je kan filteren op 8, 10, 12 en 14 ipv 0, 5 en 120? Moest er een extra tijd bijkomen, moet de macro aangepast worden, bij de prioriteiten 8, 10, 12 en 14 kunnen geen meer bijkomen.

Alvast bedankt
 
versie #6
Code:
=--(C2<>D2)*(AANTAL.ALS(C2:D2;"*120*")>0)
we zitten in een rondje aan het lopen.
Bovenstaande formule in de A-kolom geeft een 1 wanneer de C-kolom verschilt van de D-kolom en in minstens 1 van beide 120 staat.

versie #4
Code:
=--OF(C2<>D2;AANTALARG(E2:F2)=1)
kwam er op neer, dat de C-kolom verschilde van de D-kolom en er ook iets in E of F stond.

Wil je nu filteren op C en D verschillend en C-kolom en/of D-kolom begint bijvoorbeeld met 8 en/of 10 en/of 12 en/of 14 ?
Dus een soort multiple choice ?
Dat is allemaal wel mogelijk, maar schakelt dat misschien niet sneller handmatig ?
Dus op het pijltje van C1 en/of D1 klikken en dan de gepaste vinkjes zetten.
 
Met mijn vorig antwoord en uw vorig antwoord van dat waarschijnlijk de filtering in de A kolom nog wat moet aangepast worden, wilde ik zeggen dat het misschien makkelijker is om ipv op voorwaarde dat er 120 moet instaan er 8, 10, 12 en 14 in staat daar deze overal aanwezig zijn.
Heb getest met een lijn zodat in de ene kolom 14/5 en in de andere kolom 14/0 komt en deze laat de filtering zien in kolom A bij 0, normaal zou deze in de filtering bij 1 moeten staan, doordat momenteel de filtering gebeurd met de voorwaarde dat er minstens 120 moet instaan.
Was aan het denken moet die voorwaarde er instaan dat in 1 van beide 120 moet staan? Als enkel de formule in de A kolom is dat C en D van elkaar moeten verschillen het dan een 1 geeft, kan dat niet werken om de juiste filtering te krijgen?
 
in bijlage wordt nu enkel gefilterd als C en D van elkaar verschillen en dan blijven er een 15-tal over, die in beide bestanden stonden en een kleine 2.800, die enkel in het 2e bestand stonden.
De rest kan je dan via handmatig filteren zelf doen, er bestaan eigenlijk maar een 5-tal gebruikte combinaties van 8, 10, 12 en 14.
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan