De formule voor de kostprijs km bevat de nodige overbodige als-functies en ook Als-tests die nooit voor zullen komen..
ik ga wel even uit van het bestand van jverkerk omdat die dynamische tabel wel de goede richting is.
Code:
ALS.NB(ALS(Tabel3[@Locatie]="";"";ALS(Tabel3[@Beroep]="Bezoek";0,2;ALS(Tabel3[@Beroep]="Vervolg behandeling";"-";ALS(LINKS(Tabel3[@Plts];3)="TEL";"-";VERT.ZOEKEN(Tabel3[@Locatie];TblTbvKM[#Alles];3;0)))));"")
1. het stuk Tabel3[@Locatie]="";""; kan eruit
dat wordt al opgelost door de ALS.NB(), als er namelijk geen geldige waarde wordt gevonden geeft vert.zoeken als resultaat #NB die dan wordt afgevangen door ALS.NB() dus locatie leeg testen is dubbel
2. Zowel Bezoek als Vervolgbehandeling komen niet voor in je dropdown voor "Beroep" dus gaan nooit gebruikt worden. vervolgbehandeling komt wel voor in de kolom Naam
ik heb beiden aangepast naar "Naam" en de waarde Bezoek toegevoegd onder beroep "Div."
3. je gebruikt zowel tekst ("-", "") als waarden in de kostprijskm kolom dat kan tot rekenfouten leiden, alles is vergangen door 0 dan heb je in kolom L subtotaal ook geen ALS.FOUT nodig
4. je hoeft niet voor elke test een nieuwe ALS te nesten, met de functie OF, kun je meerdere opties testen en in 1x dezelfde uitkomst geven
De formule in kolom G / kostprijsKm kan vereenvoudigd worden zodat zaken in de goede volgorde worden afgehandeld en functies alleen toegepast op de delen
Code:
=ALS([@Naam]="Bezoek";0,2;ALS(OF([@Naam]="Vervolg behandeling";LINKS([@Plts];3)="TEL");0;ALS.NB(VERT.ZOEKEN([@Locatie];TblTbvKM[#Gegevens];3;0);0)))
De formule in kolom H / Afstand
kan vereenvoudigd tot
Code:
=ALS.NB(VERT.ZOEKEN([@Locatie];TblTbvKM[#Gegevens];2;0);0)
met deze formule wordt wel het aantal km getoond maar berekend tegen tarief 0 omdat het juiste tarief al in kolom G wordt bepaald
Als je niet wil dat de km worden getoond als het tarief 0 is kun je daar op testen met een extra als
Code:
=ALS([@[Kostprijs/KM]]=0;0;ALS.NB(VERT.ZOEKEN([@Locatie];TblTbvKM[#Gegevens];2;0);0))
tot slot is de formule in kolom L / Subtotaal ook vereenvoudigd.
de als.fout is eruit want als je zorgt dat de formules in G en H altijd een waarde zijn en niet leeg ("" ) of tekst ("-"), kunnen er geen fouten ontstaan in de som functie ontstaan. En komt er toch een fout uit in kolom L. Heel goed, dat betekent dat je ergens iets moet corrigeren voordat je declaratie klopt. Anders ga je 0 euro declareren terwijl je recht hebt op een paar tientjes voor die regel..
Code:
=SOM([@[Kostprijs/KM]]*[@Afstand]*2;Tabel3[@[Medicijnen]:[Overig]])
De zoektabel validatie tab ziet er wel redelijk georganiseerd uit. Al moet je nog wel even met een stofkam door je beroepen - namen want niet alle waarden in je declaratie tabblad staan in de die tabel.