Als functie PROBLEEM

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • duco
  • Registratie: September 2022
  • Laatst online: 19-04-2023
Hoi!

Ik ben bezig met het uitwerken van een planning in Excel,

Het idee is een drop down menu, waarbij verschillende taken worden geselecteerd.

Per taak is er een 'potje' met het totaal aantal uren die dag, indien een taak wordt geselecteerd worden die uren van dat potje afgetrokken, zodat je het totaal beschikbare uren kan zien.

Ik doe dit met de ALS functie:
ALS(F18="lassen";E18)+ALS(F19="lassen";E19)+ALS(F20="lassen";E20

Wanneer iemand afwezig is worden deze uren ook uit het laspotje gehaald.

ALS(F18="afwezig";E18)+ALS(F19="afwezig";E19)+ALS(F20="afwezig";E20)

Zo ook met plaatsen, zetten, enzovoort.

Uiteindelijk komt een optelsom van al deze uren in een cel te staan. en deze cel wordt afgetrokken van het totaalaantal beschikbare uren.


De formule is inmiddels erg lang geworden, en ik de laatste twee acties, 'plaatsen' en 'afwezig' hebben een conditionele opmaak gekregen, (plaatsen=geel en afwezig= rood)

De formule werkt nu bij alle acties, behalve bij de gene met de conditionele opmaak


Gek genoeg heb ik bij mezelf minder acties, en werkt de conditionele opmaak wel. in de bijgevoegde afbeelding zie je de opmaak.


Dan nu mijn vraag: Kan het kloppen dat excel niet goed werkt indien de formules te lang worden? of zou dat niet uit moeten maken?

Tweede vraag:
Is er een andere (slimmere) manier om dit te doen?

De totale formule:
=ALS(F14="afwezig";E14)+ALS(F15="afwezig";E15)+ALS(F16="afwezig";E16)+ALS(F17="afwezig";E17)+ALS(F18="afwezig";E18)+ALS(F19="afwezig";E19)+ALS(F20="afwezig";E20)+ALS(F21="afwezig";E21)+ALS(F22="afwezig";E22)+ALS(F23="afwezig";E23)+ALS(F24="afwezig";E24)+ALS(F25="afwezig";E25)+ALS(F26="afwezig";E26)+ALS(F27="afwezig";E27)+ALS(F28="afwezig";E28)+ALS(F29="afwezig";E29)+ALS(F30="afwezig";E30)+ALS(F31="afwezig";E31)+ALS(F32="afwezig";E32)+ALS(F33="afwezig";E33)+ALS(F34="afwezig";E34)+ALS(F35="afwezig";E35)+ALS(F36="afwezig";E36)+ALS(F37="afwezig";E37)+ALS(F37="afwezig";E37)+ALS(F38="afwezig";E38)+ALS(F39="afwezig";E39)+ALS(F40="afwezig";E40)+ALS(F41="afwezig";E41)+ALS(F14="lassen";E14)+ALS(F15="lassen";E15)+ALS(F16="lassen";E16)+ALS(F17="lassen";E17)+ALS(F18="lassen";E18)+ALS(F19="lassen";E19)+ALS(F20="lassen";E20)+ALS(F21="lassen";E21)+ALS(F22="lassen";E22)+ALS(F23="lassen";E23)+ALS(F24="lassen";E24)+ALS(F25="lassen";E25)+ALS(F26="lassen";E26)+ALS(F27="lassen";E27)+ALS(F28="lassen";E28)+ALS(F29="lassen";E29)+ALS(F30="lassen";E30)+ALS(F31="lassen";E31)+ALS(F32="lassen";E32)+ALS(F33="lassen";E33)+ALS(F34="lassen";E34)+ALS(F35="lassen";E35)+ALS(F36="lassen";E36)+ALS(F37="lassen";E37)+ALS(F37="lassen";E37)+ALS(F38="lassen";E38)+ALS(F39="lassen";E39)+ALS(F40="lassen";E40)+ALS(F41="lassen";E41)+ALS(F14="zagen";E14)+ALS(F15="zagen";E15)+ALS(F16="zagen";E16)+ALS(F17="zagen";E17)+ALS(F18="zagen";E18)+ALS(F19="zagen";E19)+ALS(F20="zagen";E20)+ALS(F21="zagen";E21)+ALS(F22="zagen";E22)+ALS(F23="zagen";E23)+ALS(F24="zagen";E24)+ALS(F25="zagen";E25)+ALS(F26="zagen";E26)+ALS(F27="zagen";E27)+ALS(F28="zagen";E28)+ALS(F29="zagen";E29)+ALS(F30="zagen";E30)+ALS(F31="zagen";E31)+ALS(F32="zagen";E32)+ALS(F33="zagen";E33)+ALS(F34="zagen";E34)+ALS(F35="zagen";E35)+ALS(F36="zagen";E36)+ALS(F37="zagen";E37)+ALS(F37="zagen";E37)+ALS(F38="zagen";E38)+ALS(F39="zagen";E39)+ALS(F40="zagen";E40)+ALS(F41="zagen";E41)+ALS(F14="plaatsen";E14)+ALS(F15="plaatsen";E15)+ALS(F16="plaatsen";E16)+ALS(F17="plaatsen";E17)+ALS(F18="plaatsen";E18)+ALS(F19="plaatsen";E19)+ALS(F20="plaatsen";E20)+ALS(F21="plaatsen";E21)+ALS(F22="plaatsen";E22)+ALS(F23="plaatsen";E23)+ALS(F24="plaatsen";E24)+ALS(F25="plaatsen";E25)+ALS(F26="plaatsen";E26)+ALS(F27="plaatsen";E27)+ALS(F28="plaatsen";E28)+ALS(F29="plaatsen";E29)+ALS(F30="plaatsen";E30)+ALS(F31="plaatsen";E31)+ALS(F32="plaatsen";E32)+ALS(F33="plaatsen";E33)+ALS(F34="plaatsen";E34)+ALS(F35="plaatsen";E35)+ALS(F36="plaatsen";E36)+ALS(F37="plaatsen";E37)+ALS(F37="plaatsen";E37)+ALS(F38="plaatsen";E38)+ALS(F39="plaatsen";E39)+ALS(F40="plaatsen";E40)+ALS(F41="plaatsen";E41)+ALS(F38="hoihoi";E38)


Dankjewel.


...Afbeeldingslocatie: https://tweakers.net/i/kytFoMPRa43aaDzCutRSbka34ZA=/x800/filters:strip_exif()/f/image/QCEnAIJPhTl267kkiAI4jJh8.png?f=fotoalbum_large

[ Voor 6% gewijzigd door duco op 06-09-2022 11:35 ]

Alle reacties


Acties:
  • +1 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
De 'totale formule' kun je inkorten tot:

=som(som.als($F$14:$F$41;"Afwezig";$E$14:$E$41);som.als($F$14:$F$41;"Lassen";$E$14:$E$41);som.als($F$14:$F$41;"zagen";$E$14:$E$41);som.als($F$14:$F$41;"Plaatsen";$E$14:$E$41);ALS($F$38="hoihoi";$E$38))

Acties:
  • +1 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
duco schreef op dinsdag 6 september 2022 @ 11:33:
Kan het kloppen dat excel niet goed werkt indien de formules te lang worden?
Ja, je kunt in 1 formule 'slechts' 64 ALS-functies nesten.
duco schreef op dinsdag 6 september 2022 @ 11:33:
Is er een andere (slimmere) manier om dit te doen?
Ja, zie mijn bericht hierboven.
Voorwaardeijke opmaak is daarbij ook geen probleem.

Acties:
  • 0 Henk 'm!

  • Teun_2
  • Registratie: Oktober 2003
  • Laatst online: 22-05 10:59
dix-neuf schreef op dinsdag 6 september 2022 @ 12:53:
De 'totale formule' kun je inkorten tot:

=som(som.als($F$14:$F$41;"Afwezig";$E$14:$E$41);som.als($F$14:$F$41;"Lassen";$E$14:$E$41);som.als($F$14:$F$41;"zagen";$E$14:$E$41);som.als($F$14:$F$41;"Plaatsen";$E$14:$E$41);ALS($F$38="hoihoi";$E$38))
Je kan de verschillende delen ook in verschillende cellen zetten en die dan optellen. Hoe korter en eenvoudiger je formule, hoe gemakkelijker om fouten er uit te halen en aanpassingen te doen in de toekomst.
Zie ook SOM.ALS, functie
Mogelijk ben je ook geholpen met een 'schakelen' formule in een helper-kolom.