[Excel] Geavenceerde Lookup (Lookup binnen resultaat lookup)

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

  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Topicstarter
Hoewel de omschrijving redelijk cryptisch is hoop ik wel dat verschillende personen me hier begrijpen. De situatie is als volgt. Binnen Excel heb ik meerdere worksheets met daarin verschillende gegevens (Bijvoorbeeld: 1. Personen, 2. Rollen, 3. Lasactie).

Aangezien de verschillende worksheets erg groot zijn is het vrij lastig om voor elke lasactie die er is te controleren of de persoon in het 2. rollen sheet ook de rol: LS heeft.

2. Rollen
ABCDEFG
1
2Pers_NrRolStart_dtmEind_dtm
30010003WV
40010003LS
50010003UV
70010004WV
80010004LS
90010005UV
100010005WV


3. Lasactie
ABCDEFG
1
2Product_NrPers_NrStart_dtmEind_dtmCheck Rol
3AA110310010004
4AA110320010003
5AA110330010005
7AA110340010003
8AA110350010005
9AA110360010004
10AA110370010003


Nu wil ik in kolom G van het worksheet 3. lasactie netjes een check zetten of de persoon welke de lasactie uitvoerd ook daadwerkelijk de rol LS heeft. Ik dacht dat eenvoudig te kunnen doen door:
code:
1
=VLOOKUP(B3;ROLLEN!B3:E3500;2;FALSE)


Echter, geeft deze functie gewoon als resultaat de eerste match. Dus voor 0010003 zou ik dan WV terugkrijgen. Wat ik eigenlijk zou willen is dat ik:[list]• ofwel met een dubbele lookup_value kan werken. Zoek in het ROLLEN worksheet de persoon uit kolom C met als rol LS. Bestaat deze geeft dan de waarde TRUE en anders FALSE.• ofwel de rollen van de persoon uit kolom C opzoek en in een soortement van array stop en dan binnen het resultaat zoek naar de rol LS. Mocht de persoon deze dan hebben dan kan de waarde TRUE worden teruggegeven en anders de waarde FALSE.

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

He Woud: je hebt niet toevallig een voorbeeld xls-je? Ik heb al een aantal ideetjes, maar dat kan ik dan even uitproberen voor ik het hier neerkwak :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Topicstarter
BtM909, helaas kan ik je het echte sheet waarover dit gaat niet geven. Wel heb ik bovenstaand voorbeeld in dit (online) Excelbestand gestopt. Wellicht heb je daar wat aan.

[ Voor 7% gewijzigd door Woudloper op 18-09-2005 22:55 ]


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Ik heb er eigenlijk geen tijd voor, maar ben (volgens mij) wel redelijk in de goede richting (zonder vba ;)).

Ten eerste moet op het eerste tabblad (rollen) een extra kolom komen, waarbij velden D8 en E8 (etc) worden samengevoegd. Deze kolom kan je vervolgens hiden (of op een aparte werkblad en die vervolgens hiden).

Daarna kwam ik op de volgende functie uit voor het verticaal zoeken:

Veld I8:

code:
1
=VERT.ZOEKEN(TEKST.SAMENVOEGEN(E8;"LS");ROLLEN!F8:F14;1;ONWAAR)


Hierbij krijg je het resultaat te zien of #n/b.

Tot slot heb ik hieromheen een ALS functie gewrapped, die checkt of die waarde gelijk is aan de opzoekwaarde van bovenstaande functie. If true: dan ja weergeven, anders niks.

Dit lijkt te werken als de opzoekwaarde voorkomt. Kan de functie niks vinden dan blijft er #n/b staan. Ik krijg dat met geen mogelijkheid weg. De uiteindelijke functie zit er als volgt uit:

code:
1
=ALS(VERT.ZOEKEN(TEKST.SAMENVOEGEN(E8;"LS");ROLLEN!F8:F14;1;ONWAAR)=TEKST.SAMENVOEGEN(E8;"LS");"ja")


Je kan eventueel met voorwaardelijke opmaak de tekst ook wit maken, maar ik weet niet of het werkt met een foutmelding :(

disclaimer: don't shoot me, maar ik heb nu helaas alleen beschikking over een NL-talige excel versie

[ Voor 11% gewijzigd door BtM909 op 07-01-2004 14:36 ]

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Topicstarter
Tijdens de lunch vandaag een zinvolle ingeving. Ik dacht waarom niet van de ROLLEN een lijst maken die uniek is en daarop dan een lookup doen. Het klinkt wat vaag, maar het werkt in ieder geval wel.

Zie hieronder hoe ik het werkend heb gekregen. Ik heb gewoon een extra kolom bij de ROLLEN worksheet toegevoegd en daar de VLOOKUP op los gelaten.

2. Rollen
ABCDEFG
1
2Pers_NrRolStart_dtmEind_dtmUnieke Role
30010003WV=B3&C3
40010003LS=B4&C4
50010003UV=B5&C5
60010004WV=B6&C6
70010004LS=B7&C7
80010005UV=B8&C8
90010005WV=B9&C9


3. Lasactie
ABCDEFG
1
2Product_NrPers_NrStart_dtmEind_dtmCheck Rol
3AA110310010004/me
4AA110320010003
5AA110330010005
6AA110340010003
7AA110350010005
8AA110360010004
9AA110370010003


/me De formule in de gehele kolom G is dan:
code:
1
=IF(ISNA(VLOOKUP(C3&"LS";ROLLEN!G3:G3000;1;FALSE));FALSE;TRUE)

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

* BtM909 Iets met great minds think alike O-)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Topicstarter
BtM909:: Grappig, alletwee voor dezelfde oplossing gekozen. * Woudloper herinnerd zich zomaar een quote: "Great minds think alike".

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Idd, alleen door die rotte NL-versie kon ik die isna functie niet vinden :)

Succes verder!

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.

Pagina: 1