• 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.

Formule vert zoeken

Status
Niet open voor verdere reacties.

kabarka

Gebruiker
Lid geworden
31 aug 2015
Berichten
5
Zit met het volgend probleem, ik zou een formule moeten vinden dat in het tabblad "tabellen" de totaal bedragen van tabblad "januari" gaat vergelijken en zo de overeenkomende bonuspunten toewijst. kan dit met vert. zoeken? Bekijk bijlage 244989
 
Laatst bewerkt door een moderator:
Precies. De tabel die je hebt gemaakt is alleen maar tekst en daar kan je geen getal vergelijking mee doen.
 
Strikt genomen zou dat wel kunnen, maar dan moet je moeilijk gaan doen in de code.

De formule staat in H5 t/m H11.
Het is een UDF (User Defined Function) en de code ervan staat in Module1.
 
Wijzig in het blad Tabellen de kolommen A en B zoals in de bijlage bij dit bericht.
Typ dan in het blad 'jan' in H5:
Code:
=INDEX(Tabellen!A$2:B$8;VERGELIJKEN(G5;Tabellen!A$2:A$8);2)
en kopieer naar beneden.
 

Bijlagen

  • Tabel.gif
    Tabel.gif
    6,8 KB · Weergaven: 28
Edit vorig bericht:
Rij 8 in de afbeelding mag gewist worden.
In bovenstaande formule kan dan ook 1 rij minder komen; die wordt dan:
Code:
=INDEX(Tabellen!A$2:B$7;VERGELIJKEN(G5;Tabellen!A$2:A$7);2)
 
Zoals je ziet leiden er meer wegen naar Rome. 3 Werkende voorbeelden, doe er je voordeel mee :)
 
Staat hier toch echt:
Bonus.PNG

En dit is de UDF die in Module1 staat:
Code:
Public Function BonusPunten(target As Range) As Integer
    Dim i As Integer
    
    For i = 1 To Range("Bonus").Rows.Count
        If target.Value >= Range("Bonus")(i, 1) And _
           target.Value <= Range("Bonus")(i, 2) Then
            BonusPunten = Range("Bonus")(i, 3)
        End If
    Next i
End Function

De VBA code is leuk om naar te kijken en van te leren, zowel die van mij als die van kabarka, maar vooralsnog zou ik me, als ik jou was, eens verdiepen in de functie die zapatr voor je maakte.
 
Een UDF zonder verwijzing naar een tabel:

Code:
Public Function F_Bonus(y)
    F_Bonus = Choose(Application.Match(y \ 10 ^ 5, Array(0, 3, 5, 8, 12, 20, 30), 1), 0, 10, 25, 45, 70, 100)
End Function
 
Laatst bewerkt:
Hij is mooi! :thumb: Maar ik denk nog wat te hoog gegregepen voor TS ;)
 
In plaats van
Code:
=INDEX(Tabellen!A$2:B$7;VERGELIJKEN(G5;Tabellen!A$2:A$7);2)
kun je natuurlijk ook vertikaal zoeken gebruiken, dat is 1 functie minder:
Code:
=VERT.ZOEKEN(G5;Tabellen!A$2:B$7;2)
 
Denk niet dat het de bedoeling is om je oorspronkelijke vraag te verwijderen... dit hele draadje is nu lastig te volgen.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan