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

In een bereik een waarde kiezen

Status
Niet open voor verdere reacties.

gridishere

Gebruiker
Lid geworden
5 nov 2009
Berichten
283
Goedenavond,

Ik gebruik deze formule in D1 om een willekeurige cell te tonen van de gekozen cellen: =KIEZEN(ASELECTTUSSEN(1;8);G1;G4;G7;G10;G13;G16;G19;G22)

Ik wil in D1 als uitkomst hebben dat hij altijd een cell kiest in dit bereik G1;G4;G7;G10;G13;G16;G19;G22 die lager of gelijk is aan de laagste waarde in dit bereik B2;C2;E2. Weet iemand welke formule ik hier voor nodig heb?


Gaande deze weg wil ik in C1 als uitkomst hebben dat hij altijd een cell kiest in dit bereik G1;G4;G7;G10;G13;G16;G19;G22 die hoger of gelijk is aan de hoogste waarde in dit bereik B2;D2;E2. Weet iemand welke formule ik hier voor nodig heb?

Zou iemand me hiermee kunnen helpen? Ik heb voor het gemak een voorbeeld bijgevoegd.

Alvorens dank,

grid
 

Bijlagen

Laatst bewerkt:
Zijn de getallen G1:G22 gesorteerd ?
Waarom gebruik je geen aaneengesloten gebied ?
 
Je gaat een kringverwijzing krijgen als je formules gebruikt
Als je office 365 hebt kun je deze in D2 invullen

Code:
=INDEX(FILTER(G1:G22;(G1:G22<=MIN(B2;[COLOR="#FF0000"]C2[/COLOR];E2))*(G1:G22<>"");"");ASELECTTUSSEN(1;AANTALARG(FILTER(G1:G22;(G1:G22<=MIN(B2;[COLOR="#FF0000"]C2[/COLOR];E2))*(G1:G22<>"");""))))

Als je vervolgens onderstaand in C2 invult zie je dat dit niet mogelijk is door indirecte verwijzing naar eigen formule

Code:
=INDEX(FILTER(G1:G22;(G1:G22>=MAX(B2;[COLOR="#FF0000"]D2[/COLOR];E2))*(G1:G22<>"");"");ASELECTTUSSEN(1;AANTALARG(FILTER(G1:G22;(G1:G22>=MAX(B2;[COLOR="#FF0000"]D2[/COLOR];E2))*(G1:G22<>"");""))))

Je kunt er echter voor kiezen om het toe te staan.
Opties, Formules, iteratieve berekeningen inschakelen
 
Laatst bewerkt:
Bedankt voor het meedenken!

@snb, het zijn vaste getallen waar tussen kan worden gekozen. Wanneer ik G1:G22 gebruik zal de formula niet werken. Bedoel je dit?

@JVeer, in dit geval gebruik ik Office 2019 (dus geen 365). Bij invoer van je formula's krijg ik: Deze functie is ongeldig. Is er iets op te lossen hier in? De indrecte verwijzing naar eigen formula kan misschien opgelost worden met hulpcellen?
 
Paar opmerkingen:
- G1, etc. zijn GEEN vaste getallen maar formules;
- Ik denk niet dat snb bedoeld dat de formule niet zal werken, maar dat het onhandig in het gebruik is, een onderbroken bereik. Als het aangesloten was kon je bijvoorbeeld deze gebruiken: =KLEINSTE(G1:G22;ASELECTTUSSEN(1;8))
- formule in kolom G: "ASELECTTUSSEN(0;1-1)" geeft ALTIJD waarde 0 als uitkomst. Overbodig dus.
- natuurlijk werken de formules in #3 niet in office 2019, ze bevatten Excel 365-functies. Zoals ook al vermeld door Jveer.
- extra kolommen lossen het probleem van kringverwijzingen niet op.
- Je telt in G4;G7;G10;etc. telkens een beetje op bij de volgende. Daardoor staat je hoogste waarde dus ALTIJD in G1 en de laagste ALTIJD in G22.

Indien dit laatste correct is zijn er misschien mogelijkheden. Is het ook mogelijk om kolom G in zijn geheel NIET te gebruiken?
 
Laatst bewerkt:
AlexCEL, Ik zal het proberen iets te verduidelijken. De open, hoog, laag en sluit representeren een willekeurige gegenereerde kandelaar (zie voorbeeld): https://miro.medium.com/max/2668/1*XiMfjy00R32GavTa4y8qFw.jpeg

Om deze reden is als laagste punt altijd een willekeurige waarde benodigd uit G1;G4;G7;G10;G13;G16;G19;G22 welke lager ligt als wat al in B2:C2:E2 staat of willekeurig gelijk ligt als de laagste waarde van 1 van deze waarden in B2:C2:E2.

De formule om de decimalen te genereren komt hier vandaan: https://www.exceldome.com/solutions/generate-random-number-between-two-numbers-with-decimals/
 
Laatst bewerkt:
Het probleem met de kringverwijzingen blijft, dan moet er een iteratief proces aan te pas komen eventueel. Zoals JVeer ook al stelde.

Voor jou misschien gesneden koek, maar het plaatje en de term "willekeurig gegenereerde kandelaar" zegt me helemaal niets.

De ASELECTTUSSEN(0;1-1) heeft altijd 0 als uitkomst en bepaalt niet of er decimalen komen of niet. Dat doet het laatste deel van de functie: ASELECT(). In je eigen linkje staat ook dat je het hoogste (gewenste) getal moet nemen en daar 1 van aftrekken. Dat komt omdat ASELECT maximaal 1 kan worden...
 
AlexCEL, is zo'n iteratief proces alleen mogelijk om te berekenen met Office 365 of is er dan een andere formule voor nodig?

Het zou ook als volgend uitgerekend kunnen worden:

Punt 1 (D2): Ik heb eerst willekeurig een waarde nodig van 1 van deze cellen: G1;G4;G7;G10;G13;G16;G19;G22 Dit is dan de laagste waarde. Dit is laag.

Punt 2 (C2): Vervolgens heb ik dan willekeurig een waarde nodig van 1 van deze cellen die hoger ligt als punt 1 of gelijk ligt aan punt 1: G1;G4;G7;G10;G13;G16;G19;G22. Dit is hoog.

Punt 3 (B2): Vervolgens heb ik dan willekeurig een waarde nodig die gelijk ligt aan punt 1 of 2 of een waarde die er tussen ligt uit deze cellen: G1;G4;G7;G10;G13;G16;G19;G22. Dit is open.

Punt 4 (E2): Vervolgens heb ik dan willekeurig een waarde nodig die gelijk ligt aan punt 1 of 2 of een waarde die er tussen ligt uit deze cellen: G1;G4;G7;G10;G13;G16;G19;G22. Dit is sluit.
 
Laatst bewerkt:
Ik vermoed dat dit het beste kan met VBA, maar dat laat ik even aan de specialisten over.
 
@roeljongman, dat is correct, is dit overigens toegestaan? ik was overigens bij een correcte oplossing direct van plan deze hier te melden
 
zo ?
 

Bijlagen

Laatst bewerkt:
@cow18, jah dit lijkt het te zijn jah, erg bedankt ik ga er mee aan de slag en testen :-)
ik kom voor de kleinste waarde met jou hulp dan uit op:
Code:
=KLEINSTE(G1:G22;ASELECTTUSSEN(1;AANTAL.ALS(G1:G22;"<="&MIN(B2:E2))))
 
Laatst bewerkt:
@roeljongman, dat is correct, is dit overigens toegestaan? ik was overigens bij een correcte oplossing direct van plan deze hier te melden

Beetje late reactie...

Een forumregel is dat je het direct meldt als je een vraag ook op een andere plek plaatst.
daarmee voorkom je dat mensen tijd en energie in een oplossing stoppen terwijl er ergens anders al een oplossing is. Er is een klein aantal excelforums en veel leden zitten op meerdere forums dus zien dat ook en eigenlijk alle forums hebben regels over het plaatsen op andere forums om die reden dat mensen niet onnodig hun tijd stoppen in een al opgelost probleem.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan