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

Als functie bij verwijzing

Status
Niet open voor verdere reacties.

Mikebaa

Gebruiker
Lid geworden
28 dec 2011
Berichten
63
Goedemiddag allemaal,

Voor mijn werk ben ik een EK poule aan het maken in Excel.
Nu weet ik dat er standaard poules op internet te verkrijgen zijn,
maar ik vind het leuk om in Excel dit soort modellen op te zetten.

Ik loop echter tegen het volgende probleem aan:
Om ook punten toe te kunnen kennen voor het aantal keer dat een land scoort in een wedstrijd heb ik met een deel functie uitslagen opgeknipt.
Een uitslag van 2-1 wordt dan dus: cel A 2, cel B - cel C 1 met de formule voor cel A =deel(cel;1;1) voor cel B =deel(cel;2;1) en voor cel C =deel(cel;3;1).

Nu wil ik automatisch punten toe laten kennen door middel van een als functie.
Heeft iemand bij een uitslag van 2-1 bijvoorbeeld 2-3 ingevuld dan zal 1 punt toegekend worden omdat de '2' goed is.
Wanneer ik nu alleen een ALS functie gebruik, gaat dit niet goed omdat ik naar een cel verwijs met daarin de 'deel functie'.
Voor mij is het dus belangrijk om de waarde van deze cel te gebruiken. Kopieren, plakken speciaal --> waarden kan alleen niet omdat de formules moeten blijven bestaan.

Nu heb ik de volgende fuctie geprobeerd:
=als(WAARDE('Invulblad deelnemers'!C2=Uitslagen!D2;1;0)) deze werkt helaas niet.
Heeft iemand een goede oplossing hiervoor?

Bij voorbaat dank!
 
Hierbij een formule als voorbeeld, in A1 staat de uitslag en B1 de voorspelling.
Je hoeft de uitslagen niet op te spitsen en deze werkt ook met een uitslag met dubbele cijfers.

Code:
=ALS(LINKS($A$1;VIND.SPEC("-";$A$1))=LINKS(B1;VIND.SPEC("-";B1));1;0)+ALS(RECHTS($A$1;LENGTE($A$1)-VIND.SPEC("-";$A$1))=RECHTS(B1;LENGTE(B1)-VIND.SPEC("-";B1));1;0)

Niels
 
Bedankt voor het antwoord, dit werkt goed!

Nog even een vraag uit interesse:

Waarom hoef je de Lengte formule alleen bij rechts neer te zetten en niet bij links?
En waarom heeft Excel dit commando eigenlijk überhaupt nodig in deze formule?

Ik hoop zo beetje bij beetje meer van Excel te kunnen leren:)

Alvast heel erg bedankt voor de moeite!
 
Voor het geval je dubbele cijfers in een uitslag heb bepaal je dmv vind.spec de positie van het "-".
voor links is dit dus de positie van het streepje -1, het streepje staat bv op positie 3 dan heb je 2 tekens vanaf links nodig
om het aantal tekens vanaf rechts te bepalen moet je de lengte bepalen min de positie van het "-" , de lengte is bv 4 en de positie van het streepje is 3 dan heb je dus 4-3= 1 teken vanaf rechts nodig.

de formule werkt op zich goed maar een kleine verbetering zodat hij ook 100% klopt.

Code:
=ALS(LINKS($A$1;VIND.SPEC("-";$A$1)-1)=LINKS(B1;VIND.SPEC("-";B1)-1);1;0)+ALS(RECHTS($A$1;LENGTE($A$1)-VIND.SPEC("-";$A$1))=RECHTS(B1;LENGTE(B1)-VIND.SPEC("-";B1));1;0)

Ik hoop dat het een beetje duidelijk is uitgelegd.

Niels
 
Bedankt, het was even puzzelen maar ik snap het helemaal!
Na wat aanpassingen in onder andere de puntentoekenning heb ik de formule wat aan moeten passen.
Nu heb ik de formule: =als(Uitslagen!D2>(links(Deelnemers!$D2;VIND.SPEC("-";Deelnemers!$D2));1;0))
Deze werkt alleen niet. Weet iemand waar de fout zit?
 
Je gaat heel d2 vergelijken met links D2 van het ander tabblad.
Je moet wel links met links vergelijken lijkt mij, of staat er in die d2 maar 1 getal?
En je mist de -1 achter de laatste Deelnemers!$D2

Niels
 
In die laatste D2 staat inderdaad gewoon een getal (in dit geval de waarde 1, zonder formule oid).
De formule met de -1 is nu:

=als(Uitslagen!D2>(links(Deelnemers!$D2;VIND.SPEC("-";Deelnemers!$D2)-1);1;0))

Ik krijg alleen een foutmelding, volgens Excel zit er een fout in deze formule.
Ik kan de fout alleen echt niet vinden..
 
plaats even een voorbeeld bestandje.

Niels
 
volgens mij heb ik hem gevonden...

=als(Uitslagen!D2>(links(Deelnemers!$D2;VIND.SPEC("-";Deelnemers!$D2)-1));1;0)

Niels
 
Bedankt, die werkt goed! Altijd die haakjes... ;)
Mocht ik bij nog iets er niet uitkomen, dan plaats ik inderdaad het bestand even.

Je hebt me al erg geholpen.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan