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

Min/Max bepalen onder voorwaarden

Status
Niet open voor verdere reacties.

Plotinus

Gebruiker
Lid geworden
25 mrt 2007
Berichten
659
L.S.

Weet iemand een manier om het laagste en hoogste getal uit een kolom op te diepen waarbij in naastliggende kolommen (zelfde rij) aan voorwaarden moet worden voldaan? SOMPRODUCT leek mij hier mogelijk bruikbaar, maar deze functie lijkt niet combineerbaar met de functie MAX().

gegroet,
mrt
 
waarschijnlijk is bovengenoemde vraag een vervolg op deze vraag.

klik hier voor de link.
 
Dat klopt Oeldere, maar het leek mij beter om een nieuw draadje te starten, omdat het steeds verder van de oorspronkelijke vraag afdreef.
Mijn huidige probleem/uitdaging is overigens naar mijn idee ook niet op te lossen met SOMPRODUCT (al hoop ik stiekem van wel, zodat ik huidige formules kan gebruiken/combineren).

gegroet,
mrt
 
Plotinus, zie dit niet als kritiek.

ik heb de link er voor de overige forumleden bijgezet.

aan de vorige vraag kan gezien worden in welke richting jij zit te denken.

anders komen er straks oplossingen die mogelijk niet met elkaar werken.
 
Als je er een voorbeeldbestandje in een .xls extensie bij doet, hoeven we niet steeds heen en weer te switchen naar de link met wat je wil bereiken. ;)
 
Denk dat het wat lastig wordt met een somproduct-formule, maar met een matrix-formule wel op te lossen is:

Code:
=MIN(ALS((A2:A100>10)*(B2:B100<20);C2:C100))
en
Code:
=MAX((A2:A100>10)*(B2:B100<20);C2:C100)

afsluiten met ctrl+shift+enter en bereiken en voorwaarden naargelang aanpassen

wellicht kun je ook een kijkje nemen bij de database functies zoals DBMIN en DBMAX
 
Harry,

Hierbij het (sterk uitgeklede) voorbeeld bestandje, de essentie is te vinden in het rode kade te beginnen op regel 424. Als in BA418 een datum wordt ingetikt, moet in bovenstaande tabel het een en ander worden opgezocht/berekend onder voorwaarden. De voorwaarden staan in AA426: alleen van die cellen die geteld worden moet het minimum en het maximum worden opgezocht.
In AA421-AA423 staan berekende zaken die aan dezelfde voorwaarden voldoen. Het vinden van de minumum- en maximumwaarden lijkt lastiger.

De suggestie van Eric lijkt niet te werken en DBMIN/DBMAX niet de aangewezen middelen.

En nee Oeldere, ik was zeker niet gepikeerd; excuses als mijn reactie zo is overgekomen; ik vind het fantastisch zoals ik geholpen wordt.

gegroet,
mrt
 

Bijlagen

Lukt het met het voorstel van Eric niet?
Code:
=MAX(ALS(($P$3:$P$414>=$AA$420)*($P$3:$P$414<$AA$420+1)*($T$3:$T$414>25)*($T$3:$T$414<70)*($R$3:$R$414<1)*($Q$3:$Q$414=$S$424);$T$3:$T$414;""))

Afsluiten als matrixformule.
 
Harry, ik krijg als resultaat '#WAARDE!', terwijl als ik op 'fx' klik in de formule-balk er wel een resultaat (het goede!) volgt. De opmaak van de cel is nochtans getal...

gegroet,
mrt
 
Na het inbrengen van de formule GEEN ENTER, maar Ctrl+shift+Enter.
De accolades verschijnen er automatisch omheen.
 
ongelooflijk, het werkt, al snap ik er niets van (van die acculades) - nog wat huiswerk!
hartelijk dank!

Is het trouwens mogelijk om die hele riedel van voorwaarden aan een variabele toe te wijzen, of in een cel te parkeren, waar ik dan naar verwijs? Omdat deze voorwaarden-reeks op veel plekken terug komt, zou dit aanpassingen aanzienlijk vergemakkelijken en kans op fouten verkleinen.

gegroet,
mrt
 
Laatst bewerkt:
afhankelijk hoe de data tot stand komt, kan dit wel.

worden dagelijks data toegevoegd of komen er steeds nieuwe data.

in het 1e geval zou je kunnen werken met namen voor de kolommen.
hier wordt het in ieder geval al overzichtelijker (en beter te begrijpen) van.

tevens kun je beter de data en de berekeningen op aparte werkbladen zetten.

hiermee houd je de gegevens en de berekeningen gescheiden.

hiermee wordt de kans op fouten verkleind en heb je in 1 oogopslag de gewenste gegevens (uitkomsten) bij de hand).
 
Ik ben de formules wat aan het fatsoeneren o.a. door het benoemen van constanten. Ik loop er echter nu tegen aan dat ik niet weet hoe de namen van die constanten in één keer in de formules kunnen worden doorgevoerd. In Excel 2003 had je geloof ik zoiets als 'toepassen' bij 'invoegen namen'. In Excel 2007 lijkt dat verdwenen. Iemand een idee?; moet gewoon bestaan; de formules nu handmatig aanpassen is geen doen.

gegroet,
mrt
 
excel 2007 => formules => namen beheren.

is dit wat je bedoelt?
 
klopt, in zoverre dat ik niet weet hoe ik nu de namen in de formules doorgevoerd krijg. Er is geen knap van 'toepassen' of zoiets.
Het zijn overigens Werkmap-namen en de namen staan gedefinieerd in een ander werkblad.

gegroet,
mrt
 
doe eens een voorbeeldje, ik snap niet precies wat je bedoelt.
 
Oeldere, in bijlage het betreffende bestandje. Op rij 4726 begint het formule/evaluatie-onderdeel. Bij tab 'instellingen' zijn een aantal namen gemaakt. Die van 'tijdsinterval' (E4) wordt niet automatisch doorgevoerd in het andere tabblad.

Even vrijpostig gelijk nog maar een vraag:
Ik heb een aantal waarden opgezocht (zie Min en Max-waarden), maar nu wil ik er ook de datum en tijdstip bij zoeken. Met 'vert.zoeken' zou dat prima kunnen, ware het niet dat die van links naar rechts werkt. Ik wil nu juist de datum aan de linkerzijde vinden via een rechts gelegen kolom. Is hier een oplossing voor; wellicht van onder naar boven zoeken, dus de zaak omdraaien? Ik heb al wat geëxperimenteerd; zie cel BF4732, maar dit is dus niet het antwoord.

gegroet,
mrt
 

Bijlagen

Code:
=ALS(BB4735>0;10*LOG((SOMPRODUCT(($P$3:$P$4723>=$BB$4728)*($P$3:$P$4723<$BB$4728+1)*($T$3:$T$4723>ondergrens)*($T$3:$T$4723<bovengrens)*($R$3:$R$4723<1)*($Q$3:$Q$4723=[COLOR="red"]tijd[SIZE="5"]s[/SIZE]interval[/COLOR])*10^($T$3:$T$4723/10)))/$BB$4735);"-")

deze code geeft bij mij de uitkomst in BB4729: 50,17.

dit is ook de uitkomst die je zelf in deze cel had staan.

ik denk dus dat de naam gewoon werkt.

wat me wel opvalt is dat instellingen!E4 is opgemaakt als standaard, terwijl de rest van de tijdcellen zijn opgemaakt als TIJD.
 
de 2e vraag kan met de volgende formule (zie bijlage; gele cel S4729)

Code:
=INDIRECT("p"&VERGELIJKEN(AA4729;T1:T4724;0))

dit werkt alleen als de uitkomst ook exact wordt gevonden.

anders dien je de 0 in de formule te vervangen door 1 of -1.

jouw uitkomst (bb4729) geeft aan 50,17.
deze uitkomst staat niet in kolom T.
hier staat wel de waarde 50,16.


deze heb ik voor het voorbeeld dan even gebruikt (in AA4729), om te laten zien dat het wel mogelijk is.

P.s. wat doe je als je 2 waarden vindt die dezelfde uitkomst heeft?
 

Bijlagen

Laatst bewerkt:
Dank Oeldere, weer een stapje verder!

Wat betreft jouw eerste antwoord: je hebt handmatig 'tijdsinterval' doorgevoerd. Dat kan ik ook natuurlijk; het ging om Excel zelf dit in alle formules te laten doen. Vroeger kon dat. Ik heb het nu uitgevoerd met 'zoek en vervang'; eigenlijk ook simpel. Al blijft het me intrigeren dat het vroeger automatisch kon en nu niet meer (voor zover ik nu weet).

Wat betreft jouw tweede bericht:
Je bent van een verkeerde cel uitgegaan: de eerste drie regels in die tabel zijn berekende waarden, een soort gewogen gemiddelde. Het gaat om de drie zaken die beginnen vanaf regel 4732, bijvoorbeeld om MaxLAeq, welke opgezocht wordt en waar nog een datum/tijd voor moet worden opgezocht. Dat is me nu met jouw oplossing gelukt; schitterend.

Blijft verder inderdaad de vraag hoe op te lossen als er meerdere dezelfde resultaten gevonden worden. Dan kan een verkeerde dag, of een verkeerd dagdeel (dag, avond, nacht) bij de waarde worden gezocht. Ik moet dat nog proberen uit te sluiten. Ik denk aan het proberen te combineren met de 'somproduct-truc' - heeft me meermalen goed geholpen...

gegroet,
mrt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan