Generarea aleatorie a tuturor numerelor naturale

Informatii despre cum se utilizeaza Microsoft Excel 2007. Calcule, Formule, Functii, Tabele pivot, Analiza datelor, etc
TudyBTH
Moderator
Moderator
Mesaje: 993
Membru din: Joi Feb 11, 2016 2:12 pm
Localitate: Cluj Napoca

Re: Generarea aleatorie a tuturor numerelor naturale

Mesaj de TudyBTH » Joi Mar 15, 2018 8:44 pm

Iti atrag atentia domnule H2SO4 ca esti off topic fata de subiectul mesajului.
Daca ai nemultumiri fata de prestatia mea ca moderator te poti adresa administratorilor forumului in sectiunea Condica de sugestii si reclamatii. Eventualele postari similare vor fi sterse.
Am invatat sa inotam in apa, ca pestii
Am invatat sa zburam in aer, ca pasarile
A ramas doar sa invatam sa traim pe Pamant, ca Oamenii.

vdingo11
Mesaje: 40
Membru din: Mie Ian 09, 2013 1:33 pm

Re: Generarea aleatorie a tuturor numerelor naturale

Mesaj de vdingo11 » Vin Mar 16, 2018 8:21 am

Aveti mai jos formula pentru extragerea primelor 100 numere naturale in ordine aleatoare

Cod: Selectaţi tot

=LARGE(ROW($1:$100)-COUNTIF($A$1:A1,ROW($1:$100))*ROW($1:$100),INT(RAND()*(100-ROWS($1:1)+1))+1)
Este o formula array (Ctrl+Shift+Enter) si trebuie introdusa incepand cu randul 2 sau mai jos (nu va functiona daca este introdusa in randul 1)
[/quote]
Multumesc.
Am vazut fisierul atasat si este ok. Problema este ca am incercat sa adaug si eu formula intr-un alt fisier si nu functioneaza. NU stiu ce inseamna Este o formula array (Ctrl+Shift+Enter)
Am copiat fosrmula si am dat paste in A2 "=LARGE(ROW($1:$100)-COUNTIF($A$1:A1,ROW($1:$100))*ROW($1:$100),INT(RAND()*(100-ROWS($1:1)+1))+1)" si imi da #NUM?
Am vazut apoi in exemplu ca este introdusa intre {...}
Am pus manula acoladele {=LARGE(ROW($1:$100)-COUNTIF($A$1:A1,ROW($1:$100))*ROW($1:$100),INT(RAND()*(100-ROWS($1:1)+1))+1)} si mi-l afiseaza ca un text
Cum se poate introduce acea formula?
TudyBTH scrie: Pentru cealalta solicitare (amestecare pe coloane) va sugerez sa atasati un fisiser care sa reflecte amplasarea si formatul datelor.
Am atasat un fisier sablon. Ma intereseaza sa amestec numele din coloana 2 si separat cele din coloana 3. Coloana 1 ar trebui sa ramana neschimbata
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

TudyBTH
Moderator
Moderator
Mesaje: 993
Membru din: Joi Feb 11, 2016 2:12 pm
Localitate: Cluj Napoca

Re: Generarea aleatorie a tuturor numerelor naturale

Mesaj de TudyBTH » Vin Mar 16, 2018 9:45 am

Buna,
Formulele array se introduc prin apasarea tastelor Ctrl+Shift+Enter (fata de o formula orrdinara care se introduce prin apasarea doar a tastei Enter).
Acoladele sunt afisate de aplicatie (nu trebuiesc introduse manual) drept confirmare ca formula a fost introdusa ca formula array.
Am invatat sa inotam in apa, ca pestii
Am invatat sa zburam in aer, ca pasarile
A ramas doar sa invatam sa traim pe Pamant, ca Oamenii.

TudyBTH
Moderator
Moderator
Mesaje: 993
Membru din: Joi Feb 11, 2016 2:12 pm
Localitate: Cluj Napoca

Re: Generarea aleatorie a tuturor numerelor naturale

Mesaj de TudyBTH » Vin Mar 16, 2018 10:36 am

In ce priveste a doua problema (cea cu coloanele), simpla amestecare a valorilor nu exclude posibilitatea ca pe una dintre linii sa se afle aceasi valoare si nu exclude nici posibilitatea ca pe o anumita linie sa ramana valoarea initiala
Este ok?
Daca nu, enumerati toate conditiile pe care trebuie sa le intruneasca aceste "amestecari"
Am invatat sa inotam in apa, ca pestii
Am invatat sa zburam in aer, ca pasarile
A ramas doar sa invatam sa traim pe Pamant, ca Oamenii.

vdingo11
Mesaje: 40
Membru din: Mie Ian 09, 2013 1:33 pm

Re: Generarea aleatorie a tuturor numerelor naturale

Mesaj de vdingo11 » Vin Mar 16, 2018 10:44 am

Multumesc.
Generarea celor 100 numere diferite este perfecta - imi este greu sa inteleg principiul formulei, dar bine ca functioneaza.
Evident ca daca sunt putine informatii in cele doua coloane sansa ca un nume sa ramana pe pozitia sa sau sa fie acelasi nume pe ambele coloane este mai mare.
Ideea este sa le amestece pe fiecare coloana cu riscul de a nu fi indeplinite conditiile de mai sus (sunt niste exceptii posibile)

TudyBTH
Moderator
Moderator
Mesaje: 993
Membru din: Joi Feb 11, 2016 2:12 pm
Localitate: Cluj Napoca

Re: Generarea aleatorie a tuturor numerelor naturale

Mesaj de TudyBTH » Vin Mar 16, 2018 11:41 am

Formula pt Nume1 (formula array, se introduce cu Ctrl+Shift+Enter)

Cod: Selectaţi tot

=INDEX(Nume1,LARGE(ROW(OFFSET($A$1,,,ROWS(Nume1),1))-COUNTIF($H$1:H1,ROW(OFFSET($A$1,,,ROWS(Nume1),1)))*ROW(OFFSET($A$1,,,ROWS(Nume1),1)),INT(RAND()*(ROWS(Nume1)-ROWS($1:1)+1))+1))
si pentru Nume2 (array):

Cod: Selectaţi tot

=INDEX(Nume2,LARGE(ROW(OFFSET($A$1,,,ROWS(Nume2),1))-COUNTIF($H$1:H1,ROW(OFFSET($A$1,,,ROWS(Nume2),1)))*ROW(OFFSET($A$1,,,ROWS(Nume2),1)),INT(RAND()*(ROWS(Nume2)-ROWS($1:1)+1))+1))
Pentru o adaptare mai usoara in alt fisier am definit doua nume:
- Nume1 definit cu formula:

Cod: Selectaţi tot

=OFFSET(Sheet1!$B$1,1,0,COUNTA(Sheet1!$B$2:$B$2000),1)
si
-Nume2 definit cu formula:

Cod: Selectaţi tot

=OFFSET(Sheet1!$C$1,1,0,COUNTA(Sheet1!$C$2:$C$2000),1)
ambele nume sunt definite dinamic si suporta liste de max 1998 elemente. Daca aveti mai multe elemente in lista ajustati aceste formule (COUNTA(Sheet1!$B$2:$B$2000) dar, fiind formule array, liste atat de lungi vor incetini considerabil recalcularea fisierului.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
Am invatat sa inotam in apa, ca pestii
Am invatat sa zburam in aer, ca pasarile
A ramas doar sa invatam sa traim pe Pamant, ca Oamenii.

vdingo11
Mesaje: 40
Membru din: Mie Ian 09, 2013 1:33 pm

Re: Generarea aleatorie a tuturor numerelor naturale

Mesaj de vdingo11 » Lun Mar 19, 2018 1:21 pm

Multumesc.
In prima coloana Nume1 - vad ca le amesteca bine, dar in coloana 2 nu este bine - repeta unele nume de mai multe ori. In plus nume2 de pe I11 este tot timpul Stafii.

H2SO4
Mesaje: 135
Membru din: Mar Apr 19, 2016 12:50 pm

Re: Generarea aleatorie a tuturor numerelor naturale

Mesaj de H2SO4 » Lun Mar 19, 2018 11:18 pm

Formulele date nu "produc" nume UNICE, pe niciuna dintre coloane.
Apasa F9 de cateva ori si vei vedea ca nu vei avea nume unice pe nici o coloana.

Nu ar fi mai usor sa scrii o coloana cu numele unice si in cealalta cu ajutorul unei formule sa aranjeze numele fara dubluri si amestecate?
“Tell me and I forget, teach me and I may remember, involve me and I learn.”

vdingo11
Mesaje: 40
Membru din: Mie Ian 09, 2013 1:33 pm

Re: Generarea aleatorie a tuturor numerelor naturale

Mesaj de vdingo11 » Mar Mar 20, 2018 4:02 pm

H2SO4 scrie: Nu ar fi mai usor sa scrii o coloana cu numele unice si in cealalta cu ajutorul unei formule sa aranjeze numele fara dubluri si amestecate?
Asta este si scopul final. Asa ar trebui sa lucreze aplicatia.
Eu in coloana nume1 am nume unice, dar dupa formula aplicata mai sus de TudyBTH nu mai am nume unice la amestecare.
Am atasat o poza cu diferenta
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

TudyBTH
Moderator
Moderator
Mesaje: 993
Membru din: Joi Feb 11, 2016 2:12 pm
Localitate: Cluj Napoca

Re: Generarea aleatorie a tuturor numerelor naturale

Mesaj de TudyBTH » Mar Mar 20, 2018 4:38 pm

Incercati acum (atasament)
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
Am invatat sa inotam in apa, ca pestii
Am invatat sa zburam in aer, ca pasarile
A ramas doar sa invatam sa traim pe Pamant, ca Oamenii.

Scrie răspuns

Înapoi la “Intrebari despre Excel 2007”