• 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.

vergelijken twee databases

Status
Niet open voor verdere reacties.

bijltje

Gebruiker
Lid geworden
9 nov 2006
Berichten
20
Luitjes,
Ik heb het volgende probleem:
Ik heb twee kolommen A en D,
kolom A is een lijst van mensen die een opleiding afgerond hebben op niveau 5, kolom twee is een lijst van mensen die een opleiding afgerond hebben op niveau 4.

Nu zijn er mensen die zowel op niv. 4 als op niv 5 iets gedaan hebben, er zitten in beide kolommen echter ook unieke records.
Voor mij is het belangrijk om inzichtelijk te maken hoeveel mensen er uit de groep van niv. 4 ook iets gedaan hebben op niv. 5, deze personen krijgen dan als kenmerk niveau 5 (het hoogst genoten)

Ik ben al aan het prutsen geweest met de als-functie, maar daar kom ik niet helemaal uit.
Ik zoek eigenlijk een formule die kijkt of een cel deel uitmaakt van een verzameling in een kolom (zo kan ik niv4 vergelijken met de lijst van niv5)

iemand een tip of een hint?

Vriendelijke groet,

Sjors
 
vert.zoeken

vertikaal zoeken is de formule die je moet gebruiken. de voorwaarde is wel dat de namen identiek geschreven zijn, dus niet in kolom A jan peters en in kolom B peters jan en het is dezelfde persoon.

steven
 
Vergelijken van 2 kolommen

VBA oplossing;

Hier een code om twee kolommen te vergelijken.
Goed aan te passen aan je eigen wensen.
Deze is hoofdletter gevoelig, in de bijlage staat ook een de code voor een versie waar dat niet uit maakt.
De bijlage bevat uiteraard VBA code, voor die gene die liever geen 'onbekende' vba script willen starten op hun PC staat de vba code ook als leesbase tekst op een tabblad.

Code:
Sub Vergelijken()
' Hoofdletter gevoelig !
Dim i As Integer, j As Integer, Beide As Boolean
'
Dim Kolom1 As String, Kolom2 As String, Uniek1 As String, Uniek2 As String, In_Beide As String
'
' Welke kolommen vergelijken?
Kolom1 = "A" ' <---- kolom 1, pas waarde evt aan
Kolom2 = "D" ' <---- kolom 2, pas waarde evt aan
'
'Uitkomst vanaf kolom:
Uniek1 = "E" ' <---- 1e doel kolom, pas waarde evt aan
'
Uniek2 = Chr(Asc(Left(Uniek1, 2)) + 1) ' kolom daar naast
In_Beide = Chr(Asc(Left(Uniek1, 2)) + 2) 'en kolom daar weer naast
'
Columns(Uniek1 & ":" & In_Beide).ClearContents 'Maak de 3 doel kolommen leeg
' Plaats kolom koppen
Range(Uniek1 & 1) = "Uniek lijst 1"
Range(Uniek2 & 1) = "Uniek Lijst 2"
Range(In_Beide & 1) = "In beide lijsten"
'
' Uniek lijst1
For i = 2 To Range(Kolom1 & "65536").End(xlUp).Row
Beide = False
For j = 2 To Range(Kolom2 & "65536").End(xlUp).Row
If Range(Kolom1 & i) = Range(Kolom2 & j) Then Beide = True
Next
If Beide = False Then Range(Kolom1 & i).Copy Range(Uniek1 & Range(Uniek1 & "65536").End(xlUp).Row + 1)
Next
'
'Uniek lijst2
For i = 2 To Range(Kolom2 & "65536").End(xlUp).Row
Beide = False
For j = 2 To Range(Kolom1 & "65536").End(xlUp).Row
If Range(Kolom2 & i) = Range(Kolom1 & j) Then Beide = True
Next
If Beide = False Then Range(Kolom2 & i).Copy Range(Uniek2 & Range(Uniek2 & "65536").End(xlUp).Row + 1)
Next
'
'In_Beide (langste rij met de kortse vergelijken)
i = Range(Kolom1 & "65536").End(xlUp).Row
j = Range(Kolom2 & "65536").End(xlUp).Row
If i > j Then
    For i = 2 To Range(Kolom1 & "65536").End(xlUp).Row
    Beide = False
        For j = 2 To Range(Kolom2 & "65536").End(xlUp).Row
            If Range(Kolom1 & i) = Range(Kolom2 & j) Then Beide = True
        Next
    If Beide = True Then Range(Kolom1 & i).Copy Range(In_Beide & Range(In_Beide & "65536").End(xlUp).Row + 1)
    Next
Else
    For i = 2 To Range(Kolom2 & "65536").End(xlUp).Row
    Beide = False
        For j = 2 To Range(Kolom1 & "65536").End(xlUp).Row
            If Range(Kolom2 & i) = Range(Kolom1 & j) Then Beide = True
        Next
    If Beide = True Then Range(Kolom2 & i).Copy Range(In_Beide & Range(In_Beide & "65536").End(xlUp).Row + 1)
    Next
End If
End Sub
 

Bijlagen

Laatst bewerkt:
SUPER!
ik heb gewoon stiekum je blad genomen, mijn kolommen gekopieert en voila!
Wederom bedankt!

Groeten, Sjors
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan