Toon posts:

[EXCEL] Kolommen verwijderen.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb met excel een vlookup functie gemaakt die een kolom vergelijkt met een andere kolom. Ik wil de waarde van een rij in kolom 2 vergelijken met alle rijen in kolom 1. Als deze niet gevonden wordt komt er N/A te staan in kolom 3. Dit is dus dan de ontbrekende waarde in Kolom 1. Dus die heb ik dan nodig.

Voor de zekerheid nog een voorbeeldje:

Kolom 1 Kolom 2 Kolom 3
2222 8888 N/A
4444 7777 N/A
3333 2222 2222

Dit heb ik gedaan met de volgende functie:
code:
1
=VLOOKUP(C2,$B$2:$C$6226,1,FALSE)


Maar de volgende situatie komt ook voor:

Kolom 1 Kolom 2 Kolom 3
2222 8888 N/A
4444 7777 N/A
3333 2222 2222
1111 8888 N/A
9999 8888 N/A

Zoals je kunt zien heeft kolom 2 drie maal dezelfde waarde 8888. Bestaat er een functie in excel die een kolom zuivert op dubbele waarden? Zodat ik in een nieuw excel bestandje of een ander tabblad eerst kolom 2 laat zuiveren en vervolgens daar mee ga werken.

  • whoami
  • Registratie: December 2000
  • Laatst online: 21:11
P&W -> SA

https://fgheysels.github.io/


Verwijderd

Topicstarter
Huh waarom staat deze post in Windows Operated Systems?

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)


Verwijderd

Ik heb net een vergelijkbare routine geschreven in vba

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Sub getUniqueArticles()
    Dim wsTotal As Worksheet
    Dim wsUnique As Worksheet
    Dim i As Integer 
    Dim k As Integer
    Dim j As String
    
    Set wsTotal = ThisWorkbook.Sheets(1)
    Set wsUnique = ThisWorkbook.Sheets(2)
    
    wsTotal.Range("A1").Select
    Selection.Sort Key1:=wsTotal.Range("C1"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

    i = 1
    k = 1
    j = wsTotal.Cells(i, 3)
    While wsTotal.Cells(i, 1) & "!" <> "!"
        While wsTotal.Cells(i, 3) = j
            i = i + 1
        Wend
        j = wsTotal.Cells(i, 3)
        wsUnique.Cells(k, 1) = wsTotal.Cells(i, 3)
        wsUnique.Cells(k, 2) = wsTotal.Cells(i, 4)
        wsUnique.Cells(k, 3) = wsTotal.Cells(i, 5)
        k = k + 1
        i = i + 1
    Wend
End Sub


Hier moet je genoeg uit kunnen halen denk ik. De code kijkt in kolom 3 naar een waarde die gelijk moet zijn als die gelijk is neemt hij em maar 1 keer over naar de volgende sheet.

let wel dat deze code de eerste sheet wel sorteert op kolom drie.....

[ Voor 25% gewijzigd door Verwijderd op 13-10-2003 13:13 . Reden: Dom foutje verbeterd ]


Verwijderd

Topicstarter
Is het mogelijk in Excel VB scripts in te voeren? Ik ga even de help functie doornemen. Bedankt.

Verwijderd

Druk eens op <Alt-F11> :P

Vergeet niet dat dit scriptje een op een uit een van mijn files komt, het is dus niet exact aangepast aan jou situatie.

Als je er echt niet uitkomt moet je maar een gil geven...

[ Voor 81% gewijzigd door Verwijderd op 13-10-2003 13:50 ]


Verwijderd

Topicstarter
-------Kolom A------Kolom B
Rij 1| 14024423 | 1002411
Rij 2| 33112470 | 1002496
Rij 3| 30089954 | 1002774

Dit is een gedeelte van mijn tabel op wsTotal.
Toen heb ik een tabblad aangemaakt met de naam wsUnique, daar staat niets in.
Vervolgens druk op ALT+F11.
Dan dubbelklik ik op ThisWorkbook.
Daar plak ik jou code in, met enige wijziging dat de verwijzing naar C1, B1 is geworden.
Dan run ik de code en krijg ik een runtime overflow error 6.

[ Voor 7% gewijzigd door Verwijderd op 13-10-2003 14:41 ]


  • KingRichard
  • Registratie: September 2002
  • Laatst online: 17-08 19:31

KingRichard

former Duke of Gloucester

Verwijderd schreef op 13 October 2003 @ 12:55:[...]Bestaat er een functie in excel die een kolom zuivert op dubbele waarden?[...]
Data -> Filter -> Uitgebreid filter... -> Alleen unieke records

a horse! a horse! my kingdom for a horse! (exeunt)
[got.profile] | [t.net.profile] | [specs]


Verwijderd

Topicstarter
KingRichard Thanks, dat ziet er simpel uit, ga het morgen even uit proberen.
Pagina: 1