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

[Quizzone di excel] Quesito 17

26 views
Skip to first unread message

plinius

unread,
May 28, 2011, 4:26:17 AM5/28/11
to
Sintesi del regolamento:
1) chi risponde per primo con una soluzione che risolve guadagnerà 5
punti e dovrà postare entro due giorni un nuovo quesito
2) ulteriori 3 punti saranno assegnati alla soluzione più breve
---------------------------------------------------------------------------------­­
Per approfondire:
https://sites.google.com/site/e90e50/documento-plinius/quizzone-di-excel


_________________________________________________________________________________
Dal momento che sono ancora fuori casa, su un portatile rubacchiato e, soprattutto, con pochissimo tempo, dovrete scusarmi se non sarò tempestivo e puntuale.
Posterò il nuovo quesito oggi, 28 maggio, alle 13, in questo stesso 3d... risponderò quando posso (sigh!)
A dopo...

plinius

unread,
May 28, 2011, 7:06:19 AM5/28/11
to
In A1 e B1 le intestazioni: rispettivamente "N" e "Cont".

In colonna A, a partire da A2 una serie di numeri naturali, 0 (zeri) inclusi.

In C1 un intero positivo, per esempio 3

Inserire in B2 una formula che, trascinata poi in basso realizzi un contatore "anomalo" che si comporti come segue:
- se in colonna A c'è 0, ignora la numerazione e lascia la cella vuota
- se in colonna A c'è un qualunque altro numero inserisce un numero progressivo (a partire da 0) che, però, non cresce se non dopo essersi ripetuto per il numero di volte indicato in C1

Per esempio:
N Cont 3
3 0
0
0
4 0
5 0
6 1
0
1 1
7 1
0
2 2
5 2
6 2
0
2 3
1 3
1 3
0
5 4
8 4
4 4
3 5

Ovvio che, a formule inserite, cambiando il valore in C1 la numerazione debba adeguarsiautomaticamente.
E, dunque, diventi, per esempio:

N Cont 2
3 0
0
0
4 0
5 1
6 1
0
1 2
7 2
0
2 3
5 3
6 4
0
2 4
1 5
1 5
0
5 6
8 6
4 7
3 7

Se in C1 è presente il valore 1 la numerazione non si ripete e assume la progressione: 0,1,2,3,4,5,6,....
Inserendo invece in C1 un valore <= 0 la numerazione non ha ripetizioni ed inizia da 1 piuttosto che da 0 (diventa, cioè, un contatore "normale").

N Cont 0
3 1
0
0
4 2
5 3
6 4
0
1 5
7 6
0
2 7
5 8
6 9
0
2 10
1 11
1 12
0
5 13
8 14
4 15
3 16

Buon divertimento!
E. :-)

paoloard

unread,
May 28, 2011, 10:51:17 AM5/28/11
to
"plinius" ha scritto nel messaggio
news:89492849-8382-47a5...@glegroupsg2000goo.googlegroups.com...

In A1 e B1 le intestazioni: rispettivamente "N" e "Cont".

In colonna A, a partire da A2 una serie di numeri naturali, 0 (zeri)
inclusi.

In C1 un intero positivo, per esempio 3

Inserire in B2 una formula che, trascinata poi in basso realizzi un
contatore "anomalo" che si comporti come segue:
- se in colonna A c'è 0, ignora la numerazione e lascia la cella vuota
- se in colonna A c'è un qualunque altro numero inserisce un numero
progressivo (a partire da 0) che, però, non cresce se non dopo essersi
ripetuto per il numero di volte indicato in C1

cut


Ovvio che, a formule inserite, cambiando il valore in C1 la numerazione
debba adeguarsiautomaticamente.
E, dunque, diventi, per esempio:

cut


Se in C1 è presente il valore 1 la numerazione non si ripete e assume la
progressione: 0,1,2,3,4,5,6,....
Inserendo invece in C1 un valore <= 0 la numerazione non ha ripetizioni ed
inizia da 1 piuttosto che da 0 (diventa, cioè, un contatore "normale").

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

in B2
=SE(A2=0;"";SE($C$1<=0;CONTA.SE($A$1:A1;"<>0");SE($C$1=1;CONTA.SE($A$1:A1;"<>0")-1;INT(((RIF.RIGA($A1)-CONTA.SE($A$1:$A1;"=0"))-1)/$C$1))))
da copiare in basso

ciao paoloard
http://www.riolab.org

paoloard

unread,
May 28, 2011, 11:12:24 AM5/28/11
to
"paoloard" ha scritto nel messaggio news:irr26o$2ob$1...@dont-email.me...

cut
----------------------------------------------------------------

in B2
=SE(A2=0;"";SE($C$1<=0;CONTA.SE($A$1:A1;"<>0");SE($C$1=1;CONTA.SE($A$1:A1;"<>0")-1;INT(((RIF.RIGA($A1)-CONTA.SE($A$1:$A1;"=0"))-1)/$C$1))))
da copiare in basso

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

le taglio le orecchie:

=SE(A2=0;"";SE($C$1<=0;CONTA.SE($A$1:A1;"<>0")-(SE($C$1<=0;0;1));INT(((RIF.RIGA($A1)-CONTA.SE($A$1:$A1;"=0"))-1)/$C$1)))

ciao paoloard
http://www.riolab.org

paoloard

unread,
May 28, 2011, 11:16:56 AM5/28/11
to
"paoloard" ha scritto nel messaggio news:irr3ea$ap0$1...@dont-email.me...

cut
----------------------------------------------------------------

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

le taglio le orecchie:

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

togliendo un po' di $ dato che la formula resta in colonna B:
=SE(A2=0;"";SE(C$1<=0;CONTA.SE(A$1:A1;"<>0")-(SE(C$1<=0;0;1));INT(((RIF.RIGA($A1)-CONTA.SE(A$1:A1;"=0"))-1)/C$1)))

ora basta! le mie meningi sono state ormai spremute del tutto :-)

ciao paoloard
http://www.riolab.org

paoloard

unread,
May 28, 2011, 11:56:04 AM5/28/11
to
"paoloard" ha scritto nel messaggio news:irr3mq$cbh$1...@dont-email.me...

cut
----------------------------------------------------------------

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

le taglio le orecchie:

ciao paoloard
http://www.riolab.org
---------------------------------------------------------
acc....... ultima riduzione (lo giuro)

=SE(A2=0;"";SE(C$1<=0;CONTA.SE(A$1:A1;"<>0");INT(((RIF.RIGA($A1)-CONTA.SE(A$1:A1;"=0"))-1)/C$1)))

ciao paoloard
http://www.riolab.org

Andrea.9

unread,
May 28, 2011, 12:36:30 PM5/28/11
to
On 28 Mag, 17:56, "paoloard" <xxp...@alice.it> wrote:
> "paoloard"  ha scritto nel messaggionews:irr3mq$cbh$1...@dont-email.me...
>
> "paoloard"  ha scritto nel messaggionews:irr3ea$ap0$1...@dont-email.me...
>
> "paoloard"  ha scritto nel messaggionews:irr26o$2ob$1...@dont-email.me...

>
> cut
> ----------------------------------------------------------------
>
> in B2
> =SE(A2=0;"";SE($C$1<=0;CONTA.SE($A$1:A1;"<>0");SE($C$1=1;CONTA.SE($A$1:A1;"­<>0")-1;INT(((RIF.RIGA($A1)-CONTA.SE($A$1:$A1;"=0"))-1)/$C$1))))
> da copiare in basso
>
> -----------------------------------------------------------
>
> le taglio le orecchie:
>
> =SE(A2=0;"";SE($C$1<=0;CONTA.SE($A$1:A1;"<>0")-(SE($C$1<=0;0;1));INT(((RIF.­RIGA($A1)-CONTA.SE($A$1:$A1;"=0"))-1)/$C$1)))
>
> ciao paoloardhttp://www.riolab.org

> -----------------------------------------------------------------------
>
> togliendo un po' di $ dato che la formula resta in colonna B:
> =SE(A2=0;"";SE(C$1<=0;CONTA.SE(A$1:A1;"<>0")-(SE(C$1<=0;0;1));INT(((RIF.RIG­A($A1)-CONTA.SE(A$1:A1;"=0"))-1)/C$1)))

>
> ora basta! le mie meningi sono state ormai spremute del tutto :-)
>
> ciao paoloardhttp://www.riolab.org

> ---------------------------------------------------------
> acc....... ultima riduzione (lo giuro)
>
> =SE(A2=0;"";SE(C$1<=0;CONTA.SE(A$1:A1;"<>0");INT(((RIF.RIGA($A1)-CONTA.SE(A­$1:A1;"=0"))-1)/C$1)))
>
> ciao paoloardhttp://www.riolab.org

per un dollaro di troppo ......
=SE(A2=0;"";SE(C$1<=0;CONTA.SE(A$1:A1;"<>0");INT(((RIF.RIGA(A1)-
CONTA.SE(A$1:A1;"=0"))-1)/C$1)))
andrea

paoloard

unread,
May 28, 2011, 1:35:09 PM5/28/11
to
"Andrea.9" ha scritto nel messaggio
news:789128b0-96d9-4ea9...@g24g2000vbz.googlegroups.com...

cut


> ---------------------------------------------------------
> acc....... ultima riduzione (lo giuro)
>

> =SE(A2=0;"";SE(C$1<=0;CONTA.SE(A$1:A1;"<>0");INT(((RIF.RIGA($A1)-CONTA.SE(Aュ$1:A1;"=0"))-1)/C$1)))
>
> ciao paoloardhttp://www.riolab.org

per un dollaro di troppo ......
=SE(A2=0;"";SE(C$1<=0;CONTA.SE(A$1:A1;"<>0");INT(((RIF.RIGA(A1)-
CONTA.SE(A$1:A1;"=0"))-1)/C$1)))
andrea

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

ah birbante! :-)
era un dollaro d'onore!

ciao paoloard
http://www.riolab.org


paoloard

unread,
May 28, 2011, 1:51:04 PM5/28/11
to
"paoloard" ha scritto nel messaggio news:irrbq0$v48$1...@dont-email.me...

"Andrea.9" ha scritto nel messaggio
news:789128b0-96d9-4ea9...@g24g2000vbz.googlegroups.com...

cut
> ---------------------------------------------------------
> acc....... ultima riduzione (lo giuro)
>
> =SE(A2=0;"";SE(C$1<=0;CONTA.SE(A$1:A1;"<>0");INT(((RIF.RIGA($A1)-CONTA.SE(Aュ$1:A1;"=0"))-1)/C$1)))
>
> ciao paoloardhttp://www.riolab.org

per un dollaro di troppo ......
=SE(A2=0;"";SE(C$1<=0;CONTA.SE(A$1:A1;"<>0");INT(((RIF.RIGA(A1)-
CONTA.SE(A$1:A1;"=0"))-1)/C$1)))
andrea
-------------------------------------------------

eh eh ....per un minore di troppo:
=SE(A2=0;"";SE(C$1<=0;CONTA.SE(A$1:A1;">0");INT(((RIF.RIGA(A1)-CONTA.SE(A$1:A1;"=0"))-1)/C$1)))

ciao paoloard
http://www.riolab.org

paoloard

unread,
May 28, 2011, 1:57:32 PM5/28/11
to
"paoloard" ha scritto nel messaggio news:irrcnr$52l$1...@dont-email.me...

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

correggo:

=SE(A2=0;"";SE(C$1<=0;CONTA.SE(A$2:A2;">0");INT(((RIF.RIGA(A1)-CONTA.SE(A$2:A2;"=0"))-1)/C$1)))

ciao paoloard
http://www.riolab.org

plinius

unread,
May 28, 2011, 4:03:24 PM5/28/11
to
Eccomi, scusate il ritardo!

Bravo Paolo, la formula funziona perfettamente e raggiunge tutte le finalità richieste: 5 punti meritatissimi e, per ora, anche i 3 della formula breve... per ora eh!! :-)

Ciao,
E. ;-)

Andrea.9

unread,
May 28, 2011, 6:01:29 PM5/28/11
to
On 28 Mag, 19:57, "paoloard" <xxp...@alice.it> wrote:
> "paoloard"  ha scritto nel messaggionews:irrcnr$52l$1...@dont-email.me...
>
> "paoloard"  ha scritto nel messaggionews:irrbq0$v48$1...@dont-email.me...
>
> "Andrea.9"  ha scritto nel messaggionews:789128b0-96d9-4ea9...@g24g2000vbz.googlegroups.com...

>
> cut
>
> > ---------------------------------------------------------
> > acc....... ultima riduzione (lo giuro)
>
> > =SE(A2=0;"";SE(C$1<=0;CONTA.SE(A$1:A1;"<>0");INT(((RIF.RIGA($A1)-CONTA.SE(A­­$1:A1;"=0"))-1)/C$1)))

>
> > ciao paoloardhttp://www.riolab.org
>
> per un dollaro di troppo ......
> =SE(A2=0;"";SE(C$1<=0;CONTA.SE(A$1:A1;"<>0");INT(((RIF.RIGA(A1)-
> CONTA.SE(A$1:A1;"=0"))-1)/C$1)))
> andrea
> -------------------------------------------------
>
> eh eh ....per un minore di troppo:
> =SE(A2=0;"";SE(C$1<=0;CONTA.SE(A$1:A1;">0");INT(((RIF.RIGA(A1)-CONTA.SE(A$1­:A1;"=0"))-1)/C$1)))
>
> ciao paoloardhttp://www.riolab.org

> ----------------------------------------------------
>
> correggo:
>
> =SE(A2=0;"";SE(C$1<=0;CONTA.SE(A$2:A2;">0");INT(((RIF.RIGA(A1)-CONTA.SE(A$2­:A2;"=0"))-1)/C$1)))
>
> ciao paoloardhttp://www.riolab.org

terrribbbbbileeeee....
=SE(A2=0;"";SE(C$1<=0;CONTA.SE(A$2:A2;">0");INT(((RIF.RIGA()-CONTA.SE(A
$2:A2;"=0"))-2)/C$1)))
andrea

Andrea.9

unread,
May 28, 2011, 6:13:39 PM5/28/11
to
> andrea- Nascondi testo citato
>
> - Mostra testo citato -

ancora uno .....
=SE(A2=0;"";SE(C$1<1;CONTA.SE(A$2:A2;">0");INT(((RIF.RIGA()-CONTA.SE(A

plinius

unread,
May 28, 2011, 6:15:53 PM5/28/11
to
Bel colpo Andrea, hai soffiato i 3 punti a Paolo, ma ci sono altri colpi da assestare eh... attenzione!! :-)

r

unread,
May 28, 2011, 6:16:29 PM5/28/11
to
On 28 Mag, 22:03, plinius <punto.lin...@libero.it> wrote:
> Eccomi, scusate il ritardo!
>
> Bravo Paolo, la formula funziona perfettamente e raggiunge tutte le finalità richieste: 5 punti meritatissimi e, per ora, anche i 3 della formula breve... per ora eh!! :-)


ci provo per i 3 punti:
=SE(A2;INT((RIF.RIGA(A1)-CONTA.SE(A$2:A2;)-(C$1>0))/SE(C$1>0;C
$1;1));"")

saluti
r

Andrea.9

unread,
May 28, 2011, 6:22:06 PM5/28/11
to

è una cosa vergognosa ;-)
noi qui a scannarci per 1 carattere e lui arriva e ne toglie 19 ......
...... INGORDO !!!

r

unread,
May 28, 2011, 6:41:05 PM5/28/11
to
On 29 Mag, 00:22, "Andrea.9" <a.novelli-...@dappolonia.it> wrote:

> è una cosa vergognosa ;-)
> noi qui a scannarci per 1 carattere e lui arriva e ne toglie 19 ......
> ...... INGORDO !!!

ma LOL! :-)
però plinius non mi fa mica rilassare ... ha sempre qualcosa in canna!
vediamo cosa dice ...
ciao
r

plinius

unread,
May 28, 2011, 6:46:28 PM5/28/11
to
Bel colpo Robby, da par tuo! ;-)

3 punti aggiudicati a te!!

___________________________
sempre per ora eh! :-)))))

r

unread,
May 28, 2011, 6:49:21 PM5/28/11
to

ecco ... vedi andrea :-)
vado a letto anche se ora non riuscirò a dormire :-)
r

plinius

unread,
May 28, 2011, 6:56:26 PM5/28/11
to
Ecco, non dormire ed usa proficuamente il tuo tempo eh!! :-)

'notteeeeee
E. :-D

Andrea.9

unread,
May 28, 2011, 7:01:34 PM5/28/11
to

no no, non si accorcia nemmeno con winzip :-)
andrea

plinius

unread,
May 28, 2011, 7:08:22 PM5/28/11
to
Andrea, non si accorcia solo quando ci rifletti di giorno.
Dalle 3 fino all'alba: quelle sono le ore migliori...
provare per credere!! :-))

r

unread,
May 29, 2011, 10:43:10 AM5/29/11
to

al volo ... dopo nottata in bianco :-)

=SE(A2;INT((SOMMA(--(A$2:A2<>0))-(C$1>0))/SE(C$1>0;C$1;1));"")

scappo a votare ...
r

r

unread,
May 29, 2011, 10:56:27 AM5/29/11
to

aspetta ... -1
=SE(A2;INT((SOMMA(1-(A$2:A2=0))-(C$1>0))/SE(C$1>0;C$1;1));"")

plinius fermamiiiii !!!!! devo votareeeee ... posso andareeee?
:-)

r

unread,
May 29, 2011, 11:00:47 AM5/29/11
to

ovviamente è da confermare con ctrl+maiusc+invio!
col conta.se è di qualche carattere più lunga ...
pisapia arrrivoooo :-)

paoloard

unread,
May 29, 2011, 12:38:20 PM5/29/11
to
"r" ha scritto nel messaggio
news:8ceb83c7-6ce4-45df...@l18g2000yql.googlegroups.com...

cut>


> aspetta ... -1
> =SE(A2;INT((SOMMA(1-(A$2:A2=0))-(C$1>0))/SE(C$1>0;C$1;1));"")
>
> plinius fermamiiiii !!!!! devo votareeeee ... posso andareeee?
> :-)

ovviamente è da confermare con ctrl+maiusc+invio!
col conta.se è di qualche carattere più lunga ...
pisapia arrrivoooo :-)

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

sorprendente! non c'è limite alle tue eruzioni! :-0

ciao paoloard
http://www.riolab.org

plinius

unread,
May 29, 2011, 3:33:38 PM5/29/11
to
Per il tuo contributo alla de(mo)rattizzazione di Milano, 3333 punti aggiuntivi: quelli meglio meritati della tua carriera ;-))

Per la formula invece qualcosina si può ancora tagliare eh!

Ciao,
E.

r

unread,
May 29, 2011, 6:19:23 PM5/29/11
to

=SE(A2;INT(SOMMA(1-(A$2:A2=0);-(C$1>0))/SE(C$1>0;C$1;1));"")

ma è solo un -1 ... beh chissenefrega tanto ho 3333 punti di bonus :-)

dai dimmi quanto ancora si può risparmiare ... così non dormo manco
sta notte! :-)
r

plinius

unread,
May 29, 2011, 6:59:13 PM5/29/11
to
Ecco, io darei una formula che brevissima non è (73), ma segue una logica diversa che può permettere di accorciare un po' più dell'altra.

=SE(A2;SE(CONTA.SE(B$1:B1;MAX(B$1:B1))<C$1;MAX(B$1:B1);MAX(B$1:B1)+1);"")

'notteeee,
E. ;-)

r

unread,
May 30, 2011, 4:30:58 AM5/30/11
to

vedere tutti quei max mi ha fatto venire in mente come togliere quel
brutto se a denominatore ... poi qualche carattere ancora qua e la ...
mantengo la logica di prima ... ma tagliuzzo un bel po':
=SE(A2;INT(-SOMMA(-(A$2:A2<>0);C$1>0)/MAX(C$1;1));"")
così sono altri -7

cosa dici?
r

paoloard

unread,
May 30, 2011, 4:34:28 AM5/30/11
to
"r" ha scritto nel messaggio
news:7bb686be-22dd-44d3...@d28g2000yqf.googlegroups.com...

On 30 Mag, 00:59, plinius <punto.lin...@libero.it> wrote:

> Ecco, io darei una formula che brevissima non č (73), ma segue una logica
> diversa che puň permettere di accorciare un po' piů dell'altra.


>
> =SE(A2;SE(CONTA.SE(B$1:B1;MAX(B$1:B1))<C$1;MAX(B$1:B1);MAX(B$1:B1)+1);"")
>
> 'notteeee,
> E. ;-)

vedere tutti quei max mi ha fatto venire in mente come togliere quel
brutto se a denominatore ... poi qualche carattere ancora qua e la ...
mantengo la logica di prima ... ma tagliuzzo un bel po':
=SE(A2;INT(-SOMMA(-(A$2:A2<>0);C$1>0)/MAX(C$1;1));"")

cosě sono altri -7

cosa dici?
r
---------------------------------------

Sempre piů incredibile!! Ai limiti dell'impossibile! :-)
Sei l'indiscusso aggiudicatario dei 3 punti. Salvo sorprese dell'ultimo
minuto :-)

ciao paoloard
http://www.riolab.org

plinius

unread,
May 30, 2011, 4:54:26 AM5/30/11
to


Il giorno lunedì 30 maggio 2011 10:30:58 UTC+2, r ha scritto:
> On 30 Mag, 00:59, plinius


Perfetta r!!
53 caratteri... largamente migliore di quella che avevo io (di 58):

=SE(A2;MAX(F$1:F1)+(CONTA.SE(F$1:F1;MAX(F$1:F1))>=C$1);"")

Mai visti punti così ben meritati, bravissimo!!

Ciao,
E. ;-))

r

unread,
May 30, 2011, 5:29:46 AM5/30/11
to
On 30 Mag, 10:34, "paoloard" <xxp...@alice.it> wrote:
> "r"  ha scritto nel messaggionews:7bb686be-22dd-44d3...@d28g2000yqf.googlegroups.com...

>
> On 30 Mag, 00:59, plinius <punto.lin...@libero.it> wrote:
>
> > Ecco, io darei una formula che brevissima non è (73), ma segue una logica
> > diversa che può permettere di accorciare un po' più dell'altra.

>
> > =SE(A2;SE(CONTA.SE(B$1:B1;MAX(B$1:B1))<C$1;MAX(B$1:B1);MAX(B$1:B1)+1);"")
>
> > 'notteeee,
> > E.    ;-)
>
> vedere tutti quei max mi ha fatto venire in mente come togliere quel
> brutto se a denominatore ... poi qualche carattere ancora qua e la ...
> mantengo la logica di prima ... ma tagliuzzo un bel po':
> =SE(A2;INT(-SOMMA(-(A$2:A2<>0);C$1>0)/MAX(C$1;1));"")
> così sono altri -7
>
> cosa dici?
> r
> ---------------------------------------
>
> Sempre più incredibile!! Ai limiti dell'impossibile! :-)

> Sei l'indiscusso aggiudicatario dei 3 punti. Salvo sorprese dell'ultimo
> minuto :-)
>
> ciao paoloardhttp://www.riolab.org

beh credo che con questa logica il risicabile sia stato risicato ...
però vediamo cosa si inventa E. ... per 3 punti è capace di ogni
cosa :-)
r

paoloard

unread,
May 30, 2011, 6:02:36 AM5/30/11
to
"plinius" ha scritto nel messaggio
news:62d36f23-d981-4cc0...@glegroupsg2000goo.googlegroups.com...

Ciao,
E. ;-))
--------------------------------

Bene, direi che a questo punto i 3 punti sono definitivamente di Roby.

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

0 new messages