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

Tekst interpreteren als formule

Status
Niet open voor verdere reacties.

SchoutenCC

Gebruiker
Lid geworden
23 jul 2008
Berichten
14
Hallo, even een kort vraagje: ik moet in een bepaalde cel een formule plaatsen die op basis van andere gegevens een wat andere berekening uitvoert (wel of niet kolom X meenemen, kolom Y keer 1 of keer 1,5 etc.). Nu heb ik de formules in een tabelletje gezet als volgt:

Afdeling Omschrijving Berekening
A Maandsalaris $Q12
B DubbelMndsal $Q12*2
C Brutosal $U12

En in mijn resultatentabel zet ik vervolgens:

=VERT.ZOEKEN($O12;ALS($E$7="A";Opties!$H$7:$I$20;ALS($E$7="B";Opties!$H$21:$I$33;ALS($E$7="C";Opties!$H$34:$I$37)));2;ONWAAR)

Met andere woorden, op basis van de waarde in E7 (afdeling) zoek ik de formule op die bij de bijbehorende bonusomschrijving hoort (O12). Met VERT.ZOEKEN krijg ik weliswaar de tekstuele formule terug, maar hij moet natuurlijk berekend worden. Uit mijn hoofd zeg ik dat er een leuke truc uitgehaald zou moeten worden met INDIRECT, maar ik krijg hem niet snel werkend. Wie wel?

Groeten,
Chris
 
Doe eens een voorbeeldbestandje, zo is dit niet te doen hoor.
 
Bij mij werkt het gewoon zonder INDIRECT overigens.
Ik zie dat er een spatie bij voorwaarde C staat.
En voorwaarde C loopt maar tot regel 37. Volgens mij moet dat 47 zijn.
Hier is een bestandje n.a.v. je vraag.

Met vriendelijke groet,


Roncancio
 

Bijlagen

  • schouten.xls
    14,5 KB · Weergaven: 26
Laatst bewerkt:
Misschien zoiets? (ongetest).

Code:
=VERT.ZOEKEN($O12;INDIRECT("Opties!$H$"&ALS($E$7="A";"7:$I$20";ALS($E$7="B";"21:$I$33";"34:$I$37")));2;ONWAAR)
 
Laatst bewerkt:
Bij mij werkt het gewoon zonder INDIRECT overigens.

Hallo Ronancio,
bedankt voor het meedenken, maar ik snap je bestand helaas niet direct. De VERT.ZOEKEN werkt namelijk wel, het is dat het resultaat als formule geïnterpreteerd moet worden. Het resultaat (uit de opties-tabel) is namelijk bijvoorbeeld iets ingewikkelds als "($Q12*1,5)+(3*($U12-$V12))". Ik kan wel een tekstwaarde overkrijgen, en met een indirect eromheen ook een enkele celverwijzing zonder formule, maar het gaat om de ingewikkelder gevallen met berekening.
 
Misschien zoiets? (ongetest).

Code:
=VERT.ZOEKEN($O12;INDIRECT("Opties!$H$"&ALS($E$7="A";"7:$I$20";ALS($E$7="B";"21:$I$33";"34:$I$37")));2;ONWAAR)

Dat is hem inderdaad bijna, die werkt namelijk wel als het een losse celverwijzing is (waarde uit tabel is $Q12), maar niet als er een berekening omheen zit (waarde in tabel is 2*$Q12)
 
Waarom geen = -teken in bij de formules plaatsen, zodat je het resultaat van de formules ophaalt.

Met vriendelijke groet,


Roncancio
 
Waarom geen = -teken in bij de formules plaatsen, zodat je het resultaat van de formules ophaalt.

Omdat het dan een "eenmalige" formule wordt volgens mij. Mijn opzet was om de verschillende mogelijkheden in een aparte sheet te zetten en hier vervolgens aan de refereren in mijn datasheet. Mijn datasheet wordt namelijk automatisch opgebouwd (externe databron) en bevat een kleine 1900 regels, en voor elk van deze regels zijn er dus in de kolom bonus die ik uitreken zo'n dertig varianten. Daarom dacht ik, ik zet de formules van de varianten apart en bereken welke variant ik nodig heb om die vervolgens te evalueren.
 
Gevonden! Mijn zinsnede ".. evalueren .." deed me ook op dat woord nog maar eens zoeken en er blijkt een functie EVAL te zijn (onbekend of die in standaard Excel 2007 zit of in een plugin die ik toevallig heb zoals bijv. MoreFunc) die precies dat doet. =EVAL(VERT.ZOEKEN( ... )) was dus de truc en werkt ook bij ingewikkelde formules :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan