Excel Twee lijsten combineren

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

Acties:
  • 0 Henk 'm!

  • seppie
  • Registratie: Januari 2000
  • Laatst online: 21-05 15:32

seppie

Wie anders?

Topicstarter
Ik zoek een code in excel om twee lijsten met ieder 700 respectievelijk 450 nummers met elkaar te vergelijken. Met andere woorden, in lijst 1 (700 nummers) zitten getallen die ook kunnen voorkomen in lijst 2 (450 nummers). Dus er moet een lijst 3 komen wanneer het getal zowel in lijst 1 als in lijst 2 voorkomt.

Heeft iemand een idee hiervoor?

Don't You stare there, Operate!


Acties:
  • 0 Henk 'm!

  • Bergen
  • Registratie: Maart 2001
  • Laatst online: 28-05 17:02

Bergen

Spellingscontroleur

Is het een eenmalige actie of ga je dit regelmatig gebruiken? Voor een eenmalige actie zou ik ze opslaan als csv en een scriptje in bijvoorbeeld php schrijven om ze te parsen.

Acties:
  • 0 Henk 'm!

  • seppie
  • Registratie: Januari 2000
  • Laatst online: 21-05 15:32

seppie

Wie anders?

Topicstarter
Eenmalige actie. Ik heb niet echt veel ervaring met PHP echter....

Don't You stare there, Operate!


Acties:
  • 0 Henk 'm!

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Hier een stuk python code wat het zou moeten doen, python kan je downloaden van python.org en dit stukje tekst opslaan als bestand.py en het zou moeten werken :)
Python:
1
2
3
4
5
6
7
8
9
FILENAME = 'bestand.txt' # verander dit naar de bestandsnaam
SEPARATOR = ',' # verander dit naar het scheidingsteken

l = set()
for line in file(FILENAME):
  for num in line.split(SEPARATOR):
    l.add(num)

print '\n'.join(l)

[ Voor 15% gewijzigd door Wolfboy op 22-01-2008 05:01 ]

Blog [Stackoverflow] [LinkedIn]


Acties:
  • 0 Henk 'm!

  • Jay-P
  • Registratie: Oktober 2003
  • Laatst online: 00:39
Lijkt me nogal overkill om hiervoor iets te gaan scripten in een adere taal, zeker aangezien excel hier zelf toch zat oplossingen voor heeft. Ik zou gewoon een formule maken, zoiets als (even uit mijn hoofd, zal ongetwijfeld niet helemaal kloppen) =IF(MATCH(A1,B:B)), dan heb je dus in column A lijst 1 in column B lijst2, en de formule stop je in C. dan heb je iig een overzicht met waardes die in beide voorkomen. Volgende stap is hier een lijst van maken.

Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
copieer de lijst 2 naar een nieuw tabblad (gewnaamd lijst 3 ), doe een vlookup naar lijst 1 en verwijder alle regels die niet in de vlookup zitten.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 23:10

Janoz

Moderator Devschuur®

!litemod

Hoe je uberhaupt bij php komt is mij een raadsel. Niet alleen heeft excel zelf uitgebreide scripting/macro mogelijkheden, maar ook is een standaard xls bestand niet zomaar in te lezen in php.

Voor problemen met office producten hebben we een prachtig subforum genaamd Office suites en -software. Aangezien dit topic daar beter past verplaats ik het. Ik wil je met klem aanraden hier wat beter op te letten...

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • seppie
  • Registratie: Januari 2000
  • Laatst online: 21-05 15:32

seppie

Wie anders?

Topicstarter
Excuus, het was al laat... :)

Lijsten vergelijken lukt nu aardig, met combinatie van IF en MATCH, echter loop ik nu tegen volgend probleem, de lijsten zijn niet in hetzelfde format.

Dus lijst 1 is 1234567-1234567 en lijst twee is 1234567. Ik moet het eerste deel van lijst 1 vergelijken met lijst 2. Hoe verwijder ik dus alle data uit lijst 1 na het "-" teken?

Don't You stare there, Operate!


Acties:
  • 0 Henk 'm!

  • silmaril8
  • Registratie: Augustus 2006
  • Niet online
Gebruik gewoon formule: =VLOOKUP (ik weet niet de nederlandse variant hiervan)

En om 1234567-1234567 te veranderen in 1234567 moet je het volgende doen:
selecteer de kolom met 1234567-1234567 en kopieer deze naar een nieuwe excel sheet.
Sla deze excel sheet op als een Unicode Text bestand
Daarna open je een nieuwe excel en open je het Unicode Text bestand. Klik dan op Next (volgende) en daarna vink je het hokje aan waar staat Other (andere?) en ze in het hokje een "-" streepje. Dan weer op Next drukken en voila: 2 kolommen. Daarna kopieer je 1 kolom terug naar je originele excel en gebruik je VLOOKUP (ik weet niet de nederlandse variant daarvan....) om het met elkaar te matchen. Alhoewel de IF/MATCH manier ook goedwerkt.

[ Voor 80% gewijzigd door silmaril8 op 22-01-2008 14:49 ]


Acties:
  • 0 Henk 'm!

  • Bergen
  • Registratie: Maart 2001
  • Laatst online: 28-05 17:02

Bergen

Spellingscontroleur

Janoz schreef op dinsdag 22 januari 2008 @ 07:48:
Hoe je uberhaupt bij php komt is mij een raadsel. Niet alleen heeft excel zelf uitgebreide scripting/macro mogelijkheden, maar ook is een standaard xls bestand niet zomaar in te lezen in php.
Ten eerste was PHP zoals gezegd maar een voorbeeld. Ten tweede gaf ik al aan dat het daarbij makkelijker is om het als CSV op te slaan ipv XLS. Lezen... ;) Maar je hebt wel gelijk, onder Windows is PHP geen voor de hand liggende optie. Waarschijnlijk vond ik het vannacht een handige oplossing omdat ik veel onder Linux werkt en dan kun je 't makkelijk vanaf de console uitvoeren. Bovendien heb ik daar geen Excel, dus geen visual basic bij de hand. Het zou niet de eerste csv-sheet zijn die ik parse met PHP, vind 't ideaal met de fgetscsv functie. Maargoed, terug naar Windows.

Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Mm, wat een ingewikkelde methodes.
"=LEFT(A1,SEARCH("-",A1)-1)" lijkt me makkelijk om alles na "-" te verwijderen.
Duplicaten kun je weghalen met Data->Filter->Advanced Filter. En dan "unique records only" aanvinken.

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • silmaril8
  • Registratie: Augustus 2006
  • Niet online
pedorus schreef op dinsdag 22 januari 2008 @ 15:13:
Mm, wat een ingewikkelde methodes.
"=LEFT(A1,SEARCH("-",A1)-1)" lijkt me makkelijk om alles na "-" te verwijderen.
Duplicaten kun je weghalen met Data->Filter->Advanced Filter. En dan "unique records only" aanvinken.
"=LEFT(A1,SEARCH("-",A1)-1)" is een makkelijker methode ja :)

Maar die van duplicaten weghalen begrijp ik niet? Waarom zou hij duplicaten moeten weghalen?

Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Je verwijdert daarna de unieke records en je houdt de duplicaten over... Vergeet niet Data->Filter->Show all en dat de eerste regel een kopje is.

(Ik had gewoon even fout gelezen trouwens)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • silmaril8
  • Registratie: Augustus 2006
  • Niet online
pedorus schreef op dinsdag 22 januari 2008 @ 15:35:
Je verwijdert daarna de unieke records en je houdt de duplicaten over... Vergeet niet Data->Filter->Show all en dat de eerste regel een kopje is.

(Ik had gewoon even fout gelezen trouwens)
Dan kan je net zo goed VLOOKUP gebruiken. En dan hoef je ook niks te plakken onder elkaar :)

Acties:
  • 0 Henk 'm!

  • seppie
  • Registratie: Januari 2000
  • Laatst online: 21-05 15:32

seppie

Wie anders?

Topicstarter
Ik ben eruit, het is gelukt. Helemaal top. Thanks.

Don't You stare there, Operate!

Pagina: 1