Bekijk bijlage voorbeeld tabel MB.xlsx
Bijgaand mijn bijdrage.
Jammer dat je niet aangegeven hebt hoe omgegaan moet worden met de keuzevolgorde.
Ik ben er maar van uitgegaan dat je alle namen wilt zien, ongeacht de keuzevolgorde.
Edit: nu ik post #4 zie, blijk ik goed gegokt te hebben.
Zoals mij wel vaker overkomt, is het weer eens een matrixformule geworden, die je moet bevestigen met Ctrl+Shift+Enter.
In F2 en gekopieerd naar rechts en naar beneden:
Code:
=ALS.FOUT(INDEX($A$2:$A$5;KLEINSTE(ALS.FOUT(1/(1/(($B$2:$D$5=F$1)*(RIJ($A$2:$A$5)-RIJ($A$2)+1)));9,9999999999999E+307);RIJEN(F$2:F2)));"")
Toelichting:
De buitenste ALS.FOUT zorgt voor lege vakjes als er geen namen meer zijn voor de betreffende kolom.
daarbinnen wordt met INDEX de juiste naam uit $A$2:$A$5 geselecteerd, waarbij gekeken wordt waar de kleur van de betreffende kolom (F$1) voorkomt in matrix ($B$2:$D$5), vermenigvuldigd met het rijnummer.
Het deel
RIJ($A$2:$A$5)-RIJ($A$2)+1 levert de getallen 1 t/m 4 op.
Dus in F2 levert het deel
(($B$2:$D$5=F$1)*(RIJ($A$2:$A$5)-RIJ($A$2)+1)) de volgende matrix op:
1 0 0
0 0 0
0 0 3
4 0 0
Dan wordt er nog een truc toegepast om de nullen te wijzigen in "hele grote getallen" (volgens goed gebruik 9,99999999999999E+307 oftewel het grootste getal dat je handmatig in Excel kunt opgeven): dit gebeurt met de binnenste ALS.FOUT.
In het algemeen levert de constructie 1/(1/getal) het oorspronkelijke getal op, behalve als dat nul is, dan krijg je een fout en die vang je weer af met ALS.FOUT.
Dus dat binnenste stuk levert in F2 de getallen 1 3 en 4 op alsmede een aantal "hele grote getallen".
Dat geheel gaat weer de KLEINSTE functie in, met als 2e parameter het relatieve regelnummer
RIJEN(F$2:F2): in F2 is dat 1, in F3 2 etcetera.
Edit: ik heb de formules doorgetrokken tot en met regel 10, hetgeen een beetje overdreven is voor max. 4 namen...