Hopelijk kunnen jullie mij hier op de juiste weg zetten.
'k Heb volgende formule in Googlesheets:
=(ALS(A3="";"";(((ASELECTTUSSEN(10000;99999))))))
Die formule doet wat van haar verwacht wordt: een willekeurig getal genereren tussen 10000 en 99999
Maar nu komt de aap uit de mouw: eenmaal dat het getal is gegenereerd, zou het getal niet meer mogen veranderen.
Nu is het zo, dat bij een refresh v.h. rekenblad er een nieuw getal wordt aangemaakt. (wat logisch is: bij een refresh worden alle formules immers opnieuw berekend)
Hoe pak ik zoiets aan? Ergens het willekeurig getal kopiëren naar een ander cel en blokkeren tegen wijzigen? Hoe doet men dat?
Of ergens op een extra blad in een cel het getal genereren en dan kopiëren naar de juiste plaats? ook hier moet dan als het ware de koppeling naar de formule worden verbroken?
Benieuwd naar jullie oplossingen!
Googlesheets: werken met random nummer
-
- Pro Member
- Berichten: 414
- Lid geworden op: 25 mei 2006, 01:30
- Uitgedeelde bedankjes: 57 keer
- Bedankt: 7 keer
- cptKangaroo
- Elite Poster
- Berichten: 3269
- Lid geworden op: 18 dec 2004, 14:33
- Locatie: 053 Aalst
- Uitgedeelde bedankjes: 748 keer
- Bedankt: 250 keer
- Recent bedankt: 2 keer
Die gegenereerde waarde ergens zetten en de aanwezigheid van die waarde gebruiken als conditie om generatie te skippen.
-
- Pro Member
- Berichten: 414
- Lid geworden op: 25 mei 2006, 01:30
- Uitgedeelde bedankjes: 57 keer
- Bedankt: 7 keer
Goed idee!cptKangaroo schreef: 11 jul 2024, 19:56 Die gegenereerde waarde ergens zetten en de aanwezigheid van die waarde gebruiken als conditie om generatie te skippen.
Hoe pak ik dat praktisch aan? Heb al wat zitten experimenteren, maar 'k moet bekennen niet zo goed thuis te zijn in die materie
Komt dus hier op neer (denk ik):
In cel A2, A3, enz... komt de tijdstempel (rekenblad is gekoppeld aan een form). Kunnen we daar iets mee?
M.a.w. eenmaal cel A2 niet meer leeg is, dan skip. Geen random getal meer nodig, want reeds aangemaakt?
Toegevoegd na 2 minuten 29 seconden:
Heb ik geprobeerd. Maar de value wordt ook iedere keer weer aangepast als het rekenblad zich ververst.
Tenzij ik iets verkeerds doe natuurlijk...
-
- Plus Member
- Berichten: 177
- Lid geworden op: 27 jan 2012, 12:46
- Uitgedeelde bedankjes: 21 keer
- Bedankt: 19 keer
Een toevalsgetal wordt gegenereerd o.b.v. een startwaarde.
Gewoonlijk kiest het programma zelf een random startwaarde, o.b.v. datum, tijdstip, bestandsnaam, nog iets en dan nog allerlei.
Maar meestal kan je die startwaarde ook zelf bepalen (bv. rand (489574895) -maar ik ken niets van Googlesheets). Als je dat doet, krijg je ook na een refresh dezelfde waarden (omdat telkens dezelfde startwaarde wordt gebruikt). Je toevalsgetal is dan wel voorspelbaar.
Gewoonlijk kiest het programma zelf een random startwaarde, o.b.v. datum, tijdstip, bestandsnaam, nog iets en dan nog allerlei.
Maar meestal kan je die startwaarde ook zelf bepalen (bv. rand (489574895) -maar ik ken niets van Googlesheets). Als je dat doet, krijg je ook na een refresh dezelfde waarden (omdat telkens dezelfde startwaarde wordt gebruikt). Je toevalsgetal is dan wel voorspelbaar.
- cptKangaroo
- Elite Poster
- Berichten: 3269
- Lid geworden op: 18 dec 2004, 14:33
- Locatie: 053 Aalst
- Uitgedeelde bedankjes: 748 keer
- Bedankt: 250 keer
- Recent bedankt: 2 keer
Mijn suggestie blijkt enkel mogelijk via macros, en het geeft anders een circulaire fout -- 't is blijkbaar niet zo voor de hand liggend om een waarde vast te leggen via formules (maar ik ben ook geen crack).
Mijn suggestie is dan om een celA1 te hebben met daarin enkel de random generator, en een celA2 waar je die waarde zelf naar copy/paste zoals ITnetadmin antwoordde. Dan heb je toegang tot een (pseudo)random getal maar moet je wel telkens de sheet opslaan met dat copy/pasted nummer.
celA1 is dus =ASELECTTUSSEN(10000;99999)
celA2 is copy/pasted waarde en je andere cellen verwijzen naar A2
In jouw geval lijkt de willekeurigheid niet superbelangrijk te zijn, en als er blijkbaar een tijdstempel automatisch bijgezet wordt (die niet verandert?) kan je die tijdsaanduiding gebruiken als pseudorandom getal?
Mijn suggestie is dan om een celA1 te hebben met daarin enkel de random generator, en een celA2 waar je die waarde zelf naar copy/paste zoals ITnetadmin antwoordde. Dan heb je toegang tot een (pseudo)random getal maar moet je wel telkens de sheet opslaan met dat copy/pasted nummer.
celA1 is dus =ASELECTTUSSEN(10000;99999)
celA2 is copy/pasted waarde en je andere cellen verwijzen naar A2
In jouw geval lijkt de willekeurigheid niet superbelangrijk te zijn, en als er blijkbaar een tijdstempel automatisch bijgezet wordt (die niet verandert?) kan je die tijdsaanduiding gebruiken als pseudorandom getal?
-
- userbase crew
- Berichten: 9510
- Lid geworden op: 28 jan 2012, 18:22
- Uitgedeelde bedankjes: 241 keer
- Bedankt: 757 keer
- Recent bedankt: 2 keer
Dan doe je het idd verkeerd.Koelreuteria schreef: 11 jul 2024, 21:33 Heb ik geprobeerd. Maar de value wordt ook iedere keer weer aangepast als het rekenblad zich ververst.
Tenzij ik iets verkeerds doe natuurlijk...
Je moet specifiek een "paste special" doen, en "paste value" kiezen.
Een gewone copypaste kopieert uw formule.