[Excel] Als-Dan formule, bestaat dit?

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

  • sealy
  • Registratie: Augustus 2002
  • Laatst online: 20-07 21:52

sealy

bastards...

Topicstarter
Ik ben momenteel in excel bezig met een omvangrijke spreadsheet waarin koperskeuzes voor nieuw te bouwen woningen in verwerkt worden.
Nieuwe bewoners kiezen bepaalde opties, die dan later als zijnde afwijkend van de standaard oplevering worden geinstalleerd.

Nu willen we graag weten wat elke bewoner moet gaan betalen, maar door de opzet van de spreadsheet is dit niet makkelijk te bewerkstelligen.

Het ziet er nu als volgd uit:
code:
1
2
3
4
Optie    Prijs    Woning 1     Woning 2     Woning 3
A         50       1                          1
B         150                   1
C         75                     1            1

In dit voorbeeld kiest woning 1 voor optie A, woning 2 voor optie B en C en woning 3 voor optie A en C

Nu wil ik dat als er bijvoorbeeld een 1-tje staat voor woning 2 bij optie B en C, dat excel de bedragen opteld die bij deze opties horen.

Hoe kan ik dit het beste bewerkstelligen?

nothing special


  • paknaald
  • Registratie: Juni 2001
  • Laatst online: 27-07 08:44
Som in combinatie met Als ?

Dat doe je trouwens toch gewoon met een vermenigvuldiging? 0 * prijsA + 0 prijsB + ... + 1 * prijsn = totale prijs keuzes

Je zet onder de opties een keersom die per keuze de 1 of 0 vermenigvuldigt met de prijs en al deze bewerkingen optelt.

[ Voor 107% gewijzigd door paknaald op 05-09-2006 10:02 ]


  • TDB
  • Registratie: Oktober 2000
  • Laatst online: 19:26

TDB

kan je dit niet gewoon berekenen door $B$2*c2+$B$3*d3+$B$4*d4 en dan doortrekken naar rechts ?!

PSN: TDBtje


  • sealy
  • Registratie: Augustus 2002
  • Laatst online: 20-07 21:52

sealy

bastards...

Topicstarter
De vermenigvuldigingsoptie werkt als er een 1tje staat onder de opties, en is in dit geval inderdaad toepasbaar!

Maar stel nu dat er in plaats van een 1-tje bijvoorbeeld een letter / "wel" / of een andere aanduiding staat, hoe zou je het probleem dan op kunnen lossen?

nothing special


  • paknaald
  • Registratie: Juni 2001
  • Laatst online: 27-07 08:44
Als(cel="wel";1;0) zet een cel met waarde "wel" om naar 1. Beter is toch te kiezen voor 1 en 0. Wil je dan per sé iets leesbaarders, kies dan voor een ander blad waarin je bijvoorbeeld per huis de dingen op een rij zet, door met een zoekfunctie alleen hun keuzes op een rij te zetten.

  • chicky
  • Registratie: Augustus 2001
  • Laatst online: 01-06-2025
Door het velden in de optie kolom te valideren. Je mag dus alleen kiezen uit een vastte keuze in te vullen getallen.

Even uit gaan van een nederlandstalig Excel:
Ga op bijv. C2 staan, Data --> valideren -->instellingen, toestaan --> geheel getal --> tussen 0 en 1.

klaar

Dit op alle velden toepassen welke relevant zijn. (De cel kan je slepen)

  • Boudi
  • Registratie: Oktober 2000
  • Laatst online: 10-01 00:41

Boudi

Always Coca Cola

Er is toch een formule ALS(logische waarde;waarde als waar;waarde als niet waar) functie... die kun je hier vast voor gebruiken

Met of zonder mayonaise?


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 26-07 20:46

Janoz

Moderator Devschuur®

!litemod

Waarom gebruik je een spreadsheet voor data die eigenlijk in een database hoort? Waar je nu mee bezig bent komt op mij over alsof je met word probeert je agenda bij te houden en met powerpoint wilt mailen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • chicky
  • Registratie: Augustus 2001
  • Laatst online: 01-06-2025
Boudi schreef op dinsdag 05 september 2006 @ 10:07:
Er is toch een formule ALS(logische waarde;waarde als waar;waarde als niet waar) functie... die kun je hier vast voor gebruiken
hoe zie je of een veld een logische waarde heeft? (je wilt bijvoorbeeld ALLEEN gehele getallen tussen 5 en 8 )

[ Voor 9% gewijzigd door chicky op 05-09-2006 10:11 ]


  • SinergyX
  • Registratie: November 2001
  • Laatst online: 23:23

SinergyX

____(>^^(>0o)>____

Je kan alle cellen onder woning 1t/m3 opvullen met 0, via de opties 'onderdruk 0' inschakelen.

Dan via een ALS(cel=0;"";cel*prijs), hierbij checkt hij puur als er een 0 staat->doe niks, alle andere varianten gaat hij dus optellen (ja, wel, graag, 1, hij wil, klopt, akkoord en noem het maar op :P)

Eventueel kan je dan eigelijk ook een ALS(cel="" doen, en hoef je dus niets op te vullen met 0'en.

@Janoz; welcome to a world called 'bouwwereld' :P

[ Voor 6% gewijzigd door SinergyX op 05-09-2006 10:11 ]

Nog 1 keertje.. het is SinergyX, niet SynergyX
Im as excited to be here as a 42 gnome warlock who rolled on a green pair of cloth boots but was given a epic staff of uber awsome noob pwning by accident.


  • sealy
  • Registratie: Augustus 2002
  • Laatst online: 20-07 21:52

sealy

bastards...

Topicstarter
Janoz schreef op dinsdag 05 september 2006 @ 10:09:
Waarom gebruik je een spreadsheet voor data die eigenlijk in een database hoort? Waar je nu mee bezig bent komt op mij over alsof je met word probeert je agenda bij te houden en met powerpoint wilt mailen.
Ik werk bij een bedrijf dat hiervoor spreadsheets gebruikt, helaas maar waar. Dit is volgens de procedures, en daar mag niet zomaar vanaf geweken worden. Niets aan te doen...

@ SinergyX: hehe, juist ;)

Met de gegeven oplossingen kan ik zeker aan de slag, hartelijk dank!

[ Voor 3% gewijzigd door sealy op 05-09-2006 10:18 ]

nothing special


  • paknaald
  • Registratie: Juni 2001
  • Laatst online: 27-07 08:44
Janoz schreef op dinsdag 05 september 2006 @ 10:09:
Waarom gebruik je een spreadsheet voor data die eigenlijk in een database hoort? Waar je nu mee bezig bent komt op mij over alsof je met word probeert je agenda bij te houden en met powerpoint wilt mailen.
Dan is een wel erg existentiële vraag. In bijna _alle_ organisaties is er een Excel-informatie-hegemonie. Het is maar de vraag of ts daar iets aan kan veranderen (ik zit hier zelf ook vast in een Excel-cultuur)

lol, ziet reacties boven zich

[ Voor 3% gewijzigd door paknaald op 05-09-2006 10:19 ]


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 26-07 20:46

Janoz

Moderator Devschuur®

!litemod

@SinergyX: Je zult het waarschijnlijk niet geloven, maar ikzelf heb jaren lang gewerkt voor een bedrijf dat voor 48% onderdeel was van 1 van neerlands grootste huizenbouwers. Ook daarvoor hebben we een meerminderwerk applicatie geschreven, en deze was niet middels een spreadsheetje (alhoewel ze wel om een dergelijke export in zit ;) ).

Ik weet dat 'in the real world' spreadsheets compleet misbruikt worden, maar dat betekend nog niet dat het juist is en dat er niks meer over gezegd mag worden. Of de topicstarter iets kan veranderen aan de cultuur verwacht ik niet. Enkel het besef dat hij iets geberuikt waarvoor het neit is bedoeld vind ik persoonlijk al heel wat.

@chicky: Een 'logische waarde' is gewoon een berekening die waar of onwaar op kan leveren. Wil je een logische waarde hebben uit de stelling 'groter dan 3 en kleiner dan 8' dan zul je die tot een logische expressie moeten herschrijven.

[ Voor 29% gewijzigd door Janoz op 05-09-2006 10:26 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

paknaald schreef op dinsdag 05 september 2006 @ 09:58:
Som in combinatie met Als ?

Dat doe je trouwens toch gewoon met een vermenigvuldiging? 0 * prijsA + 0 prijsB + ... + 1 * prijsn = totale prijs keuzes

Je zet onder de opties een keersom die per keuze de 1 of 0 vermenigvuldigt met de prijs en al deze bewerkingen optelt.
Maar dit arg1*arg1' + arg2*arg2' .... argN*argn' vind ik dan toch wel weer lelijk

code:
1
2
3
=SOMPRODUCT(A1:AN;B1:BN)
{=som(A1:AN)*B1:BN)}
{=SOM(A1:AN*ALS(B1:BN<>"";1))}

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Verwijderd

ABCDE
1optieprijsW1W2W3
2A5011
3B1501
4C7511
5Totaal50225125


Formule's:
[C5] : =SOM.ALS(C2:C4;"=1";$B$2:$B$4)
[D5] : =SOM.ALS(D2:D4;"=1";$B$2:$B$4)
[E5] : =SOM.ALS(E2:E4;"=1";$B$2:$B$4)

(vervang =1 door <> voor iedere willekeurige aanduiding)


(of denk ik nu te simpel ?)

[ Voor 81% gewijzigd door Verwijderd op 05-09-2006 12:37 ]


  • JorisS
  • Registratie: Februari 2004
  • Laatst online: 17-07 00:42
Verwijderd schreef op dinsdag 05 september 2006 @ 12:07:
ABCDE
1optieprijsW1W2W3
2A5011
3B1501
4C7511
5Totaal50225125


Formule's:
[C5] : =SOM.ALS(C2:C4;"=1";$B$2:$B$4)
[D5] : =SOM.ALS(D2:D4;"=1";$B$2:$B$4)
[E5] : =SOM.ALS(E2:E4;"=1";$B$2:$B$4)

(vervang =1 door <> voor iedere willekeurige aanduiding)


(of denk ik nu te simpel ?)
Volgens mij denk je nog te ingewikkeld.

[C5]:= somproduct(C2:C4;$B2:$B4)
[D5]:= somproduct(D2:D4;$B2:$B4)
[E5]:= somproduct(E2:E4;$B2:$B4)

Homey Pro Early 2019 | HA on Synology | SMA Tripower | Zinvolt | Tibber | CV+Ecolution | ID.5 2023 | Leaf 2018


Verwijderd

JorisS schreef op dinsdag 05 september 2006 @ 12:41:
[...]


Volgens mij denk je nog te ingewikkeld.

[C5]:= somproduct(C2:C4;$B2:$B4)
[D5]:= somproduct(D2:D4;$B2:$B4)
[E5]:= somproduct(E2:E4;$B2:$B4)
niet zoals TS zei als je de 1 wilt vervangen door iets anders (b.v. *) ;)


(kende de formule somproduct trouwens nog niet, ff onthouden)

  • Morbid2002
  • Registratie: Januari 2002
  • Laatst online: 18-07 19:37
EDIT: even verder kijken, voldoet nog niet helemaal aan de eisen :-)

[ Voor 101% gewijzigd door Morbid2002 op 05-09-2006 13:06 ]


  • Dido
  • Registratie: Maart 2002
  • Laatst online: 13:36

Dido

heforshe

Nee, dit is volgens mij exact wat de TS zoekt. Kan ie ook andere dingen dan 1 gebruiken.

En er zijn geen matrixformules voor nodig, en al helemaal geen hardcoded A+B+C, waarbij je 80 formules mag aanpassen als er een optie bijkomt.

Wat betekent mijn avatar?


Verwijderd

Dit moet toch ook kunnen met een som als functie =SOM.ALS(XX:XX;1;YY:YY)
XX:XX is het bereik met het criterium (de 1) en YY:YY is het optelbereik (de prijzen).

Edit:
Indeed, somproduct werkt nog simpeler.

[ Voor 13% gewijzigd door Verwijderd op 05-09-2006 13:32 ]


  • Morbid2002
  • Registratie: Januari 2002
  • Laatst online: 18-07 19:37
Post van JorisS klopt als een bus :-) (met gebruik van enen)

[ Voor 23% gewijzigd door Morbid2002 op 05-09-2006 13:36 ]


  • Dido
  • Registratie: Maart 2002
  • Laatst online: 13:36

Dido

heforshe

Dan kunnen we blijven hameren op som.product, en negeren dat de TS schreef:
Maar stel nu dat er in plaats van een 1-tje bijvoorbeeld een letter / "wel" / of een andere aanduiding staat, hoe zou je het probleem dan op kunnen lossen?
SUMIF doet het dus prima, zoals eyesonly herontdekte, nadat maui71 het al helemaal uitgewerkt had neergezet.

Hoe somprodukt eenvoudiger is gaat overigens aan me voorbij, maar dat zal aan mij liggen.

Wat betekent mijn avatar?


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Wegen & Rome :)

som.als ligt hier idd het meest voor de hand. Ik werd iig op het verkeerde been gezet door die ééntjes, maar soms wil je somprodukt als je meer dan 1 exemplaar kunt afnemen. Bij meer/minder werk zou je kunnen denken aan m2 tegelwerk oid. En dan komt somprodukt best wel handig uit.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • sealy
  • Registratie: Augustus 2002
  • Laatst online: 20-07 21:52

sealy

bastards...

Topicstarter
JorisS schreef op dinsdag 05 september 2006 @ 12:41:
[...]


Volgens mij denk je nog te ingewikkeld.

[C5]:= somproduct(C2:C4;$B2:$B4)
[D5]:= somproduct(D2:D4;$B2:$B4)
[E5]:= somproduct(E2:E4;$B2:$B4)
Perfect!

Hardstikke bedankt voor het meedenken iedereen ;)

/edit
wat niesje zegt is trouwens ook waar. Ondanks dat het niet veel voorkomt, zijn er ook wel spreadsheets te bedenken waarin de keuze meerdere malen gemaakt kan worden. In dat geval zal als uitdrukking waarschijnlijk wel een getal gebruikt worden.

[ Voor 27% gewijzigd door sealy op 06-09-2006 16:25 ]

nothing special

Pagina: 1