Toon posts:

[Excel X] Formule te lang voor cel

Pagina: 1
Acties:
  • 236 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik ben bezig een simpele -althans dat was het- sheet te schrijven om in Excel X for Mac een offerte te kunnen maken voor het verhuren van artikelen. Hiervoor is het nodig om de volgende vermenigvuldiging te maken:
code:
1
artikelprijs per dag x aantal artikelen x aantal dagen x kortingsstaffel voor dat aantal dagen

Op een offerte kunnen meerdere verschillende artikelen voorkomen met een verschillend aantal dagen, dus per regel wil ik dat kunnen bepalen. Het resultaat komt er dan ongeveer zo uit te zien:
code:
1
2
3
4
5
Aantal l Artikelomschrijving l Dagprijs l Aantal dagen l Prijs
Aantal l Artikelomschrijving l Dagprijs l Aantal dagen l Prijs
...etc...
____________________________________________
Eindtotaal:


Dit is de formule die ik nu gebruik:
code:
1
2
3
4
5
=if(aantaldagen=1;staffel1dag*dagprijs*aantaldagen*aantalartikelen;
if(aantaldagen=2;staffel2dagen*dagprijs*aantaldagen*aantalartikelen;
if(aantaldagen=3;staffel3dagen*dagprijs*aantaldagen*aantalartikelen;
...en zo door...
if(aantaldagen=31;staffel31dagen*dagprijs*aantaldagen*aantalartikelen;0))))))...etc


In werkelijkheid ga ik het versimpelen door de vermenigvuldiging van het aantal dagen x dagprijs x aantal artikelen al in een verborgen kolom te laten gebeuren en verwijst de staffel...dag naar een cel in een ander sheet zodat dit makkelijk aan te passen is mocht dat nodig zijn.

En dan nu het probleem: mijn lijst met staffels bestaat uit 31 waardes die ik tot nu toe niet in een enkele formule heb weten te vangen en in Excel lijkt het niet mogelijk om meer dan 8 keer de "if" conditie te gebruiken. Heeft iemand misschien een andere visie op mijn probleem waardoor ik een stapje verder kan komen?

Of bestaat er een programmaatje waarin ik mijn lijst met waardes voor aantal dagen en bijbehorende staffel kan invoeren, en dat dan uitrekent wat de best passende formule oplevert? Het verloop is nameliijk niet lineair en mijn wiskundige kennis schiet te kort om dat probleem op te lossen.

  • WildernessChild
  • Registratie: Februari 2002
  • Niet online

WildernessChild

Voor al uw hersenspinsels

Waar staan de waarden van je staffel1dag t/m staffel31dagen?

Maker van Taekwindow; verplaats en resize je vensters met de Alt-toets!


  • Pinobigbird
  • Registratie: Januari 2002
  • Laatst online: 23:58

Pinobigbird

doesn't share food!

Misschien zoiets (in het Nederlands, sorry):
code:
1
2
=KIEZEN(aantaldagen;staffel1dag;staffel2dagen;staffel3dagen;...;
...;staffel31dagen)*dagprijs*aantaldagen*aantalartikelen


[EDIT]
Nee sorry.
Ook hier zit een maximum aan het aantal argumenten: 30 (Dus maximaal 29 keuzes.)

[ Voor 22% gewijzigd door Pinobigbird op 12-07-2004 12:21 ]

Joey: Nice try. See the Netherlands is this make believe place where Peter Pan and Tinkerbell come from.
https://kattenoppasleiderdorp.nl
PV: 3080Wp ZO + 3465Wp NW = 6545Wp totaal 13°tilt


  • Denhomer
  • Registratie: Augustus 2000
  • Laatst online: 12-10-2025

Denhomer

Doh !

Met een combinatie van een if en 2 maal de choose functie moet je er makkelijk geraken.
If dagen < 20 (ofzoiets) choose(dagen, staffel1, staffel2...
else choose(dagen-20, staffel21, ...

Verwijderd

Topicstarter
De locatie wordt bijvoorbeeld "staffel!B2" voor twee dagen, en "staffel!B3" voor drie dagen, enzovoort. De waardes liggen nog niet helemaal vast (vandaar dat ik ze wil kunnen wijzigen) maar hieronder de voorlopige lijst:
DagStaffel
10,9
20,85
30,80
40,75
50,70
60,65
70,60
80,60
90,60
100,60
110,60
120,60
130,60
140,55
150,49
160,48
170,47
180,46
190,45
200,44
210,43
220,42
230,41
240,40
250,39
260,38
270,37
280,36
290,35
300,34
=>310,33

  • Pinobigbird
  • Registratie: Januari 2002
  • Laatst online: 23:58

Pinobigbird

doesn't share food!

Met INDEX moet het lukken.
Stel staffel1dag t/m staffel31dagen staan op A1 t/m A31 en
aantaldagen staat op B1,
dan:
code:
1
=INDEX(A1:A31;B1)


Deze formule pakt dan het B1e element uit A1 t/m A31.
Dus stel aantaldagen = 15 (=B1), dan pakt hij het 15e element uit A1:A31, en dat is A15!

Dus de formule wordt:
code:
1
=INDEX(staffel!B2:B32;aantaldagen)*dagprijs*aantaldagen*aantalartikelen

Vul alleen nog de adressen voor aantaldagen, dagprijs en aantalartikelen in.

[ Voor 23% gewijzigd door Pinobigbird op 12-07-2004 13:02 ]

Joey: Nice try. See the Netherlands is this make believe place where Peter Pan and Tinkerbell come from.
https://kattenoppasleiderdorp.nl
PV: 3080Wp ZO + 3465Wp NW = 6545Wp totaal 13°tilt


Verwijderd

Topicstarter
@ allemaal: fan-tas-tisch! Bedankt voor de hulp, dit schiet echt heel erg op!

@ Pinobigbird: het gaat de INDEX functie worden. Is het nog mogelijk om een conditie er aan vast te koppelen zodat alles boven de 31 dagen de staffel 0,33 toegewezen krijgt? Of ga ik dan gewoon 365 cellen vullen met 0,33? Dat is natuurlijk geen probleem, maar ik ben gewoon nieuwsgierig...

  • Pinobigbird
  • Registratie: Januari 2002
  • Laatst online: 23:58

Pinobigbird

doesn't share food!

Verwijderd schreef op 12 juli 2004 @ 13:20:
@ allemaal: fan-tas-tisch! Bedankt voor de hulp, dit schiet echt heel erg op!

@ Pinobigbird: het gaat de INDEX functie worden. Is het nog mogelijk om een conditie er aan vast te koppelen zodat alles boven de 31 dagen de staffel 0,33 toegewezen krijgt? Of ga ik dan gewoon 365 cellen vullen met 0,33? Dat is natuurlijk geen probleem, maar ik ben gewoon nieuwsgierig...
Jazeker: Neem de kleinste waarde van 31 en aantaldagen.
code:
1
=INDEX(staffel!B2:B32;MIN(31;aantaldagen))*dagprijs*aantaldagen*aantalartikelen

Joey: Nice try. See the Netherlands is this make believe place where Peter Pan and Tinkerbell come from.
https://kattenoppasleiderdorp.nl
PV: 3080Wp ZO + 3465Wp NW = 6545Wp totaal 13°tilt


Verwijderd

Topicstarter
Heerlijk, leve GoT!

Moet wel in alle cellen de nieuwe range in gaan voeren...als ik ze namelijk sleep dan past Excel ze "automatisch" voor me aan :*( Ik begrijp dat het lastig van me is, de helft van de cel moet automatisch aangepast worden en de rest niet...Arme Excel.

Dank voor alle hulp!

Verwijderd

Ik neem aan dat de staffel waarden alleen in B2 t/m B32 staan dus die kun je absoluut maken:

=INDEX(staffel!$B$2:$B$32;MIN(31;aantaldagen))*dagprijs*aantaldagen*aantalartikelen

Deze formule zou je moeten kunnen kopieren zonder aanpassingen te maken achteraf

Verwijderd

Topicstarter
Verwijderd schreef op 13 juli 2004 @ 02:54:
Ik neem aan dat de staffel waarden alleen in B2 t/m B32 staan dus die kun je absoluut maken:

=INDEX(staffel!$B$2:$B$32;MIN(31;aantaldagen))*dagprijs*aantaldagen*aantalartikelen

Deze formule zou je moeten kunnen kopieren zonder aanpassingen te maken achteraf
dat is een ERG handige tip. Durfde er al niet om te vragen... :X Bedankt Moosehead
Pagina: 1