• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Kolommen samenvoegen met waardes dichtstbijzijnde bovenliggende cel

Status
Niet open voor verdere reacties.

Tweety1

Gebruiker
Lid geworden
6 mrt 2013
Berichten
637
Ik heb een formule die 2 kolommen samengevoegd. Bevat de cel de tekst “Eerste kans" of "Herkansing" dan gaat via verticaal zoeken bepaal tekst toevoegen en neemt hij de gegevens van de daar bovenste cel mee.
Alleen werk het niet meer omdat er iets is veranderd.
|

Wat ik graag wil is als de tekst via verticaal zoeken niet te vinden is en bevat kolom B de tekst "Eerste kans" of "Herkansing" dan de cel samenvoegen met de dichtstbijzijnde cel daarboven waarin het woord "Cluster / onderwijseenheid" staat.

Kolom –
D staat nu een oude formule.
F staat zoals ik graag wil hebben.
G staat een formule waar ik mee bezig ben maar niet goede uitkomst toont


Voorbeeld:
Bekijk bijlage Samenvoegen.xlsx

mvg

Kasper
 
Laatst bewerkt:
Kun je van je vraag en titel nog even fatsoenlijk, begrijpelijk Nederlands maken ?
 
In cel G2 onderstaande matrixformule plaatsen en ingeven met CTRL+SHIFT+ENTER:
Code:
=ALS.FOUT(ALS(OF(B2="Eerste kans";B2="Herkansing");B2&" "&INDEX(B:B;GROOTSTE(--($A$2:$A2="Cluster / onderwijseenheid")*RIJ($A$2:$A2);1));SPATIES.WISSEN(B2&" "&VERT.ZOEKEN(A2;Legende!$A$1:$B$6;2;0)));"")
 
Ziet er goed.
Als ik de matrix formule als vba wil gaan gebruiken dan kom ik boven de 255 tekens uit. Is het mogelijk zonder matrix?
 
Code:
Sub Macro1()

    Range("G2").Select
    Selection.FormulaArray = _
        "=IFERROR(IF(OR(RC[-5]=""Eerste kans"",RC[-5]=""Herkansing""),RC[-5]&"" ""&INDEX(C[-5],LARGE(--(R2C1:RC1=""Cluster / onderwijseenheid"")*ROW(R2C1:RC1),1)),TRIM(RC[-5]&"" ""&VLOOKUP(RC[-6],Legende!R1C1:R6C2,2,0))),"""")"
End Sub

Ik ben geen VBA-expert maar dit is gewoon opgenomen met de macro-recorder en werkt ook gewoon.
Of wil je er een user defined function van maken oid?
 
Laatst bewerkt:
Klopt. Heb het alleen in een ander formule toegevoegd waardoor ik boven de 255 karakters kom.
 
Ik zou zo 1,2,3 niet weten hoe dit op te lossen zonder matrixformule.
Omwegje: is het wellicht een idee om met behulp van VBA een tijdelijke hulpkolom te genereren met het matrixformule-gedeelte en vervolgens in een 'normale' formule te verwijzen naar de waarde in deze hulpkolom.
Dan met VBA de resultaten plakken als waarden en de hulpkolom weer weggooien.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan