Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

(rang)volgorde bepalen met een voorwaarde

576 views
Skip to first unread message

Piet Robe

unread,
Oct 18, 2009, 8:07:01 AM10/18/09
to
Beste mensen,
Ik kan de de volgorde van rij 29 bepalen met de volgende formule in rij 31
RANG(J29;29:29;0) Dan is dat voor alle waarden die in rij6 motor of auto
bevatten.

Nu wil ik daar een voorwaarde aan bepalen.
Nu wil ik dat ook uitsplitsen voor de rangvolgorde (alleen) auto in rij 30
en wil ik de rangvolgorde (alleen) motor in rij 32
De voorwaarde staat in rij6 en kan bevatten auto of motor.

Welke formule kan ik dan gebruiken?
--
Met vriendelijke groet
Piet Robe

Sjabloon Master

unread,
Oct 18, 2009, 10:25:01 AM10/18/09
to
Hi Piet,

Gebruik IF met *auto* of *motor*.

Succes

"Piet Robe" schreef:

jan

unread,
Oct 18, 2009, 10:43:29 AM10/18/09
to
Piet,

Misschien is dit wat:

=SOMPRODUCT(--(($A$29:$Z$29)*($A$6:$Z$6=J6)>=J29))

(in rij 6 staan de waarden "auto" of "motor", in rij 29 staan de waarden
waarvan de volgorde bepaald moet worden)

Jan

jan

unread,
Oct 18, 2009, 12:27:58 PM10/18/09
to
Piet,

M'n oplossing werkt alleen (goed) als de waarden in rij 29 positief zijn.
Onderstaande werkt ook goed als de waarden zowel positief, gatief alsl
kunnen zijn:

=SOMPRODUCT(--((29:29-MIN(29:29)+1)*(6:6=I6)>=I29-MIN(29:29)+1))

Jan

Piet Robe

unread,
Oct 18, 2009, 2:47:01 PM10/18/09
to
Heren,
bedankt voor jullie bijdrage, maar helaas ben ik niet in staat om het van
Jan werkend te krijgen en van sjabloon master lukt het me ook niet.
Is het probleem dan wel duidelijk omschreven of schiet mijn kennis zo veel
tekort?

--
Met vriendelijke groet
Piet Robe

jan

unread,
Oct 18, 2009, 3:48:08 PM10/18/09
to
Piet,

Zo wel misschien?

=SOMPRODUCT(--((29:29-MIN(29:29)+1)*(6:6="motor")>=J29-MIN(29:29)+1))

Het is me overigens inderdaad niet duidelijk of je de rangorde onder elke
waarde wilt tonen of slechts 1 cel waarin je de plaats van ��n bepaalde cel
wilt zien.

Jan


Piet Robe

unread,
Oct 18, 2009, 4:33:01 PM10/18/09
to
Hallo Jan,
dan nog een poging om het e.e.a. uit te legen
rij 6 kan de volgende gegevens bevatten auto, motor, of is leeg
rij 29 bevat een formule bijvoorbeeld in kolom AX
=ALS(ISFOUT(AX16/(AX8*24*60));"";(SOM(AX16/(AX8*24*60))))
met als resultaat een getal of wordt weergegeven als ""

rij 31 wordt de rangvolgorde bepaalt formule
=RANG(AX29;29:29;0)
de geeft dan de volgorde van alle waarden, dus van motor en auto

nu wil ik dat in
rij30 rangvolgorde voor ALLEEN de motorwaarden
en
rij32 rangvolgorde voor ALLEEN de autowaarden
worden weergegeven

Hopleijk duidelijker uitleg?

groet
Piet


--
Met vriendelijke groet
Piet Robe

jan

unread,
Oct 19, 2009, 3:10:51 AM10/19/09
to
Piet,

Dat de oplossing niet werkt komt omdat er cellen met een tekst (lege string)
in het gebied voorkomen waarop de SOMPRODUCT-formule betrekking heeft.

Kun je jouw formule wijzigen van:
=ALS(ISFOUT(AX16/(AX8*24*60));"";(SOM(AX16/(AX8*24*60))))
in:
=ALS(ISFOUT(AX16/(AX8*24*60));0;(SOM(AX16/(AX8*24*60))))

waarbij je de nulwaarden desnoods door opmaak laat wegvallen?

Dan zou de formule wel werken.
Als dat een mogelijkheid is kan de formule nog worden gesplitst voor auto
(rij 31) en motor(rij 32).
Het mooiste zou dan zijn dat in A31 "auto" staat en in A32 "motor", maar
noodzakelijk is het niet.

Jan

Piet Robe

unread,
Oct 19, 2009, 8:02:01 AM10/19/09
to
Hallo Jan,
Voorgestelde suggestie uitgevoerd
=ALS(ISFOUT(AX16/(AX8*24*60));0;(SOM(AX16/(AX8*24*60))))

vervolgens jouw formule in rij 30 geplaatst
=SOMPRODUCT(--((29:29-MIN(29:29)+1)*(6:6="motor")>=AX29-MIN(29:29)+1))

maar helaas komt die er met een foutmelding #waarde uit.

het gaat om het volgende ik rijd met de motor en auto
houdt daar het gemiddelde brandstofverbruik per ritje bij

alle ritjes samen van auto en motor kan de rangvolgorde van bereken. Gebeurt
in rij 31

nu wil ik ook de volgorde van het brandstofverbruik van de motor in rij 30
bijhouden
en van de auto in rij 32

of er met de motor of auto gereden is wordt bepaald in rij 6

Helpt deze nadere toelichting?

--
Met vriendelijke groet
Piet Robe

jan

unread,
Oct 19, 2009, 8:16:26 AM10/19/09
to
Piet,

Dat betekent waarschijnlijk dat ergens in rij 29 (wellicht het gebied dat je
(nog) niet gebruikt) nog tekst staat.
Is dat het geval en moet die tekst daar blijven staan, dan zou je het bereik
van de formule kunnen beperken (dus niet de hele rij nemen), iets als:

=SOMPRODUCT(--(($A$29:$AZ$29-MIN($A$29:$AZ$29)+1)*(6:6="motor")>=AX29-MIN($A$29:$AZ$29)+1))

Gaat het nu wel goed?

Jan


Piet Robe

unread,
Oct 19, 2009, 9:33:28 AM10/19/09
to
Hallo Jan,
We komen iets verder

klopt want in a kolom stond tekst.
dus formule aangepast in
=SOMPRODUCT(--(($B$29:$AZ$29-MIN($B$29:$AZ$29)+1)*(6:6="motor")>=AX29-MIN($B$29:$AZ$29)+1))

geeft nu #N/B aan.

ra ra


--
Met vriendelijke groet
Piet Robe

jan

unread,
Oct 19, 2009, 9:41:57 AM10/19/09
to
Piet,

Mijn vergissing: ook rij 6 moet beperkt worden, dus:

=SOMPRODUCT(--(($B$29:$AZ$29-MIN($B$29:$AZ$29)+1)*($B$6:$AZ$6="motor")>=AX29-MIN($B$29:$AZ$29)+1))

Jan

Sjabloon Master

unread,
Oct 19, 2009, 9:43:18 AM10/19/09
to
Je wilt tekst vergelijken dus als moet als volgt zijn;

=ALS(A6="auto";(RANG(A29;29:29;0));"")

Veel plezier ermee!

"Piet Robe" schreef:

Piet Robe

unread,
Oct 19, 2009, 4:18:01 PM10/19/09
to
Jan,
Bedankt het werkt. Alleen door die verandering van "" naar 0 telt hij deze
warden natuurlijk ook mee met de rangvolgorde. Ik heb het nu maar als volgt
opgelost twee hulp rijen gemaakt. Daar alleen de waarden van autoof motor in
te laten vullen door een als formule.
Vervolgens lukt het me om de rangvolgorde te bepalen.

--
Met vriendelijke groet
Piet Robe

Piet Robe

unread,
Oct 19, 2009, 4:23:01 PM10/19/09
to
Hallo,
Dit werkt niet want geeft de rangvolgorde van alle waarden aan dus van auto
en motor. Alleen als er motor staat geeft die vanzelfsprekend een lege cel,
maar telt de waarde wel mee ter bepaling van die rangvolgorde.

--
Met vriendelijke groet
Piet Robe

jan

unread,
Oct 20, 2009, 4:15:22 AM10/20/09
to
Piet,

Mooi dat het werkt.
Dat van die nullen is juist.
De formules in B30 en B31 voor beide rijen (auto of motor) kunnen dan
alsvolgt worden (waarbij je laatste bezwaar is meegenomen):

=ALS((B6<>"motor")+(ISLEEG(B8))+(ISLEEG(B16));"";SOMPRODUCT(--(($B$29:$AX$29-MIN($B$29:$AX$29)+1)*($B$6:$AX$6=B6)*(NIET(ISLEEG($B$8:$AX$8)))*(NIET(ISLEEG($B$16:$AX$16)))>=B29-MIN($B$29:$AX$29)+1)))

=ALS((B6<>"auto")+(ISLEEG(B8))+(ISLEEG(B16));"";SOMPRODUCT(--(($B$29:$AX$29-MIN($B$29:$AX$29)+1)*($B$6:$AX$6=B6)*(NIET(ISLEEG($B$8:$AX$8)))*(NIET(ISLEEG($B$16:$AX$16)))>=B29-MIN($B$29:$AX$29)+1)))

Maar goed, als je tevreden bent met je andere oplossing, zie dit dan alleen
als slot (althans bij mij werken ze) van een exercitie om de oorspronkelijke
vraagstelling tot een goed einde te brengen.

Jan


Piet Robe

unread,
Oct 20, 2009, 5:01:01 PM10/20/09
to
Jan,
Bedankt ook bij mij werkt het. Maar zelf zo'n formule opbouwen is nog net
iets teveel. Zal er eens rustig naar kijken en kijken of ik mijn wijsheid kan
uitbreiden.
0 new messages