Casuale tra determinate celle
Hai un problema con Excel? 
Casuale tra determinate celle
di Fabio (utente non iscritto) data: 28/06/2013 17:44:53
Ciao. Ho in questo range di celle C4:L12 determinati numeri, alcune celle sono anche vuote. Che formula dovrei mettere in C15 che mi prenda a caso uno di quei numeri? Mi servirebbe anche in C16 e C17; ho cercato nello storico ma non ho trovato nulla per la mia esigenza. Grazie
di totygno71 (utente non iscritto) data: 28/06/2013 19:44:33
Scusa la domanda...
ma che senso ha sta cosa???
di totygno71 data: 28/06/2013 19:54:58
cmq prova:
in C15 metti:
=CASUALE.TRA(MIN(C4:L12);MAX.VALORI(C4:L12))
stesso ragionamento per le altre
di Fabio (utente non iscritto) data: 28/06/2013 19:58:49
Ok, perfetto.
di totygno71 data: 28/06/2013 20:08:54
Prego... ^_^
di HarryBosch data: 28/06/2013 20:16:19
Scusate ma non è detto che all'interno del Range indicato ci sia il valore compreso tra il min e il max dei valori stessi :)
Bisognerà invece calcolare un numero casuale di colonna e di riga tra quelle del range, e quindi recuperare il valore con un riferimento indiretto.
di totygno71 data: 28/06/2013 20:19:41
@ Harry
cit "non è detto che all'interno del Range indicato ci sia il valore compreso tra il min e il max dei valori stessi "
che vordì?
di HarryBosch data: 28/06/2013 20:29:29
"Vor dir" che il range [c4:l12] comprende 90 celle.
Supponiamo che il minimo dei valori sia 1 e il massimo sia 1000: l'estrazione casuale produce 500.
Sei sicuro che nel Range delle 90 celle ci sia il 500?
Al massimo hai una probabilità X di trovacelo...
Mi sembra che a Fabio interessi estrarre non tanto un valore casuale, ma uno dei valori inseriti nel range ^_^
di Fabio (utente non iscritto) data: 28/06/2013 20:33:39
Infatti, a me interessa un valore di quelli inseriti nel range C4:L12 che è un numero da 1 a 90. Questa formula =CASUALE.TRA(MIN(C4:L12);MAX.VALORI(C4:L12)) che valore mi trova?
di totygno71 data: 28/06/2013 20:33:40
E sai che te dico???
Mi sa che c'hai raGGione tu!
Ho interpretato male la sua richiesta.... Me sa che è mejo se vado a magnà quarcosa ma soprattutto a bere un buon bicchiere di gewurztraiminer ghjacciato! Cià cià
^_^
di Fabio (utente non iscritto) data: 28/06/2013 20:35:09
HarryBosch help me!
di HarryBosch data: 28/06/2013 20:58:25
Ti ho preparato un file di esempio, così ci capiamo subito.
Probabilmente si può risolvere anche diversamente, ma anch'io con le formule non faccio più pratica da diverso tempo :)
Magari qualcun'altro saprà darci una soluzione alternativa.
Ho intestato le colonne del range da 1 a 11 in modo da poterle cercare con la funzione Cerca.Orizzontale. Estraggo casualmente un numero da 1 a 11 e mi trovo la colonna, un numero casuale da 2 a 12 e trovo il riferimento di riga (da 2 perché la prima riga della matrice è l'intestazione).
Inserita la riga di intestazione da 1 a 11, la formula sarà:
=CERCA.ORIZZ(CASUALE.TRA(1;11);C3:M12;CASUALE.TRA(2;10);FALSO)
di HarryBosch data: 28/06/2013 21:02:10
O.T.
@ Totygno
A proposito! Riserva anche al sottoscritto un bicchiere di quel gewurztraiminer ghjacciato che su questo aspetto sono sempre interessato ^_^
di Fabio (utente non iscritto) data: 28/06/2013 21:19:26
Il tuo file è uno spettacolo. Però come si può evitare che se scrivo qualcosa per esempio in C25 quei numeri che già mi ha "scelto" in quelle 3 celle me li cambia nuovamente?
di HarryBosch data: 28/06/2013 21:48:55
Mi sa che l'unica è agire sul ricalcolo automatico delle formule.
Ho aperto la versione 2003 sulla mia macchina virtuale e ti posso dire che se:
- apri il menù "Strumenti"
- e clicchi su "Opzioni"
- selezioni la scheda "Calcolo"
- imposti "Manuale"
a questo punto le formule vengono ricalcolate soltanto premendo F9.
Con lo svantaggio che se hai altre formule da tenersi aggiornate ovviamente non ricalcoleranno in automatico.
di Fabio (utente non iscritto) data: 28/06/2013 21:56:01
Io in quel foglio ho solo la tua formula, ma in quella cartella ho altri fogli con formule. Facendo il calcolo manuale me lo fa in tutta la cartella o solo in quel foglio?
di HarryBosch data: 28/06/2013 22:06:59
Si ripercuote su tutta la cartella...
Hai mai utilizzato o provato ad utilizzare una macro?
di Fabio (utente non iscritto) data: 28/06/2013 22:17:34
Qualcuna si.
di HarryBosch data: 28/06/2013 23:31:16
Ti allego anche un file dove ho eliminato le formule e ho inserito due macro:
- con un pulsante generi una nuova matrice nel range interessato (i numeri vanno da 1 a 90, ma anche possibilità di cella vuota, almeno secondo la tua informazione di apertura del thread)
- con l'altro pulsante generi una nuova ricerca dei 3 valori nel range
di Fabio (utente non iscritto) data: 28/06/2013 23:43:36
OK, ora funziona tutto. Grazie. Ti saluto
di Fabio (utente non iscritto) data: 29/06/2013 21:35:12
Ciao HarryBosch. Scusa se ti riscrivo ma ho questo piccolo problemino: usando la tua formula e cioè: =CERCA.ORIZZ(CASUALE.TRA(1;10);C4:L13;CASUALE.TRA(2;10);FALSO) se nell'arco di quelle celle c'è qualcuna vuota mi inserisce lo zero (in maniera casuale naturalmente). Come si può modificare questa formula per non farmi inserire lo zero?
di Fabio (utente non iscritto) data: 01/07/2013 18:48:47
Qualcuno sa modificare questa formula =CERCA.ORIZZ(CASUALE.TRA(1;11);C3:M12;CASUALE.TRA(2;10);FALSO) in modo che mi prenda i numeri in maniera casuale da 1 in poi? Lo zero (e le celle vuote) non mi serve. Secondo me basta aggiungere >0 a quella formula però il modo preciso non lo so.
di Fabio (utente non iscritto) data: 02/07/2013 21:09:46
Help me
di HarryBosch data: 02/07/2013 21:35:15
Ciao Fabio
non ti piacciono le macro? ^_^
dai, scherzi a parte, vediamo se risolviamo questo piccolo intoppo.
Nelle Opzioni di excel hai la possibilità di spuntare questa voce:
"Visualizza zero nelle celle con valore zero"
Ora non ricordo nella versione 2003 in quale parte del menù si trovi.. fai una ricerca e togli la spunta. A quel punto la formula restituisce la cella vuota.
di Fabio (utente non iscritto) data: 03/07/2013 07:15:41
A me non serve che trovi ne il numero e ne le celle vuote. In quelle celle mi deve prendere in maniera random solo i numeri che ci sono naturalmente dall'1 in poi.
di HarryBosch data: 03/07/2013 09:54:38
"A me non serve che trovi ne il numero e ne le celle vuote"
Forse intendevi né lo 0 né le celle vuote :)
Non sono un espertissimo di formule, ma con esse non è possibile fare in modo di "rigenerare" un nuovo calcolo nel caso il primo random (CASUALE) pescasse una cella vuota della tabella...
Sempre che non ci sia un sistema alternativo, che al momento non ho individuato.
Il file con macro che ti avevo postato però, cercava all'interno della tabella soltanto le celle che contenevano valori, escludendo dal random quelle vuote; non era questo che ti serviva?
di Fabio (utente non iscritto) data: 03/07/2013 12:51:04
Quel file andava bene. Però ho preferito la formula che va sempre bene, ma mi sono accorto che pesca anche le celle vuote e quindi sta cosa non va bene. Secondo va bisogna aggiungere alla formula che deve pescare >0 e si risolve. Ho provato io ad inserirlo ma senza risultato.
di HarryBosch data: 04/07/2013 19:42:27
Purtroppo non si può risolvere in questo modo; la formula che ho inserito cerca una casella dell'intervallo [C4:L12].
La funzione CASUALE estrae un numero per la riga e un numero per la colonna; la funzione CERCA.ORIZ trova la relativa corrispondenza nell'intervallo.
Se la cella è vuota non puoi fare altro: non puoi dire, "SE la cella è vuota ="" oppure =0, allora cercane un'altra"... a patto di non inserire tutta una serie di SE nidificati che ripetano la stessa formula finchè non viene trovata una cella piena, ma quanti??
Questa è un'operazione da vba, come la macro che ti ho riportato nel file allegato.
di Fabio (utente non iscritto) data: 04/07/2013 19:56:09
Ok, vuol dire che userò il vba del file che hai allegato. Grazie
Vuoi Approfondire?