Excel kolommen laten matchen

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • Chrizzel
  • Registratie: Juni 2011
  • Laatst online: 07:56
Mijn vraag:

Voor mijn scriptie moet ik met een behoorlijk groot dataset meerdere tests uitvoeren. Nu wil ik per case (in het voorbeeld van de plaatjes dus per "Type") alle test resultaten netjes achter elkaar laten zien. Het programma waarmee ik de tests uitvoer geeft echter alleen een resultaat weer als de test daadwerkelijk uitgevoerd kan worden, als de test niet uitgevoerd kan worden is niet alleen het resultaat niet te zien maar de hele case ook niet.

Op schrift kan ik het niet beter uitleggen dus ik heb een sterk versimpeld voorbeeld gemaakt welke in de onderstaande plaatjes te zien is. Dit is hoe mijn resultaten er na de tests uitkomen.
Afbeeldingslocatie: http://i64.tinypic.com/eff2mw.png

Nu zou ik dus eigenlijk een formule willen waarmee:
De waarde in een Cell in Column F wordt geplaatst in Column C als de waarde links van de desbetreffende Cell in Column F gelijk is aan de waarde in Column A.
Dit zou er dan als volgt uit komen te zien:
Afbeeldingslocatie: http://i67.tinypic.com/16h9ab8.png

In bovenstaand voorbeeld is dit uiteraard handmatig het makkelijkst op te lossen door een filter op de bovenste Row te zetten, op alfabet te sorteren en vervolgens handmatig te matchen. Het gaat in mijn geval echter om honderden cases, (ten minste) 6 tests en deze hebben geen type aanduiding als A of B maar een van 10 karakters (cijfers en letters door elkaar).


Relevante software en hardware die ik gebruik
Excel 2016 for Windows.

Wat ik al gevonden of geprobeerd heb
Niet zo gek veel omdat ik geen vergelijkbare voorbeelden heb kunnen vinden.

Als dit opgelost kan worden met een Excel formule zou dat me dagen werk schelen en minder fouten opleveren. Alvast bedankt voor het meedenken _/-\o_

Beste antwoord (via Chrizzel op 16-04-2018 11:50)

Alle reacties


Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • Archie_T
  • Registratie: Januari 2002
  • Laatst online: 08:21

Acties:
  • 0 Henk 'm!

  • Brilsmurfffje
  • Registratie: December 2007
  • Niet online

Brilsmurfffje

Parttime Prutser

Maak een nieuwe sheet, dan klik je op de eerste cell en type je = dan ga je terug naar de andere sheet en klik je op de eerste cell. Dan dubbelklik je op t kleine groene vierkantje onder de cell. Dit doe je vervolgens voor alle cellen die je wilt behouden. Dan selecteer je alle data op de nieuwe sheet en kopieer je deze naar nog een nieuwe sheet. Hier klik je op plakken als value. Nu kan je de andere 2 sheets weggooien

Acties:
  • +1 Henk 'm!

  • breew
  • Registratie: April 2014
  • Laatst online: 16:26
Je kunt hiervoor een combinatie van ALS() VERT.ZOEKEN() en ISFOUT() gebruiken..

Voorbeeldje
Logica:
  1. maak een lijst met alle unieke waarden (hier A t/m F[)/li]
  2. zoek met VERT.ZOEKEN() de waarde van de bijbehorende resultaten. Een niet gevonden waarde resulteerd in een foutmelding
  3. met ISFOUT() 'vang' je deze foutmeldingen
  4. met ALS() geef je weer: bij ISFOUT() = WAAR: "geen waarde", bij ISFOUT() = ONWAAR: het resultaat van VERT.ZOEKEN()
Resultaat:
visfout2

Omdat het een eindscriptie is, mag je de exacte formule zelf samenstellen d:)b

[ Voor 25% gewijzigd door breew op 14-04-2018 10:38 ]


Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

breew schreef op zaterdag 14 april 2018 @ 10:31:
Je kunt hiervoor een combinatie van ALS() [...]en ISFOUT() gebruiken..
Vroegah, heel lang gelden deden we dat zo... Sinds office 2007 ofzo kent Excel als.fout() waardoor de zoekexpressie nog maar één keer geëvalueerd hoeft te worden.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Acties:
  • 0 Henk 'm!

  • biomass
  • Registratie: Augustus 2004
  • Laatst online: 30-09 21:44
... handwerk. Probleem met VLOOKUP is dat mocht je per ongeluk een type dubbel gebruiken in een test, dat je maar één resultaat terug krijgt.
Dit is meer iets voor een database, maar als je de data in Excel wilt houden kun je VBA en de Scripting Runtime ActiveX library gebruiken.

Door het in VBA op te lossen kun je je testresultaten in één lange lijst houden; het resultaat schrijf je naar een apart werkblad.

https://stackoverflow.com...-dictionary-duplicate-key

Recept:
* definieer een named range voor je testdata en voor je uitvoer veld
* stop de data in een Variant door .RefersToRange.Value op te vragen
* lees de data in een for lus en maak een Dictionary van Dictionaries (test-type naar testresultaten)
* bouw een nieuw variant array op in de gewenste indeling
* schrijf de data naar je uitvoer door .RefersToRange.Value = array te doen

Acties:
  • 0 Henk 'm!

  • Chrizzel
  • Registratie: Juni 2011
  • Laatst online: 07:56
Allen hartelijk dank voor de reacties! Met de functie VLOOKUP (VERT.ZOEKEN in de NL versie van Excel) is het inderdaad gelukt.
De enige extra handeling was dat ik E2:F4 moest definiëren omdat bij het doortrekken van de VLOOKUP formule anders de range waarin de waarde werd opgezocht telkens een row naar beneden ging.

Acties:
  • +1 Henk 'm!

  • breew
  • Registratie: April 2014
  • Laatst online: 16:26
Chrizzel schreef op maandag 16 april 2018 @ 11:49:
Allen hartelijk dank voor de reacties! Met de functie VLOOKUP (VERT.ZOEKEN in de NL versie van Excel) is het inderdaad gelukt.
De enige extra handeling was dat ik E2:F4 moest definiëren omdat bij het doortrekken van de VLOOKUP formule anders de range waarin de waarde werd opgezocht telkens een row naar beneden ging.
Top dat het gelukt is!

Vwb de absolute celverwijzing:
https://informaticalessen...d/absolute-celverwijzing/
Lezen en nooit meer vergeten!
Pagina: 1