Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Quizzzzz di Excel] Quesito 3

5 views
Skip to first unread message

giovanna

unread,
May 2, 2011, 3:50:47 AM5/2/11
to
Ciao, tutti.

Mi si perdoni la "deformazione", la poca fantasia! :-)

Ecco il mio

QUESITO n°3

Un numero (intero, *naturale*) in A1.

Si vogliono due formule.
- Formula n°1: restituisca il numero di divisori (positivi) del numero
stesso, cioè *quanti* divisori ha il numero, 1 e se stesso compresi.
Es. il numero 12 ha 6 divisori positivi

- Formula n°2: restituisca i divisori del numero, cioè *quali* sono i
divisori. Es. i divisori di 12: 1, 2, 3, 4, 6, 12

Naturalmente si tengono in considerazione i limiti di Excel. In Excel
2003 il valore massimo dei divisori trovabili è di 65536 (già
un'esagerazione!)

- Formula <i>extra</i> (a piacere, io direi prescinda da "punti", anche
per ovvi motivi ... Decida poi chi di dovere!:-) ):
stabilisca se un numero è primo: restituisca VERO se lo è, FALSO se no!

PS: mi si segnalino eventuali imprecisioni. Posso chiarire anche in
caso di dubbi.
grazie,
buon quizzzzz!

--
ciao
giovanna
.......................
www.riolab.org
.........................


giovanna

unread,
May 2, 2011, 4:31:55 AM5/2/11
to
Sembra che giovanna abbia detto :

> Naturalmente si tengono in considerazione i limiti di Excel. In Excel 2003 il
> valore massimo dei divisori trovabili è di 65536 (già un'esagerazione!)
>

oops, e te pareva :-(
intendevo:
65536 è il valore max di cui si possano trovare i divisori in Excel
2003

paoloard

unread,
May 2, 2011, 5:04:28 AM5/2/11
to
"giovanna" ha scritto nel messaggio
news:4dbe6259$0$18250$4faf...@reader2.news.tin.it...

Ciao, tutti.

Mi si perdoni la "deformazione", la poca fantasia! :-)

Ecco il mio

QUESITO n°3

Un numero (intero, *naturale*) in A1.

Si vogliono due formule.
- Formula n°1: restituisca il numero di divisori (positivi) del numero
stesso, cioè *quanti* divisori ha il numero, 1 e se stesso compresi.
Es. il numero 12 ha 6 divisori positivi

- Formula n°2: restituisca i divisori del numero, cioè *quali* sono i
divisori. Es. i divisori di 12: 1, 2, 3, 4, 6, 12

Naturalmente si tengono in considerazione i limiti di Excel. In Excel
2003 il valore massimo dei divisori trovabili è di 65536 (già
un'esagerazione!)

- Formula <i>extra</i> (a piacere, io direi prescinda da "punti", anche
per ovvi motivi ... Decida poi chi di dovere!:-) ):
stabilisca se un numero è primo: restituisca VERO se lo è, FALSO se no!

---------------------------------------------------------------------------------------

1°) =SE($A$1<>"";SOMMA(1*(RESTO($A1;RIF.RIGA(INDIRETTO("1:"&$A1)))=0));"")
matriciale

2°)
=SE(VAL.ERRORE(PICCOLO(SE(RESTO($A$1;RIF.RIGA(INDIRETTO("1:"&$A$1)))=0;RIF.RIGA(INDIRETTO("1:"&$A$1));"");RIF.RIGA(A1)));"";PICCOLO(SE(RESTO($A$1;RIF.RIGA(INDIRETTO("1:"&$A$1)))=0;RIF.RIGA(INDIRETTO("1:"&$A$1));"");RIF.RIGA(A1)))
matriciale

3°) =MATR.SOMMA.PRODOTTO(1*(RESTO(A1;RIF.RIGA(INDIRETTO("1:"&A1)))=0))=2


ciao paoloard
http://www.riolab.org

paoloard

unread,
May 2, 2011, 5:08:58 AM5/2/11
to
"paoloard" ha scritto nel messaggio news:ipls3e$ot3$1...@dont-email.me...

Ciao, tutti.

Ecco il mio

QUESITO n°3


ciao paoloard
http://www.riolab.org
-------------------------------------------------------------

Ebbene si', prima che me lo dica Giovanna me lo dico da solo: sono un
imbroglione! Gio sa anche il perche' ;-)
Merito una punizione per scandaloso plagio.

paoloard
http://www.riolab.org

giovanna

unread,
May 2, 2011, 5:16:34 AM5/2/11
to
paoloard ha usato la sua tastiera per scrivere :

> 1°) =SE($A$1<>"";SOMMA(1*(RESTO($A1;RIF.RIGA(INDIRETTO("1:"&$A1)))=0));"")
> matriciale
>
> 2°)
> =SE(VAL.ERRORE(PICCOLO(SE(RESTO($A$1;RIF.RIGA(INDIRETTO("1:"&$A$1)))=0;RIF.RIGA(INDIRETTO("1:"&$A$1));"");RIF.RIGA(A1)));"";PICCOLO(SE(RESTO($A$1;RIF.RIGA(INDIRETTO("1:"&$A$1)))=0;RIF.RIGA(INDIRETTO("1:"&$A$1));"");RIF.RIGA(A1)))
> matriciale
>
> 3°) =MATR.SOMMA.PRODOTTO(1*(RESTO(A1;RIF.RIGA(INDIRETTO("1:"&A1)))=0))=2
>
>

wow, Paolone,
mi paiono perfette! ora aspettiamo riduzioni!!!

paoloard

unread,
May 2, 2011, 5:20:01 AM5/2/11
to
"giovanna" ha scritto nel messaggio
news:4dbe7673$0$18241$4faf...@reader2.news.tin.it...

No Gio sono un bieco plagiatore, le formule sono tue, pero' per riscattarmi
potrei tentare di accorciarle:

1°) =SOMMA(1*(RESTO($A1;RIF.RIGA(INDIRETTO("1:"&$A1)))=0)) matriciale
(togliendo il controllo se la cella è vuota)

2°)
=PICCOLO(SE(RESTO($A$1;RIF.RIGA(INDIRETTO("1:"&$A$1)))=0;RIF.RIGA(INDIRETTO("1:"&$A$1));"");RIF.RIGA(A1))
matriciale (Togliendo il controllo per la restituzione di errore a fine
dati)

3°) =SOMMA(1*(RESTO(A1;RIF.RIGA(INDIRETTO("1:"&A1)))=0))=2 matriciale


ciao paoloard
http://www.riolab.org

giovanna

unread,
May 2, 2011, 5:22:09 AM5/2/11
to
paoloard ha usato la sua tastiera per scrivere :

> Ebbene si', prima che me lo dica Giovanna me lo dico da solo: sono un

> imbroglione! Gio sa anche il perche' ;-)

io non so nulla!

> Merito una punizione per scandaloso plagio.

No. la punizione te la do per incapacità di quotare! :-)

Noto ultimamente pessime abitudini.... :-)
Si dovrebbe lasciare nelle repliche solo lo stretto necessario ai fini
della comprensione del testo. Inutile appesantire, la consultazione del
NG è un'aggiunta alle normali attività di ciascuno ...! :)

giovanna

unread,
May 2, 2011, 5:27:53 AM5/2/11
to
paoloard ha detto questo Monday :

> potrei tentare di accorciarle:
>
> 1°) =SOMMA(1*(RESTO($A1;RIF.RIGA(INDIRETTO("1:"&$A1)))=0)) matriciale
> (togliendo il controllo se la cella è vuota)
>
> 2°)
> =PICCOLO(SE(RESTO($A$1;RIF.RIGA(INDIRETTO("1:"&$A$1)))=0;RIF.RIGA(INDIRETTO("1:"&$A$1));"");RIF.RIGA(A1))
> matriciale (Togliendo il controllo per la restituzione di errore a fine dati)
>
> 3°) =SOMMA(1*(RESTO(A1;RIF.RIGA(INDIRETTO("1:"&A1)))=0))=2 matriciale
>

ok, accorciate!
aspettiamo il terribile riduttore! :-)

r

unread,
May 2, 2011, 7:00:02 AM5/2/11
to

io dovevo aspettare 2 ore prima di postare ... ora sono
incasinatissimo per un po' ... però visto che paolone si è già beccato
i 5 punti e visto che i problemi sono interessanti, prima di
decapitare ... provo a solvere da zero :-) così non mi perdo il
gusto ...
a dopo ...
r

giovanna

unread,
May 2, 2011, 7:48:43 AM5/2/11
to
r scriveva il 5/2/2011 :
> ... visto che i problemi sono interessanti, prima di
> decapitare ...

infatti, bravo! (grazie per l' "interessanti")

> provo a solvere da zero :-)

proprio questo aspettavo!

> così non mi perdo il gusto

per l'appunto!

paoloard

unread,
May 2, 2011, 8:07:35 AM5/2/11
to
"giovanna" ha scritto nel messaggio
news:4dbe77c2$0$18241$4faf...@reader2.news.tin.it...

paoloard ha usato la sua tastiera per scrivere :

> Ebbene si', prima che me lo dica Giovanna me lo dico da solo: sono un
> imbroglione! Gio sa anche il perche' ;-)

io non so nulla!
--------------------------------------------------------

certo che lo dovresti sapere. Ho saccheggiato il tuo blog!

> Merito una punizione per scandaloso plagio.

No. la punizione te la do per incapacità di quotare! :-)

Noto ultimamente pessime abitudini.... :-)
Si dovrebbe lasciare nelle repliche solo lo stretto necessario ai fini
della comprensione del testo. Inutile appesantire, la consultazione del
NG è un'aggiunta alle normali attività di ciascuno ...! :)

-----------------------------------------------------------------------

Convengo, accetto la punizione! Cercherò di riscattarmi la prossima volta.

paoloard
http://www.riolab.org

giovanna

unread,
May 2, 2011, 8:54:17 AM5/2/11
to
paoloard ci ha detto :

> certo che lo dovresti sapere. Ho saccheggiato il tuo blog!
>

Paolone, sei unico! :-)

r

unread,
May 2, 2011, 8:55:59 AM5/2/11
to

intanto ... accorcio un po'

=SOMMA(1*(RESTO(A1;RIF.RIGA(SCARTO(A1;;;A1)))=0))

=GRANDE((RESTO(A$1;RIF.RIGA(SCARTO(A$1;;;A$1)))=0)*RIF.RIGA(SCARTO(A
$1;;;A$1));RIF.RIGA(A1))

saluti
r

r

unread,
May 2, 2011, 9:13:11 AM5/2/11
to

la prima in inglese con stessa lunghezza può essere anche:
=A1-COUNT(1/MOD(A1,ROW(OFFSET(A1,,,A1))))

ovviamente sarebbero accorciabili mettendo nel rif.riga un intervallo
fisso ... ma a discapito della dimensione della matrice ... eviterei
saluti
r

r

unread,
May 2, 2011, 9:21:02 AM5/2/11
to
On 2 Mag, 14:55, r <robb....@gmail.com> wrote:

meglio la 2 ... visto che 0 non è un divisore:
=GRANDE(SE(RESTO(A$1;RIF.RIGA(SCARTO(A$1;;;A$1)))=0;RIF.RIGA(SCARTO(A
$1;;;A$1)));RIF.RIGA(A1))
saluti
r

giovanna

unread,
May 2, 2011, 9:41:56 AM5/2/11
to
r ha spiegato il 5/2/2011 :

>
> meglio la 2 ... visto che 0 non è un divisore:
> =GRANDE(SE(RESTO(A$1;RIF.RIGA(SCARTO(A$1;;;A$1)))=0;RIF.RIGA(SCARTO(A
> $1;;;A$1)));RIF.RIGA(A1))

r,
per ora non ho testato (non che dubiti, ma poi mi calcolo anche le
lunghezze) perché devo uscire per riunione... ma ti dico solo che anche
a me è sempre stata più simpa SCARTO() :-)

r

unread,
May 2, 2011, 10:25:51 AM5/2/11
to
On 2 Mag, 15:41, giovanna <g_arc...@asiatin.it> wrote:
> r ha spiegato il 5/2/2011 :
>
>
>
> > meglio la 2 ... visto che 0 non è un divisore:
> > =GRANDE(SE(RESTO(A$1;RIF.RIGA(SCARTO(A$1;;;A$1)))=0;RIF.RIGA(SCARTO(A
> > $1;;;A$1)));RIF.RIGA(A1))
>
> r,
> per ora non ho testato (non che dubiti, ma poi mi calcolo anche le
> lunghezze) perché devo uscire per riunione... ma ti dico solo che anche
> a me è sempre stata più simpa SCARTO()  :-)

beh le formule non possono essere stravolte ... direi che le soluzioni
postate da paolo sono le soluzioni che avrei scritto anch'io ...
alla luce di alcuni articoli che ho letto uso sempre più indice ... la
formula risulterebbe appena più lunga.

ciao
r

paoloard

unread,
May 2, 2011, 10:58:43 AM5/2/11
to
"r" ha scritto nel messaggio
news:28e6e58f-2f7f-47ee...@h36g2000pro.googlegroups.com...

cut


beh le formule non possono essere stravolte ... direi che le soluzioni
postate da paolo

--------------------------------------------------

che sono di Giovanna (vedi il suo blog Matematicamedie)......

paoloard
http://www.riolab.org

plinius

unread,
May 2, 2011, 12:08:27 PM5/2/11
to

Tutto già fatto, vedo!

Al prossimo quizzone...
E. :-))


r

unread,
May 2, 2011, 12:09:54 PM5/2/11
to
On May 2, 4:58 pm, "paoloard" <xxp...@alice.it> wrote:
> "r"  ha scritto nel messaggionews:28e6e58f-2f7f-47ee...@h36g2000pro.googlegroups.com...

>
> cut
> beh le formule non possono essere stravolte ... direi che le soluzioni
> postate da paolo
> --------------------------------------------------
>
> che sono di Giovanna (vedi il suo blog Matematicamedie)......

copione! :-)

per fortuna non siamo a scuola ed è validissimo cercare e usare
soluzioni di altri ... ora ti tocca preparare la domanda ... io
confesso che ne ho già pronte un bel mazzetto e non vedo l'ora di
mettervi nuovamente alla prova ... non so se condividete (chiedo a gio
e plinius che hanno ad oggi avuto l'onore) ma pensare hai quesiti è un
sacco divertente :-)

ciao
r

r

unread,
May 2, 2011, 12:15:34 PM5/2/11
to
On May 2, 6:09 pm, r <robb....@gmail.com> wrote:
> hai

aih che male!
r

Andrea.9

unread,
May 2, 2011, 1:07:01 PM5/2/11
to
ciao a tutti .... arrivo tardi
le ho provate tutte ma le seconde formule non mi funzionano (anche se
inserite matriciali).
quelle di paolo mi danno come risultato 1 mentre quelle di roberto mi
danno il valore del numero da analizzare.
sbaglio io ????

Andrea.9

unread,
May 2, 2011, 1:09:07 PM5/2/11
to

si sono una bestia
andavano trascinate
ciao

giovanna

unread,
May 2, 2011, 1:27:51 PM5/2/11
to
r ha pensato forte :

>... io
> confesso che ne ho già pronte un bel mazzetto e non vedo l'ora di
> mettervi nuovamente alla prova ...

attento a quello che proponi, dati una regolata, altrimenti mi
riallontano :-(

> non so se condividete (chiedo a gio
> e plinius che hanno ad oggi avuto l'onore) ma pensare hai quesiti è un
> sacco divertente :-)

insomma... no! :-)
Sul serio, per me è una roba difficilissima! O forse non mi piace!

Comunque, viste bene le tue formule. Certo più brevi. Anche GRANDE al
posto di PICCOLO fa -1 caratt! :-)
grazie
alla prox!

giovanna

unread,
May 2, 2011, 1:29:36 PM5/2/11
to
Dopo dura riflessione, plinius ha scritto :

> Tutto già fatto, vedo!
>
> Al prossimo quizzone...
> E. :-))

Peccato Enrico. Alla prox!

giovanna

unread,
May 2, 2011, 1:30:12 PM5/2/11
to
giovanna scriveva il 5/2/2011 :

> grazie
> alla prox!

Naturalmente grazie anche a Paolone!

giovanna

unread,
May 2, 2011, 1:32:01 PM5/2/11
to
Sembra che Andrea.9 abbia detto :

> On 2 Mag, 19:07, "Andrea.9" <a.novelli-...@dappolonia.it> wrote:
>> ciao a tutti .... arrivo tardi
>> le ho provate tutte

ciao Andrea,
peccato che anche tu non abbia detto la tua. Alla prox!

r

unread,
May 2, 2011, 4:55:49 PM5/2/11
to
On 2 Mag, 19:09, "Andrea.9" <a.novelli-...@dappolonia.it> wrote:

> si sono una bestia
> andavano trascinate
> ciao

mi raccomando andrea ... frena l'istinto ...
e se le dita vogliono partire ... conta prima fino a 10 ... :-)
ciao
r

r

unread,
May 2, 2011, 5:05:49 PM5/2/11
to
On 2 Mag, 19:27, giovanna <g_arc...@asiatin.it> wrote:
> r ha pensato forte :
>
> >... io
> > confesso che ne ho già pronte un bel mazzetto e non vedo l'ora di
> > mettervi nuovamente alla prova ...
>
> attento a quello che proponi, dati una regolata, altrimenti mi
> riallontano :-(

tranquilla, tranquilla ... il mio motto è demoralizzarvi sul
nascere :-)

>
> > non so se condividete (chiedo a gio
> > e plinius che hanno ad oggi avuto l'onore) ma pensare hai quesiti è un
> > sacco divertente :-)
>
> insomma... no! :-)
> Sul serio, per me è una roba difficilissima! O forse non mi piace!

uffa! avrei scommesso il contrario .. perdo colpi :-)

>
> Comunque, viste bene le tue formule. Certo più brevi. Anche GRANDE al
> posto di PICCOLO fa -1 caratt! :-)
> grazie
> alla prox!

e si ... accetta alla mano ... noi tagliaformule ... accettiamo :-)
ciao
r

r

unread,
May 4, 2011, 5:49:17 AM5/4/11
to

alla luce dei tagliamenti aggiorno:
=SOMMA(1*(RESTO(A1;RIF.RIGA(SCARTO(A1;;;A1)))=0))

=GRANDE((RESTO(A$1;RIF.RIGA(SCARTO(A$1;;;A$1)))=0)*RIF.RIGA(SCARTO(A
$1;;;A$1));RIGHE($1:1))

r

plinius

unread,
May 4, 2011, 6:08:30 AM5/4/11
to

"r" <robb...@gmail.com> ha scritto nel messaggio
news:8d2b5651-113e-466d...@m10g2000yqd.googlegroups.com...

r

*******************

I punti sono tuoi, ma penso sia preferibile questa versione perché l'altra,
dopo l'ultimo divisore, restituisce degli 0 poco appropriati...

=GRANDE(SE(RESTO(A$1;RIF.RIGA(SCARTO(A$1;;;A$1)))=0;RIF.RIGA(SCARTO(A$1;;;A$1)));RIGHE($1:1))


A puro titolo di completezza (ma convengo sul fatto che non sia per nulla
consigliabile) metto anche la versione che testa l'intera colonna

=GRANDE(SE(RESTO(A$1;RIF.RIGA(A:A));"";RIF.RIGA(A:A));RIGHE($1:1))

Più che matriciale, questa è matricionale!! :-))

E.


0 new messages