Google Gruppi non supporta più i nuovi post o le nuove iscrizioni Usenet. I contenuti storici continuano a essere visibili.

[Quizzone di Excel] Quesito 10

152 visualizzazioni
Passa al primo messaggio da leggere

r

da leggere,
10 mag 2011, 11:34:3310/05/11
a
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

queste sono le regole essenziali, il resto serve solo a gestire i casi
particolari e potete leggerlo con comodo qui:
https://sites.google.com/site/e90e50/documento-plinius/quizzone-di-excel

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

QUESITO 10

Faccio uno strappo al Regolamento ...
Verranno assegnati 5+3 punti (non cumulabili) in più anche per la
soluzione VBA (serve a me e Mauro :-)

Si gioca a Freccette!

da A1 a A20 inseriamo la formula
=CASUALE()
in B1:
=RANGO(A1:A10;A1:A10)

selezionare poi B1:B20 e confermare con Ctrl+Maiusc+Invio

otterremo la sequenza mischiata dei numeri da 1 a 20

in C1 sia un numero da 2 a 19 (a me interessa il 3)
Quesito:
in C2 voglio una formula che ottenga la somma dei quadrati di tutti i
k (valore in C1) elementi consecutivi
in altri termini ad esempio prendiamo questa serie casuale:
20 1 18 4 13 6 10 15 2 17 3 19 7 16 8 11 14 9 12
5
che poi è la serie del bersaglio delle freccette
si vuole ottenere (ad esempio per k=3):
(20+1+18)^2 + (1+18+4)^2 + (18+4+13)^ + ... + (5+20+1)^2 = 20478

non ci ho provato ... eventualmente è consentito usare colonne o celle
di appoggio (in questo caso per la breve sarà la somma delle formule
usate) ... ma se qualcuno propone una soluzione in singola cella
quella soluzione sarà comunque vincitrice ...

In VBA ovviamente una funzione che passandogli un numero intero di
elementi (20 nell'esempio) e k (3) restituisca una matrice con:
il totale calcolato come elemento (0)
la serie che l'ha generato negli altri posti liberi
tornando al bersaglio ...

v(0)=20478
v(1)=20
v(2)=1
v(3)=18
...
...
v(20)=5
Questa la funzione da integrare:

Function Quizzone_10(N_oggetti As Long, k As Long) As Long()
Dim res() As Long

ReDim res(N_oggetti)

'....

Quizzone_10 = res
End Function

in questo caso per i 3 punti verrà premiata la funzione più veloce
In bocca al lupo!
r

r

da leggere,
10 mag 2011, 11:42:4410/05/11
a
On 10 Mag, 17:34, r <robb....@gmail.com> wrote:
errata corrige:

> da A1 a A20 inseriamo la formula
> =CASUALE()
> in B1:
> =RANGO(A1:A10;A1:A10)

è:
=RANGO(A1:A20;A1:A20)

per i punti specifico meglio ...

5 e 3 per formula excel come da regolamento

5 a chi posta la prima soluzione VBA funzionante e 3 a chi la fa più
veloce (per i test ci pensiamo)

non sono cumulabili i punteggi 5 e 5 ... e ... 3 e 3 ... quindi al
massimo uno può fare 8 ... per il resto tutto è valido
saluti
r

r

da leggere,
10 mag 2011, 11:53:3210/05/11
a
On 10 Mag, 17:34, r <robb....@gmail.com> wrote:

p.s. 2
qui le curiosità:
http://www.mathpages.com/home/kmath025.htm
... ci sono arrivato partendo da qui:
http://oeis.org/
digitando nella casella di ricerca:
20,1,18,4

oeis è molto interessante e ci sono arrivato da qui:
http://swtch.com/~rsc/
Russ Cox ...
a lui sono arrivato ... da ...
:-) va beh si fa troppo lunga ...
saluti
r

r

da leggere,
10 mag 2011, 12:06:0910/05/11
a
On 10 Mag, 17:42, r <robb....@gmail.com> wrote:

> per i punti specifico meglio ...
>
> 5 e 3 per formula excel come da regolamento
>
> 5 a chi posta la prima soluzione VBA funzionante e 3 a chi la fa più
> veloce (per i test ci pensiamo)
>
> non sono cumulabili i punteggi 5 e 5 ... e ... 3 e 3  ... quindi al
> massimo uno può fare 8 ... per il resto tutto è valido
> saluti
> r

acc... non ci avevo pensato ... 2 Vincitori ... 2 Nuovi quesiti? ...
:-)

r

plinius

da leggere,
10 mag 2011, 12:31:3310/05/11
a

"r" <robb...@gmail.com> ha scritto nel messaggio
news:d8a54ca0-8cba-4541...@32g2000vbe.googlegroups.com...

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

QUESITO 10

Si gioca a Freccette!

ReDim res(N_oggetti)

'....

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

La serie è sempre di 20 numeri posti in B1:B20 e devono essere sommati a
gruppi di k, per poi elevarne al quadrato la somma.
Par di capire che quando si esauriscono i numeri si riutilizzano i primi
della serie (insomma come se fosse una serie circolare, giusto?)
Quindi i quadrati da sommare sono sempre 20, qualunque sia k.
E allora alla funzione basta passare k, invece passi anche un "N_Oggetti",
che è un long... e che è??
Mica è chiaro quello che chiedi...
Spiega spiega ...
E.


plinius

da leggere,
10 mag 2011, 13:34:3010/05/11
a

"r" <robb...@gmail.com> ha scritto nel messaggio
news:d8a54ca0-8cba-4541...@32g2000vbe.googlegroups.com...


Inutile strizzarsi le meningi se non si ha chiaro cosa fare
Ci sentiamo stasera con calma, roby!

E. ;-)


Scossa

da leggere,
10 mag 2011, 14:14:4910/05/11
a
On 10 Mag, 19:34, "plinius" <punto.linea...@LEVARElibero.it> wrote:
> "r" <robb....@gmail.com> ha scritto nel messaggionews:d8a54ca0-8cba-4541...@32g2000vbe.googlegroups.com...

>
> Inutile strizzarsi le meningi se non si ha chiaro cosa fare
> Ci sentiamo stasera con calma, roby!
>
> E.   ;-)

Così aspettiamo anche noi chiarimenti e intanto tu mumble...mumble
elabori, smonti, assembli e prepari la risposta, ma chi credi di
fregare .... :-)))

Bye!
scossa

plinius

da leggere,
10 mag 2011, 15:20:0110/05/11
a

"Scossa" <scos...@gmail.com> ha scritto nel messaggio
news:2aec344d-50ce-49ea...@a10g2000vbz.googlegroups.com...

On 10 Mag, 19:34, "plinius" <punto.linea...@LEVARElibero.it> wrote:
> "r" <robb....@gmail.com> ha scritto nel
> messaggionews:d8a54ca0-8cba-4541...@32g2000vbe.googlegroups.com...
>
> Inutile strizzarsi le meningi se non si ha chiaro cosa fare
> Ci sentiamo stasera con calma, roby!
>
> E. ;-)

Cosě aspettiamo anche noi chiarimenti e intanto tu mumble...mumble


elabori, smonti, assembli e prepari la risposta, ma chi credi di
fregare .... :-)))

Bye!
scossa

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

Acc... mi hai sgamato! :-|

E io che mi credevo furbo! :-)))

Va be' ci penseremo domani con calma...

Ciao,
E. ;-)


r

da leggere,
10 mag 2011, 17:03:3410/05/11
a
On 10 Mag, 18:31, "plinius" <punto.linea...@LEVARElibero.it> wrote:

> La serie è sempre di 20 numeri posti in B1:B20 e devono essere sommati a
> gruppi di k, per poi elevarne al quadrato la somma.
> Par di capire che quando si esauriscono i numeri si riutilizzano i primi
> della serie (insomma come se fosse una serie circolare, giusto?)

si esatto ... dall'esempio mi pareva semplice da capire ... bastava
guardare l'ultima somma ... (5+20+1)^2 dove 5 è l'ultimo elemento e
20 1 sono i primi due

> Quindi i quadrati da sommare sono sempre 20, qualunque sia k.

esatto ... ma nel caso di k=1 e k=20 si ha la somma di 20 valori
uguali da qui l'intervallo 2 e 19 ... però potremo anche limitare a
10 ... poco importa dai

> E allora alla funzione basta passare k, invece passi anche un "N_Oggetti",
> che è un long... e che è??

per VBA vorreri una funzione un po' più generica da qui il fatto
d'avere un numero variabile di oggetti ... quindi gli oggetti saranno
i numeri da 1 a N_Oggetti (1,2,3,4,5 se N_Oggetti è 5) ... adesso la
function li dovrà mischiare e poi svolgere il calcolo ... restituendo
una matrice con il totale nell'indice 0 e i numeri nell'ordine
mischiato che ha prodotto il totale ...

> Mica è chiaro quello che chiedi...

Mica ti sei sforzato!

> Spiega spiega ...

sono qui per ulteriori eventuali chiarimenti

> E.

p.s.

per la formula la vedo dura ... però con uno o più appoggi è
abbastanza semplice ... quindi consiglio di provare una strada
costruendo una tabella ... da li sarà anche evidente se esiste una
strada percorribile senza appoggio.

saluti
r

plinius

da leggere,
10 mag 2011, 17:14:1110/05/11
a

"r" <robb...@gmail.com> ha scritto nel messaggio
news:81881a4e-f238-4143...@n11g2000yqf.googlegroups.com...

Mica ti sei sforzato!

> Spiega spiega ...

> E.

p.s.

saluti
r

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

Beh... adesso hai detto cose che non potevamo immaginare da soli eh!! :-)

E poi non contribuisce a fare chiarezza l'esempio che fai. A me questa
sequenza:


20 1 18 4 13 6 10 15 2 17 3 19 7 16 8 11 14 9 12 5

con k = 3, da come risultato 21269 (e non 20478).
Se è giusto 20478, c'è qualcosa che non ho capito.
Ciao,
E.

plinius

da leggere,
10 mag 2011, 17:19:1210/05/11
a

"plinius" <punto.l...@LEVARElibero.it> ha scritto nel messaggio
news:iqc9rm$875$1...@dont-email.me...

> E poi non contribuisce a fare chiarezza l'esempio che fai. A me questa
> sequenza:
> 20 1 18 4 13 6 10 15 2 17 3 19 7 16 8 11 14 9 12 5
> con k = 3, da come risultato 21269 (e non 20478).
> Se è giusto 20478, c'è qualcosa che non ho capito.
> Ciao,
> E.
>
>
>

Chiedo venia. Ho controllato e sbagliavo io: è giusto 20478 :-((
Ok domani ci pensiamo!
'notte
E. ;-)


r

da leggere,
10 mag 2011, 17:33:4410/05/11
a
On 10 Mag, 23:19, "plinius" <punto.linea...@LEVARElibero.it> wrote:
> "plinius" <punto.linea...@LEVARElibero.it> ha scritto nel messaggionews:iqc9rm$875$1...@dont-email.me...

>
> > E poi non contribuisce a fare chiarezza l'esempio che fai. A me questa
> > sequenza:
> > 20 1 18 4 13 6 10 15 2 17 3 19 7 16 8 11 14 9 12 5
> > con k = 3, da come risultato 21269 (e non 20478).
> > Se è giusto 20478, c'è qualcosa che non ho capito.
> > Ciao,
> > E.
>
> Chiedo venia. Ho controllato e sbagliavo io: è giusto 20478 :-((


ma no figurati ... ora puoi venire via dai ceci :-)

> Ok domani ci pensiamo!
> 'notte
> E. ;-)

soluzione con due appoggi è semplicissima ...
la soluzione con una sola colonna di appoggio si fa ... per quella
senza appoggio la vedo dura ... però ora ci penso meglio.
ciao
r

r

da leggere,
10 mag 2011, 17:38:3410/05/11
a

questa serie è già meglio del bersaglio:
14
3
15
7
12
8
17
20
2
9
18
5
13
11
16
4
6
19
1
10

con 20420
:-) ... forte
aspetto la soluzione vba ... anzi intanto la scrivo ... per battere la
vostra più veloce :-) ... a tra due giorni ...
ciao
r

r

da leggere,
10 mag 2011, 18:31:3310/05/11
a

con la soluzione vba ho trovato questa:
20164
16
10
7
13
12
11
3
19
15
1
17
8
2
20
9
4
18
5
6
14

adesso la faccio girare tutta notte e domani mattina vediamo la
migliore che trovo ... aggiungiamo 3 punti alla soluzione con somma
più bassa per 20 elementi e k = 3 ... poi lasciamo aperta per sempre
la gara come per la formula più corta?

fate sapere ...
ciao e buona notte
r

Andrea.9

da leggere,
10 mag 2011, 18:54:3610/05/11
a
> r- Nascondi testo citato
>
> - Mostra testo citato -

fatto... ma quanti appoggi ....
sono tutto una stampella :-)

dati in B1:B20
lunghezza serie in C1
da D1 a W20 una tabella in cui:
D1=B1 D2=B2 .....D19=B19 D20=B20
E1=B2 E2=B3 .....E19=B20 E20=B1
ecc ecc fino a:
W=V2 W2=V3 .....W19=V20 W20=V1
a questo punto in D21:
=SOMMA(SCARTO(D1;;;$C$1))^2
e trascinare fino a W21
quindi in W22:
=SOMMA(D21:W21)
risultato 20478
ciao

Andrea.9

da leggere,
10 mag 2011, 19:00:5310/05/11
a
> ciao- Nascondi testo citato

>
> - Mostra testo citato -

volendo unire il tutto in un'unica formula:
=SOMMA(SCARTO(D1;;;$C$1))^2+SOMMA(SCARTO(E1;;;$C
$1))^2+SOMMA(SCARTO(F1;;;$C$1))^2+SOMMA(SCARTO(G1;;;$C
$1))^2+SOMMA(SCARTO(H1;;;$C$1))^2+SOMMA(SCARTO(I1;;;$C
$1))^2+SOMMA(SCARTO(J1;;;$C$1))^2+SOMMA(SCARTO(K1;;;$C
$1))^2+SOMMA(SCARTO(L1;;;$C$1))^2+SOMMA(SCARTO(M1;;;$C
$1))^2+SOMMA(SCARTO(N1;;;$C$1))^2+SOMMA(SCARTO(O1;;;$C
$1))^2+SOMMA(SCARTO(P1;;;$C$1))^2+SOMMA(SCARTO(Q1;;;$C
$1))^2+SOMMA(SCARTO(R1;;;$C$1))^2+SOMMA(SCARTO(S1;;;$C
$1))^2+SOMMA(SCARTO(T1;;;$C$1))^2+SOMMA(SCARTO(U1;;;$C
$1))^2+SOMMA(SCARTO(V1;;;$C$1))^2+SOMMA(SCARTO(W1;;;$C$1))^2
..... mah

Andrea.9

da leggere,
10 mag 2011, 19:12:4410/05/11
a
> ..... mah- Nascondi testo citato

>
> - Mostra testo citato -

decisamente meglio...
senza tabella ma solo usando l'elenco in B1:B20
in B21: =B1
in B22: =B2
=SOMMA(SCARTO(B1;;;$C$1))^2+SOMMA(SCARTO(B2;;;$C
$1))^2+SOMMA(SCARTO(B3;;;$C$1))^2+SOMMA(SCARTO(B4;;;$C
$1))^2+SOMMA(SCARTO(B5;;;$C$1))^2+SOMMA(SCARTO(B6;;;$C
$1))^2+SOMMA(SCARTO(B7;;;$C$1))^2+SOMMA(SCARTO(B8;;;$C
$1))^2+SOMMA(SCARTO(B9;;;$C$1))^2+SOMMA(SCARTO(B10;;;$C
$1))^2+SOMMA(SCARTO(B11;;;$C$1))^2+SOMMA(SCARTO(B12;;;$C
$1))^2+SOMMA(SCARTO(B13;;;$C$1))^2+SOMMA(SCARTO(B14;;;$C
$1))^2+SOMMA(SCARTO(B15;;;$C$1))^2+SOMMA(SCARTO(B16;;;$C
$1))^2+SOMMA(SCARTO(B17;;;$C$1))^2+SOMMA(SCARTO(B18;;;$C
$1))^2+SOMMA(SCARTO(B19;;;$C$1))^2+SOMMA(SCARTO(B20;;;$C$1))^2

Andrea.9

da leggere,
10 mag 2011, 20:06:1510/05/11
a
> $1))^2+SOMMA(SCARTO(B19;;;$C$1))^2+SOMMA(SCARTO(B20;;;$C$1))^2- Nascondi testo citato

>
> - Mostra testo citato -

ancora....


dati in B1:B20
lunghezza serie in C1

iterazioni numero massimo 20
in D1: =D1+1
in D2: =SOMMA(SCARTO(INDIRETTO("B"&D1);;;$C$1))^2 matriciale
in D3: =SE(VAL.ERRORE(D3);D2;D3+D2)

PS non trovo un modo più furbo di far cambiare il riferimento iniziale
dello scarto e sommare i 20 gruppi
il fatto che io non lo trovi non vuol dire che non c'è
chi mi dice come si fa?
buonanotte

Scossa

da leggere,
11 mag 2011, 03:38:5611/05/11
a
On 10 Mag, 17:42, r <robb....@gmail.com> wrote:
>
> 5 a chi posta la prima soluzione VBA funzionante e 3 a chi la fa più
> veloce (per i test ci pensiamo)
>

Scritta in fretta ...

'---------------------------


Function Quizzone_10(N_oggetti As Long, k As Long) As Long()
Dim res() As Long

Dim arr()
Dim v As Long
Dim j As Long
Dim cum As Long
Dim n As Long
Dim n_1 As Long

Dim AnyChanges As Boolean
Dim BubbleSort As Long
Dim SwapFH As Variant
Dim SwapFH2 As Variant

n_1 = N_oggetti + 1
ReDim res(1 To n_1)
ReDim arr(1 To N_oggetti, 1 To 2)

For v = 1 To N_oggetti
arr(v, 1) = Rnd()
arr(v, 2) = v
Next

Do
AnyChanges = False
For BubbleSort = LBound(arr) To UBound(arr) - 1
If (arr(BubbleSort, 1) > arr(BubbleSort + 1, 1)) Then
SwapFH = arr(BubbleSort, 1)
SwapFH2 = arr(BubbleSort, 2)
arr(BubbleSort, 1) = arr(BubbleSort + 1, 1)
arr(BubbleSort, 2) = arr(BubbleSort + 1, 2)
arr(BubbleSort + 1, 1) = SwapFH
arr(BubbleSort + 1, 2) = SwapFH2
AnyChanges = True
End If
Next BubbleSort
Loop Until Not AnyChanges

For v = 2 To n_1
res(v) = arr(v - 1, 2)
Next
ReDim Preserve res(1 To N_oggetti + k)
For n = 1 To k - 1
res(n_1 + n) = res(n + 1)
Next

For v = 2 To n_1
j = 0
For n = 0 To k - 1
j = j + res(v + n)
Next
cum = cum + (j ^ 2)
Next
res(1) = cum

Quizzone_10 = res

End Function
'------------------------

Selezionare 21 colonne (D1:X1) 3 digitare =Quizzone_10(20;3) da
confermare con ctrl+maiusc+invio

Bye!
scossa

plinius

da leggere,
11 mag 2011, 04:06:3711/05/11
a

"r" <robb...@gmail.com> ha scritto nel messaggio
news:f4125a2d-83a3-44ba...@p13g2000yqh.googlegroups.com...

On 10 Mag, 23:38, r <robb....@gmail.com> wrote:
> On 10 Mag, 23:33, r <robb....@gmail.com> wrote:

Ecco le mie roposte:

1. VBA:
----------------------
Function Quizzone_10(Nog As Long, k As Long) As Long()
Application.Volatile
Dim res() As Long, lav() As Long
Dim i As Long, j As Long, p As Long
Dim T As Long, TT As Long
ReDim res(0 To Nog), lav(1 To Nog * 2)
For i = 1 To Nog: res(i) = i: Next
For i = 1 To Nog
j = Int(Rnd * Nog) + 1
p = res(j): res(j) = res(i): res(i) = p
Next
For i = 1 To Nog
lav(i) = res(i)
lav(i + Nog) = res(i)
Next
For i = 1 To Nog
For j = 1 To k
T = T + lav(i + j - 1)
Next
TT = TT + T ^ 2
T = 0
Next
res(0) = TT


Quizzone_10 = res
End Function

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

2. Excel
----------------------
In B21:: =B1 da trascinare sino a B40 (o anche solo B39)
In D1:: =SOMMA(SCARTO(B1;;;$C$1))^2 da trascinare sino a D20
In C2:: =SOMMA(D1:D20)
----------------------

Ho fatto girare la funzione VBA per cercare una combinazione che minimizzi
il totale ed ho trovato questa che scende al di sotto di 20000:
8
20
5
7
19
3
11
15
6
13
9
12
16
2
10
17
1
14
18
4
19976


Ciao,
E. :-)


paoloard

da leggere,
11 mag 2011, 04:55:5411/05/11
a
"r" ha scritto nel messaggio
news:1bd90148-249a-4e95...@l14g2000pro.googlegroups.com...

On 10 Mag, 17:34, r <robb....@gmail.com> wrote:
errata corrige:

> da A1 a A20 inseriamo la formula
> =CASUALE()
> in B1:
> =RANGO(A1:A10;A1:A10)

č:
=RANGO(A1:A20;A1:A20)

per i punti specifico meglio ...

5 e 3 per formula excel come da regolamento

5 a chi posta la prima soluzione VBA funzionante e 3 a chi la fa piů


veloce (per i test ci pensiamo)

non sono cumulabili i punteggi 5 e 5 ... e ... 3 e 3 ... quindi al

massimo uno puň fare 8 ... per il resto tutto č valido
saluti
r
-------------------------------------------------------------------------------------------

No, senza un appoggio non mi viene.
Allora:
in C2:
=SE(RIF.RIGA()>$C$1+20;"";SOMMA(SCARTO($B$1;RESTO(RIF.RIGA(A1)-1;20);;$C$1))^2)
da copiare in basso fino alla riga 30 (in funzione del valore in C1)
in C31: =somma(C2:C30)

ciao paoloard
http://www.riolab.org

r

da leggere,
11 mag 2011, 05:03:1611/05/11
a
On 11 Mag, 10:06, "plinius" <punto.linea...@LEVARElibero.it> wrote:
> "r" <robb....@gmail.com> ha scritto nel messaggionews:f4125a2d-83a3-44ba...@p13g2000yqh.googlegroups.com...

poi rispondo a tutti ...

per excel mi sembra che la stessa soluzione sia stata proposta da
Andrea.
E' anche la soluzione che subito avevo pensato io e credo sia la più
efficiente.

una soluzione senza trascinare da b21 è fattibile (Andrea ci sta
provando ora vado a dargli un suggerimento) ...

per la function ... ora studio la tua e quella di scossa ...
pensavo ... seguitemi:
voglio trovare la disposizione che minimizzi la somma dei quadrati ok?
bene quante sono le disposizioni? se non sbaglio
2.432.902.008.176.640.000 ... quindi provarle tutte credo sia
un'impresa titanica ... anche se sarebbe carino avere tutti i file con
tutte le possibili disposizioni ...

quindi una routine che partendo da una serie mischia in modo casuale
le *carte* ... per renderla più veloce pensavo di ciclare una sola
modifica (random) e il calcolo in altri termini prendo una carta delle
vendi scelta casualmente tra la prima e la diciannovesima e la scambio
con la carta in posizione 20 ... e calcolo solo la parte delle due
somme che sono interessate ... cosa ne penssate?

chiudo con ... la serie migliore ...
complimenti plinius! io questa notte ho fatto girare una routine e
questa mattina avevo ottenuto solo un 20030

quindi cosa facciamo i 3 punti li lasciamo aperti su questa strada?

ciao
r


paoloard

da leggere,
11 mag 2011, 05:05:0411/05/11
a
"paoloard" ha scritto nel messaggio news:iqdivn$cpq$1...@dont-email.me...

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

dimenticavo, piů in generale per un numero di righe imprecisate:
in C2:
=SE(RIF.RIGA()>CONTA.SE($A:$A;">0")+$C$1;"";SOMMA(SCARTO($B$1;RESTO(RIF.RIGA(A1)-1;CONTA.SE($A:$A;">0"));;$C$1))^2)

in D1: =somma($C:$C)-C1

ciao paoloard
http://www.riolab.org

r

da leggere,
11 mag 2011, 05:06:5111/05/11
a
On 11 Mag, 10:55, "paoloard" <xxp...@alice.it> wrote:
> "r"  ha scritto nel messaggionews:1bd90148-249a-4e95...@l14g2000pro.googlegroups.com...

>
> On 10 Mag, 17:34, r <robb....@gmail.com> wrote:
> errata corrige:
>
> > da A1 a A20 inseriamo la formula
> > =CASUALE()
> > in B1:
> > =RANGO(A1:A10;A1:A10)
>
> è:

> =RANGO(A1:A20;A1:A20)
>
> per i punti specifico meglio ...
>
> 5 e 3 per formula excel come da regolamento
>
> 5 a chi posta la prima soluzione VBA funzionante e 3 a chi la fa più

> veloce (per i test ci pensiamo)
>
> non sono cumulabili i punteggi 5 e 5 ... e ... 3 e 3  ... quindi al
> massimo uno può fare 8 ... per il resto tutto è valido

> saluti
> r
> -------------------------------------------------------------------------------------------
>
> No, senza un appoggio non mi viene.
> Allora:
> in C2:
> =SE(RIF.RIGA()>$C$1+20;"";SOMMA(SCARTO($B$1;RESTO(RIF.RIGA(A1)-1;20);;$C$1))^2)
> da copiare in basso fino alla riga 30 (in funzione del valore in C1)
> in C31: =somma(C2:C30)
>
> ciao paoloardhttp://www.riolab.org

mi sa che non hai capito ...
ciao
r

r

da leggere,
11 mag 2011, 05:14:3911/05/11
a

allora ... un consiglio ... la prima formula quella che usa i valori
che vengono trascinati in basso ...
=SOMMA(SCARTO(D1;;;$C$1))^2
togli l'elevamento a potenza ...
va bene ... ora tieni solo i valori in b1:b20 e cancella le formule
aggiunte sotto

trascinando quella formula (facciamo il caso che k=3) avrai i primi 18
risultati buoni ... poi il risultato in riga 19 avrà 2 dei 3 valori e
il risultato in riga 20 avrà uno dei tre valori ... in altra colonna
scrivi una formula che restituisca 0 per le prime 18 righe e per le
ultime due restituisca il primo e i primi due valori (B1 e B2) ... ora
in una terza colonna fai la somma delle due colonne e elevi al
quadrato ogni somma ...

fatto questo sarà facile unire tutto in una sola colonna di
appoggio ...

la soluzione senza appoggio ... ci ho pensato ... forse ... forse ...
bah ... devo provare a scrivere ...

saluti
r

p.s.
dai per la vittoria serve solo un passettino in più!

plinius

da leggere,
11 mag 2011, 05:18:5811/05/11
a

"r" <robb...@gmail.com> ha scritto nel messaggio
news:11b9c8e2-ffa9-4daf...@h9g2000yqk.googlegroups.com...

ciao
r

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

In effetti pensavo anch'io ad una strategia per arrivare più rapidamente a
valori migliori e ero "quasi" sulla tua stessa linea, ma un po' diversa.
Ora ci studio un po' e poi riferisco! :-)
Ciao,
E.


r

da leggere,
11 mag 2011, 05:20:3211/05/11
a
On 11 Mag, 11:05, "paoloard" <xxp...@alice.it> wrote:
> "paoloard"  ha scritto nel messaggionews:iqdivn$cpq$1...@dont-email.me...
>
> "r"  ha scritto nel messaggionews:1bd90148-249a-4e95...@l14g2000pro.googlegroups.com...

>
> On 10 Mag, 17:34, r <robb....@gmail.com> wrote:
> errata corrige:
>
> > da A1 a A20 inseriamo la formula
> > =CASUALE()
> > in B1:
> > =RANGO(A1:A10;A1:A10)
>
> è:

> =RANGO(A1:A20;A1:A20)
>
> per i punti specifico meglio ...
>
> 5 e 3 per formula excel come da regolamento
>
> 5 a chi posta la prima soluzione VBA funzionante e 3 a chi la fa più

> veloce (per i test ci pensiamo)
>
> non sono cumulabili i punteggi 5 e 5 ... e ... 3 e 3  ... quindi al
> massimo uno può fare 8 ... per il resto tutto è valido

> saluti
> r
> -------------------------------------------------------------------------------------------
>
> No, senza un appoggio non mi viene.
> Allora:
> in C2:
> =SE(RIF.RIGA()>$C$1+20;"";SOMMA(SCARTO($B$1;RESTO(RIF.RIGA(A1)-1;20);;$C$1))^2)
> da copiare in basso fino alla riga 30 (in funzione del valore in C1)
> in C31: =somma(C2:C30)
>
> ciao paoloardhttp://www.riolab.org
> ----------------------------------------------------------------
>
> dimenticavo, più in generale per un numero di righe imprecisate:

> in C2:
> =SE(RIF.RIGA()>CONTA.SE($A:$A;">0")+$C$1;"";SOMMA(SCARTO($B$1;RESTO(RIF.RIGA(A1)-1;CONTA.SE($A:$A;">0"));;$C$1))^2)
>
> in D1: =somma($C:$C)-C1
>
> ciao paoloardhttp://www.riolab.org

ripeto ... mi sa che non hai capito ... la serie è circolare ....
leggi tutte le risposte ... oppure guarda l'esempio che ho postato
all'inizio:


20 1 18 4 13 6 10 15 2 17 3 19 7 16 8 11 14 9 12
5

che poi è la serie del bersaglio delle freccette
si vuole ottenere (ad esempio per k=3):
(20+1+18)^2 + (1+18+4)^2 + (18+4+13)^ + ... + (5+20+1)^2 = 20478

vedi quel (5+20+1)^2 è l'ultima somma
la penultima è:
(12+5+20)^2

ora è chiaro?
ciao
r

paoloard

da leggere,
11 mag 2011, 05:24:2311/05/11
a
"r" ha scritto nel messaggio
news:c5c2d360-f99b-4773...@hd10g2000vbb.googlegroups.com...

On 11 Mag, 11:05, "paoloard" <xxp...@alice.it> wrote:
> "paoloard" ha scritto nel messaggionews:iqdivn$cpq$1...@dont-email.me...
>
> "r" ha scritto nel
> messaggionews:1bd90148-249a-4e95...@l14g2000pro.googlegroups.com...
>
> On 10 Mag, 17:34, r <robb....@gmail.com> wrote:
> errata corrige:
>
> > da A1 a A20 inseriamo la formula
> > =CASUALE()
> > in B1:
> > =RANGO(A1:A10;A1:A10)
>

> č:


> =RANGO(A1:A20;A1:A20)
>
> per i punti specifico meglio ...
>
> 5 e 3 per formula excel come da regolamento
>

> 5 a chi posta la prima soluzione VBA funzionante e 3 a chi la fa piů


> veloce (per i test ci pensiamo)
>
> non sono cumulabili i punteggi 5 e 5 ... e ... 3 e 3 ... quindi al

> massimo uno puň fare 8 ... per il resto tutto č valido


> saluti
> r
> -------------------------------------------------------------------------------------------
>
> No, senza un appoggio non mi viene.
> Allora:
> in C2:
> =SE(RIF.RIGA()>$C$1+20;"";SOMMA(SCARTO($B$1;RESTO(RIF.RIGA(A1)-1;20);;$C$1))^2)
> da copiare in basso fino alla riga 30 (in funzione del valore in C1)
> in C31: =somma(C2:C30)
>
> ciao paoloardhttp://www.riolab.org
> ----------------------------------------------------------------
>

> dimenticavo, piů in generale per un numero di righe imprecisate:


> in C2:
> =SE(RIF.RIGA()>CONTA.SE($A:$A;">0")+$C$1;"";SOMMA(SCARTO($B$1;RESTO(RIF.RIGA(A1)-1;CONTA.SE($A:$A;">0"));;$C$1))^2)
>
> in D1: =somma($C:$C)-C1
>
> ciao paoloardhttp://www.riolab.org

ripeto ... mi sa che non hai capito ... la serie č circolare ....


leggi tutte le risposte ... oppure guarda l'esempio che ho postato
all'inizio:
20 1 18 4 13 6 10 15 2 17 3 19 7 16 8 11 14 9 12
5

che poi č la serie del bersaglio delle freccette


si vuole ottenere (ad esempio per k=3):
(20+1+18)^2 + (1+18+4)^2 + (18+4+13)^ + ... + (5+20+1)^2 = 20478

vedi quel (5+20+1)^2 č l'ultima somma
la penultima č:
(12+5+20)^2

ora č chiaro?
ciao
r
-------------------------------------------------

Ok la serie č circolare. Io l'ho ricreata aggiungendo delle righe che
replicano i primi n valori 1 o 2 o 3 ecc a seconda del valore di C1.
Perché non la provi prima di buttarmi via :-)

ciao paoloard
http://www.riolab.org

r

da leggere,
11 mag 2011, 05:27:1811/05/11
a

Ok ... 5 punti sono tuoi!!!! appena riesco inizio ad aggiornare la
classifica ... tu sei escluso dalla soluzione per i 5 punti di
excel ... potrai partecipare invece per entrambi i 3 punti ...

però ragazzi dovete rispondermi alla domanda ...
2 vincitori -> 2 nuovi quesiti?

ciao
r


r

da leggere,
11 mag 2011, 05:31:5511/05/11
a
On 11 Mag, 11:24, "paoloard" <xxp...@alice.it> wrote:
> "r"  ha scritto nel messaggionews:c5c2d360-f99b-4773...@hd10g2000vbb.googlegroups.com...

>
> On 11 Mag, 11:05, "paoloard" <xxp...@alice.it> wrote:
>
>
>
> > "paoloard"  ha scritto nel messaggionews:iqdivn$cpq$1...@dont-email.me...
>
> > "r"  ha scritto nel
> > messaggionews:1bd90148-249a-4e95...@l14g2000pro.googlegroups.com...
>
> > On 10 Mag, 17:34, r <robb....@gmail.com> wrote:
> > errata corrige:
>
> > > da A1 a A20 inseriamo la formula
> > > =CASUALE()
> > > in B1:
> > > =RANGO(A1:A10;A1:A10)
>
> > è:

> > =RANGO(A1:A20;A1:A20)
>
> > per i punti specifico meglio ...
>
> > 5 e 3 per formula excel come da regolamento
>
> > 5 a chi posta la prima soluzione VBA funzionante e 3 a chi la fa più

> > veloce (per i test ci pensiamo)
>
> > non sono cumulabili i punteggi 5 e 5 ... e ... 3 e 3  ... quindi al
> > massimo uno può fare 8 ... per il resto tutto è valido

> > saluti
> > r
> > -------------------------------------------------------------------------------------------
>
> > No, senza un appoggio non mi viene.
> > Allora:
> > in C2:
> > =SE(RIF.RIGA()>$C$1+20;"";SOMMA(SCARTO($B$1;RESTO(RIF.RIGA(A1)-1;20);;$C$1))^2)
> > da copiare in basso fino alla riga 30 (in funzione del valore in C1)
> > in C31: =somma(C2:C30)
>
> > ciao paoloardhttp://www.riolab.org
> > ----------------------------------------------------------------
>
> > dimenticavo, più in generale per un numero di righe imprecisate:

> > in C2:
> > =SE(RIF.RIGA()>CONTA.SE($A:$A;">0")+$C$1;"";SOMMA(SCARTO($B$1;RESTO(RIF.RIGA(A1)-1;CONTA.SE($A:$A;">0"));;$C$1))^2)
>
> > in D1: =somma($C:$C)-C1
>
> > ciao paoloardhttp://www.riolab.org
>
> ripeto ... mi sa che non hai capito ... la serie è circolare ....

> leggi tutte le risposte ... oppure guarda l'esempio che ho postato
> all'inizio:
> 20  1  18  4  13  6  10  15  2  17  3  19  7  16  8  11  14  9  12
> 5
> che poi è la serie del bersaglio delle freccette

> si vuole ottenere (ad esempio per k=3):
> (20+1+18)^2 + (1+18+4)^2 + (18+4+13)^ + ... + (5+20+1)^2  =  20478
>
> vedi quel (5+20+1)^2 è l'ultima somma
> la penultima è:
> (12+5+20)^2
>
> ora è chiaro?
> ciao
> r
> -------------------------------------------------
>
> Ok la serie è circolare. Io l'ho ricreata aggiungendo delle righe che

> replicano i primi n valori 1 o 2 o 3 ecc a seconda del valore di C1.
> Perché non la provi prima di buttarmi via :-)
>
> ciao paoloardhttp://www.riolab.org

la soluzione con righe in più da B21 in poi è già stata data da
Andrea ... e poi da Plinius ...
la tua non va ... anche prolungando da B21 ... forse non capisco
io ... boh

plinius

da leggere,
11 mag 2011, 05:41:2311/05/11
a

"plinius" <punto.l...@LEVARElibero.it> ha scritto nel messaggio
news:iqdg2f$if4$1...@dont-email.me...

Aggiungo la formula di cella D1 che non poresuppone la replica dei dati da
B21 in giù:

=SOMMA(SCARTO(B1;;;$C$1);SE(RIF.RIGA()+$C$1>21;SCARTO($B$1;;;RIF.RIGA()+$C$1-21)))^2

Ciao,
E.


r

da leggere,
11 mag 2011, 05:43:0011/05/11
a
On 11 Mag, 11:18, "plinius" <punto.linea...@LEVARElibero.it> wrote:
> "r" <robb....@gmail.com> ha scritto nel messaggionews:11b9c8e2-ffa9-4daf...@h9g2000yqk.googlegroups.com...

potrebbe esserci un algoritmo più efficiente ... consideriamo il
valore medio delle triplette partendo dalla soluzione migliore
ottenuta ... e cerchiamo di migliorarlo modificando (random) la
tripletta che ha una media più bassa ... che dici? ... devo prendere
carta e penna!

r

da leggere,
11 mag 2011, 05:45:3811/05/11
a
On 11 Mag, 11:41, "plinius" <punto.linea...@LEVARElibero.it> wrote:
> "plinius" <punto.linea...@LEVARElibero.it> ha scritto nel messaggionews:iqdg2f$if4$1...@dont-email.me...
>
>
>
>
>
> > "r" <robb....@gmail.com> ha scritto nel messaggio
> B21 in gi :

>
> =SOMMA(SCARTO(B1;;;$C$1);SE(RIF.RIGA()+$C$1>21;SCARTO($B$1;;;RIF.RIGA()+$C$1-21)))^2
>
> Ciao,
> E.

bene!
accorcia!
per ora sei il vincitore della parte 2 ... che ne dici ora di una
soluzione senza appoggio ... per te si può?
servirebbe un matrice prodotto molto fantasioso ... forse con un
nome ...

plinius

da leggere,
11 mag 2011, 05:50:0011/05/11
a

"plinius" <punto.l...@LEVARElibero.it> ha scritto nel messaggio
news:iqdlk4$7o4$1...@dont-email.me...

Per un $ in meno... ;-)

=SOMMA(SCARTO(B1;;;$C$1);SE(RIF.RIGA()+$C$1>21;SCARTO(B$1;;;RIF.RIGA()+$C$1-21)))^2


plinius

da leggere,
11 mag 2011, 05:56:0111/05/11
a

"r" <robb...@gmail.com> ha scritto nel messaggio
news:48b2628d-c500-462f...@24g2000yqk.googlegroups.com...

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

Avevo invece in mente...
da una qualunqua combinazione si può arrivare a qualunque altra combinazione
attraverso passi successivi che consistano in un solo scambio.
Partendo da una serie completa di 20 elementi (ottenuta random) gli scambi
possibili sono solo 190.
Strategia: provarli tutti e 190 e selezionare la nuova combinazione col
totale minore.
Ripartire da questa con una identica operazione.
Penso sia una buona metodica...

r

da leggere,
11 mag 2011, 05:56:2411/05/11
a
On 11 Mag, 11:50, "plinius" <punto.linea...@LEVARElibero.it> wrote:
> "plinius" <punto.linea...@LEVARElibero.it> ha scritto nel messaggionews:iqdlk4$7o4$1...@dont-email.me...
>
>
>
>
>
> > "plinius" <punto.linea...@LEVARElibero.it> ha scritto nel messaggio
> >news:iqdg2f$if4$1...@dont-email.me...
>
> >> "r" <robb....@gmail.com> ha scritto nel messaggio

dai non fare il tirchio ... via quei dollari di troppo!

r

da leggere,
11 mag 2011, 06:01:3011/05/11
a
On 11 Mag, 11:56, "plinius" <punto.linea...@LEVARElibero.it> wrote:

> Ripartire da questa con una identica operazione.

ma così non ottieni le 190 di prima?

plinius

da leggere,
11 mag 2011, 06:15:5811/05/11
a

"r" <robb...@gmail.com> ha scritto nel messaggio
news:4768e711-f689-4b1a...@u26g2000vby.googlegroups.com...

On 11 Mag, 11:56, "plinius" <punto.linea...@LEVARElibero.it> wrote:

> Ripartire da questa con una identica operazione.

ma cosě non ottieni le 190 di prima?

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

No, no. Se la prima volta scambio la 1 con la 2 e nella seconda tornata
scambio la 3 con la 4, ottengo una combinazione che da quella iniziale (con
un solo scambio) non avrei potuto avere.
Insomma scambio dopo scambio, sicuramente posso arrivare a una qualunque
combinazione tra quelle esistenti. Solo che io mi sposto dall'una all'altra
solo se č conveniente e, cosě, riduco enormemente il numero di ipotesi da
analizzare.
Voglio provare...


Andrea.9

da leggere,
11 mag 2011, 07:06:1311/05/11
a
> > > =SOMMA(SCARTO(B1;;;$C$1);SE(RIF.RIGA()+$C$1>21;SCARTO($B$1;;;RIF.RIGA()+$C$­1-21)))^2

>
> > > Ciao,
> > > E.
>
> > Per un $ in meno... ;-)
>
> > =SOMMA(SCARTO(B1;;;$C$1);SE(RIF.RIGA()+$C$1>21;SCARTO(B$1;;;RIF.RIGA()+$C$1­-21)))^2
>
> dai non fare il tirchio ... via quei dollari di troppo!- Nascondi testo citato

>
> - Mostra testo citato -

sarò opportunista:
=SOMMA(SCARTO(B1;;;C$1);SE(RIF.RIGA()+C$1>21;SCARTO(B$1;;;RIF.RIGA()+C
$1­-21)))^2

r

da leggere,
11 mag 2011, 07:15:0711/05/11
a

ecco, bravo! benvenuto nel club! :-)
come diceva plinius un po' di post fa in altro 3d ...

Curioso come a volte le vie siano del tutto obbligate.
La tua formula coincide perfettamente con la mia, carattere per
carattere!!
:-)

Per ora a te i 3 punti!

saluti
r

paoloard

da leggere,
11 mag 2011, 08:53:4011/05/11
a
"r" ha scritto nel messaggio
news:2041a845-2080-484a...@j23g2000yqc.googlegroups.com...

On 11 Mag, 11:24, "paoloard" <xxp...@alice.it> wrote:

cut


>
> Ok la serie è circolare. Io l'ho ricreata aggiungendo delle righe che
> replicano i primi n valori 1 o 2 o 3 ecc a seconda del valore di C1.
> Perché non la provi prima di buttarmi via :-)
>
> ciao paoloardhttp://www.riolab.org

la soluzione con righe in più da B21 in poi è già stata data da
Andrea ... e poi da Plinius ...
la tua non va ... anche prolungando da B21 ... forse non capisco
io ... boh

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

no no, non va, hai ragione tu. Sorry.

ciao paoloard
http://www.riolab.org


plinius

da leggere,
11 mag 2011, 11:23:4511/05/11
a

"Andrea.9" <a.nove...@dappolonia.it> ha scritto nel messaggio
news:2b8a43dc-3062-42c0...@a10g2000vbz.googlegroups.com...

>
> > Per un $ in meno... ;-)
>
> > =SOMMA(SCARTO(B1;;;$C$1);SE(RIF.RIGA()+$C$1>21;SCARTO(B$1;;;RIF.RIGA()+$C$1­-21)))^2
>
> dai non fare il tirchio ... via quei dollari di troppo!- Nascondi testo
> citato
>
> - Mostra testo citato -

sarò opportunista:
=SOMMA(SCARTO(B1;;;C$1);SE(RIF.RIGA()+C$1>21;SCARTO(B$1;;;RIF.RIGA()+C
$1­-21)))^2

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

Non sei opportunista, è così che si gioca!
Hai fatto bene a punirmi! Bravo Andrea!
Così starò più attento... forse... :-))

Ciao,
Enrico


plinius

da leggere,
11 mag 2011, 11:31:3911/05/11
a

"plinius" <punto.l...@LEVARElibero.it> ha scritto nel messaggio
news:iqdnkv$r6d$1...@dont-email.me...

Dunque, riferisco!
Il sistema funziona abbastanza bene e in una frazione di secondo arriva al
risultato migliore ottenibile da una determinata di partenza creata random.
Ho provato un numero abbastanza elevato di volte e finora il miglior
risultato ottenuto č... guarda caso... 19874 con questa sequenza:
8
7
18
5
9
19
2
10
20
1
12
17
3
13
14
4
15
11
6
16

Che sia davvero il minimo possibile? Presumo (non ne sono affatto certo) di
sě!!
Sarebbe da far girare per un po' la sub, ma dubito davvero che si possa fare
di meglio.
Questa č la sub, per chi volesse provare:
-----------------------------------
Sub SelBest()
Dim f As Worksheet
Dim res() As Long, resT() As Long
Dim i As Long, j As Long, p As Long, x As Long, y As Long, n As Long
Dim Nog As Long, k As Long


Dim T As Long, TT As Long

Nog = 20: k = 3
ReDim res(0 To Nog), resT(1 To (Nog / 2 * (Nog - 1)), 0 To Nog)
Set f = ThisWorkbook.Worksheets("Foglio1")
f.Range("H1:H30").Clear


For i = 1 To Nog: res(i) = i: Next
For i = 1 To Nog
j = Int(Rnd * Nog) + 1
p = res(j): res(j) = res(i): res(i) = p
Next

For x = 1 To Nog
For y = 0 To k - 1
T = T + res(IIf(x + y > Nog, x + y - Nog, x + y))


Next
TT = TT + T ^ 2
T = 0
Next
res(0) = TT

TT = 0
Do
For i = 1 To Nog - 1
For j = i + 1 To Nog
n = n + 1
For x = 0 To Nog
resT(n, x) = res(x)
Next
p = resT(n, j): resT(n, j) = resT(n, i): resT(n, i) = p
For x = 1 To Nog
For y = 0 To k - 1
T = T + resT(n, IIf(x + y > Nog, x + y - Nog, x + y))


Next
TT = TT + T ^ 2
T = 0
Next

resT(n, 0) = TT: TT = 0
Next
Next
n = 0: p = 1
For x = 2 To Nog / 2 * (Nog - 1)
If resT(x, 0) < resT(p, 0) Then p = x
Next
If resT(p, 0) >= res(0) Then Exit Do
For x = 1 To 20
f.Cells(x, 8) = resT(p, x)
Next
f.Cells(28, 8) = resT(p, 0)
For x = 0 To Nog
res(x) = resT(p, x)
Next
Loop
f.Cells(22, 8) = "Ricerca terminata"
End Sub
--------------------------------------------

Ciao,
E.


r

da leggere,
11 mag 2011, 11:41:4011/05/11
a
On 11 Mag, 17:23, "plinius" <punto.linea...@LEVARElibero.it> wrote:
> "Andrea.9" <a.novelli-...@dappolonia.it> ha scritto nel messaggionews:2b8a43dc-3062-42c0...@a10g2000vbz.googlegroups.com...

>
>
>
> > > Per un $ in meno... ;-)
>
> > > =SOMMA(SCARTO(B1;;;$C$1);SE(RIF.RIGA()+$C$1>21;SCARTO(B$1;;;RIF.RIGA()+$C$1-21)))^2

>
> > dai non fare il tirchio ... via quei dollari di troppo!- Nascondi testo
> > citato
>
> > - Mostra testo citato -
>
> sar opportunista:

> =SOMMA(SCARTO(B1;;;C$1);SE(RIF.RIGA()+C$1>21;SCARTO(B$1;;;RIF.RIGA()+C
> $1 -21)))^2
>
> **********************************
>
> Non sei opportunista, cos che si gioca!

> Hai fatto bene a punirmi! Bravo Andrea!
> Cos star pi attento... forse... :-))
>
> Ciao,
> Enrico

ho una matriciale in singola cella!!!!!!!!!!!!!
la posso postare :-)
r

r

da leggere,
11 mag 2011, 11:44:0611/05/11
a
On 11 Mag, 17:31, "plinius" <punto.linea...@LEVARElibero.it> wrote:
> "plinius" <punto.linea...@LEVARElibero.it> ha scritto nel messaggionews:iqdnkv$r6d$1...@dont-email.me...
>
>
>
>
>
> > "r" <robb....@gmail.com> ha scritto nel messaggio

> >news:4768e711-f689-4b1a...@u26g2000vby.googlegroups.com...
> > On 11 Mag, 11:56, "plinius" <punto.linea...@LEVARElibero.it> wrote:
>
> >> Ripartire da questa con una identica operazione.
>
> > ma così non ottieni le 190 di prima?

>
> > **************************
>
> > No, no. Se la prima volta scambio la 1 con la 2 e nella seconda tornata
> > scambio la 3 con la 4, ottengo una combinazione che da quella iniziale
> > (con un solo scambio) non avrei potuto avere.
> > Insomma scambio dopo scambio, sicuramente posso arrivare a una qualunque
> > combinazione tra quelle esistenti. Solo che io mi sposto dall'una
> > all'altra solo se è conveniente e, così, riduco enormemente il numero di

> > ipotesi da analizzare.
> > Voglio provare...
>
> Dunque, riferisco!
> Il sistema funziona abbastanza bene e in una frazione di secondo arriva al
> risultato migliore ottenibile da una determinata di partenza creata random.
> Ho provato un numero abbastanza elevato di volte e finora il miglior
> risultato ottenuto è... guarda caso... 19874 con questa sequenza:

>       8
>       7
>       18
>       5
>       9
>       19
>       2
>       10
>       20
>       1
>       12
>       17
>       3
>       13
>       14
>       4
>       15
>       11
>       6
>       16
>
> Che sia davvero il minimo possibile? Presumo (non ne sono affatto certo) di
> sì!!

> Sarebbe da far girare per un po' la sub, ma dubito davvero che si possa fare
> di meglio.
> Questa è la sub, per chi volesse provare:

questa notte girerà a casa mia :-)
r

plinius

da leggere,
11 mag 2011, 11:46:2811/05/11
a

"plinius" <punto.l...@LEVARElibero.it> ha scritto nel messaggio
news:iqea4s$ilj$1...@dont-email.me...

L'ho lanciata a tempo indeterminato.
Ho scritto in N28 18874 e l'ho lanciata con questa!
------------------
Sub prova()
Dim fa As Range, fo As Range
Set fa = ThisWorkbook.Worksheets("Foglio1").Range("h28")
Set fo = ThisWorkbook.Worksheets("Foglio1").Range("n28")
Do
SelBest
Loop Until fa.Value < fo.Value
End Sub
-------------------
Finora (e penso anche dopo) nulla! :-)

Ciao,
E.


r

da leggere,
11 mag 2011, 11:46:5411/05/11
a

e non è nemmeno da confermare con ctrl+maiusc+invio :-)
è bella davvero!
:-)
che figata ottenerla!
r

plinius

da leggere,
11 mag 2011, 11:49:1211/05/11
a

"r" <robb...@gmail.com> ha scritto nel messaggio
news:b8dd5cca-173d-4472...@q30g2000vbs.googlegroups.com...

>
> ho una matriciale in singola cella!!!!!!!!!!!!!
> la posso postare :-)
> r

Che intendi? Quello che chiedeva Paolo altrove e per la qual cosa suggerivo
l'espediente (tuo) delle iterazioni?
E sei riuscito a farlo senza iterare?
Spiega... e posta!! :-)


r

da leggere,
11 mag 2011, 11:50:4311/05/11
a
On 11 Mag, 17:49, "plinius" <punto.linea...@LEVARElibero.it> wrote:
> "r" <robb....@gmail.com> ha scritto nel messaggionews:b8dd5cca-173d-4472...@q30g2000vbs.googlegroups.com...

>
>
>
> > ho una matriciale in singola cella!!!!!!!!!!!!!
> > la posso postare :-)
> > r
>
> Che intendi? Quello che chiedeva Paolo altrove e per la qual cosa suggerivo
> l'espediente (tuo) delle iterazioni?
> E sei riuscito a farlo senza iterare?
> Spiega... e posta!! :-)

pulita pulita!
posso?
dai ditemi di si anche se non sono passati 2 giorni :-)

plinius

da leggere,
11 mag 2011, 11:51:1311/05/11
a

"plinius" <punto.l...@LEVARElibero.it> ha scritto nel messaggio
news:iqeb0l$rmb$1...@dont-email.me...

L'avevo lanciato con <= 18874 e ne ha trovato un altro... ma meno nisba!!


plinius

da leggere,
11 mag 2011, 11:52:5811/05/11
a

"r" <robb...@gmail.com> ha scritto nel messaggio
news:114fc120-60cf-48cd...@j13g2000pro.googlegroups.com...

Già detto di postare!! :-))
Ma che 2 giorni dici? Non ti sarai ubriacato di regolamenti?


r

da leggere,
11 mag 2011, 11:54:3111/05/11
a
On 11 Mag, 17:51, "plinius" <punto.linea...@LEVARElibero.it> wrote:
> "plinius" <punto.linea...@LEVARElibero.it> ha scritto nel messaggionews:iqeb0l$rmb$1...@dont-email.me...
>
>
>
>
>
> > "plinius" <punto.linea...@LEVARElibero.it> ha scritto nel messaggio
> >news:iqea4s$ilj$1...@dont-email.me...
>
> >> "plinius" <punto.linea...@LEVARElibero.it> ha scritto nel messaggio
> >>news:iqdnkv$r6d$1...@dont-email.me...
>
> >>> "r" <robb....@gmail.com> ha scritto nel messaggio

> >>>news:4768e711-f689-4b1a...@u26g2000vby.googlegroups.com...
> >>> On 11 Mag, 11:56, "plinius" <punto.linea...@LEVARElibero.it> wrote:
>
> >>>> Ripartire da questa con una identica operazione.
>
> >>> ma cos non ottieni le 190 di prima?

>
> >>> **************************
>
> >>> No, no. Se la prima volta scambio la 1 con la 2 e nella seconda tornata
> >>> scambio la 3 con la 4, ottengo una combinazione che da quella iniziale
> >>> (con un solo scambio) non avrei potuto avere.
> >>> Insomma scambio dopo scambio, sicuramente posso arrivare a una qualunque
> >>> combinazione tra quelle esistenti. Solo che io mi sposto dall'una
> >>> all'altra solo se conveniente e, cos , riduco enormemente il numero di

> >>> ipotesi da analizzare.
> >>> Voglio provare...
>
> >> Dunque, riferisco!
> >> Il sistema funziona abbastanza bene e in una frazione di secondo arriva
> >> al risultato migliore ottenibile da una determinata di partenza creata
> >> random.
> >> Ho provato un numero abbastanza elevato di volte e finora il miglior
> >> risultato ottenuto ... guarda caso... 19874 con questa sequenza:

> >>      8
> >>      7
> >>      18
> >>      5
> >>      9
> >>      19
> >>      2
> >>      10
> >>      20
> >>      1
> >>      12
> >>      17
> >>      3
> >>      13
> >>      14
> >>      4
> >>      15
> >>      11
> >>      6
> >>      16
>
> >> Che sia davvero il minimo possibile? Presumo (non ne sono affatto certo)
> >> di s !!

> >> Sarebbe da far girare per un po' la sub, ma dubito davvero che si possa
> >> fare di meglio.
> >> Questa la sub, per chi volesse provare:

un'altro divero?
posta la serie dai
r

r

da leggere,
11 mag 2011, 11:55:4411/05/11
a
On 11 Mag, 17:52, "plinius" <punto.linea...@LEVARElibero.it> wrote:
> "r" <robb....@gmail.com> ha scritto nel messaggionews:114fc120-60cf-48cd...@j13g2000pro.googlegroups.com...

>
>
>
> > On 11 Mag, 17:49, "plinius" <punto.linea...@LEVARElibero.it> wrote:
> >> "r" <robb....@gmail.com> ha scritto nel
> >> messaggionews:b8dd5cca-173d-4472...@q30g2000vbs.googlegroups.com...
>
> >> > ho una matriciale in singola cella!!!!!!!!!!!!!
> >> > la posso postare :-)
> >> > r
>
> >> Che intendi? Quello che chiedeva Paolo altrove e per la qual cosa
> >> suggerivo
> >> l'espediente (tuo) delle iterazioni?
> >> E sei riuscito a farlo senza iterare?
> >> Spiega... e posta!! :-)
>
> > pulita pulita!
> > posso?
> > dai ditemi di si anche se non sono passati 2 giorni :-)
>
> Gi detto di postare!! :-))

> Ma che 2 giorni dici? Non ti sarai ubriacato di regolamenti?

eccola:

=SOMMA(MATR.PRODOTTO((RIF.COLONNA(A:AL)<RIF.RIGA(1:20)+C1)*(RIF.COLONNA(A:AL)>=RIF.RIGA(1:20));MATR.PRODOTTO(--
(RIF.COLONNA(A:T)=(RESTO(RIF.RIGA(1:38)-1;20))+1);B1:B20))^2)

che dici? bella o no?
:-)

plinius

da leggere,
11 mag 2011, 11:56:4411/05/11
a

"r" <robb...@gmail.com> ha scritto nel messaggio
news:799eeffa-3dd7-440c...@s41g2000prb.googlegroups.com...

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

diverso solo apparentemente.
Se lo consideri circolare è lo stesso.


r

da leggere,
11 mag 2011, 11:59:3111/05/11
a
On 11 Mag, 17:56, "plinius" <punto.linea...@LEVARElibero.it> wrote:
> "r" <robb....@gmail.com> ha scritto nel messaggionews:799eeffa-3dd7-440c...@s41g2000prb.googlegroups.com...

ah ok :-)

r

da leggere,
11 mag 2011, 12:04:3611/05/11
a

ora bisogna accorciarla ...
facile che si possa ... io non ci ho ancora provato o la testa troppo
aggrovigliata :-)
r

plinius

da leggere,
11 mag 2011, 12:06:4911/05/11
a

"r" <robb...@gmail.com> ha scritto nel messaggio
news:3dddf38d-14d3-40cf...@s16g2000prf.googlegroups.com...

L'ho piantata in una cella qualunque e mi dà #VALORE!
Ma cosa hai in C1??


r

da leggere,
11 mag 2011, 12:09:1611/05/11
a
On 11 Mag, 18:06, "plinius" <punto.linea...@LEVARElibero.it> wrote:
> "r" <robb....@gmail.com> ha scritto nel messaggionews:3dddf38d-14d3-40cf...@s16g2000prf.googlegroups.com...
> L'ho piantata in una cella qualunque e mi d #VALORE!

> Ma cosa hai in C1??

in C1 c'è k

r

da leggere,
11 mag 2011, 12:11:5011/05/11
a

e in B1:B20 i 20 numeri disposti casualmente casualmente ...
che c'è che non va?

r

da leggere,
11 mag 2011, 12:16:5811/05/11
a

provata su excel 2003 e 2007 ... funziona ...

plinius

da leggere,
11 mag 2011, 12:25:0211/05/11
a

"r" <robb...@gmail.com> ha scritto nel messaggio
news:88ab2e6e-7ebe-4d5f...@v31g2000vbs.googlegroups.com...

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

È solo che non avevo capito una mazza di ciò di cui parlavi.
Pensavo tutt'altra cosa (mi riallacciavo ad una domanda che faceva Paolo
qualche giorno fa...).

Verissimo funziona!!
Fammi studiare ora... :-)


r

da leggere,
11 mag 2011, 12:37:3811/05/11
a
On 11 Mag, 18:25, "plinius" <punto.linea...@LEVARElibero.it> wrote:
> "r" <robb....@gmail.com> ha scritto nel messaggionews:88ab2e6e-7ebe-4d5f...@v31g2000vbs.googlegroups.com...

mi hai fatto prendere un colpo!
:-)

plinius

da leggere,
11 mag 2011, 12:44:4311/05/11
a

"r" <robb...@gmail.com> ha scritto nel messaggio
news:fd0d717b-a78d-4131...@z37g2000vbl.googlegroups.com...

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

Il colpo viene a me per cercare di capirla... che mostro che sei!! :-)


r

da leggere,
11 mag 2011, 12:52:3111/05/11
a
On 11 Mag, 18:44, "plinius" <punto.linea...@LEVARElibero.it> wrote:
> "r" <robb....@gmail.com> ha scritto nel messaggionews:fd0d717b-a78d-4131...@z37g2000vbl.googlegroups.com...

difficile capire così ... devi farti delle tabelle ... se vuoi questa
sera ti mando un file che chiarisce ...
comunque da tutta sta storia ci tiro fuori un articolo ... :-)
è una formula che mi sta elettrizzando!
la seconda matrice non mi veniva ... ma è fantastica nella sua
semplicità e tira fuori da b1:b20 la serie di 38 valori proprio come
li vogliamo con =B1 messo in B21 e trascinato ...

vado a questa sera ... che tiriamo le somme anche sui prossimi quiz!
ciao!
r

plinius

da leggere,
11 mag 2011, 12:57:4211/05/11
a

"r" <robb...@gmail.com> ha scritto nel messaggio
news:10478dd6-d858-45ae...@a10g2000vbz.googlegroups.com...

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

Ho intuito la logica, ma effettivamente stargli dietro senza crearsi le
tabelle delle matrici è arduo.
Ora devo andare anch'io, ma il file stasera mandamelo, così non impazzisco!
Ciao,
E :-)


Andrea.9

da leggere,
11 mag 2011, 13:17:5411/05/11
a
> Il colpo viene a me per cercare di capirla... che mostro che sei!! :-)

veramente inavvicinabile
:-)

Scossa

da leggere,
11 mag 2011, 13:43:4111/05/11
a
On 11 Mag, 11:27, r <robb....@gmail.com> wrote:
> Ok ... 5 punti sono tuoi!!!! appena riesco inizio ad aggiornare la
> classifica ... tu sei escluso dalla soluzione per i 5 punti di
> excel ... potrai partecipare invece per entrambi i 3 punti ...
>
> però ragazzi dovete rispondermi alla domanda ...
> 2 vincitori -> 2 nuovi quesiti?
>

Non saprei, io comunque avrei pronto il Quiz n. 11 :-)

Bye!
Scossa

Scossa

da leggere,
11 mag 2011, 13:45:1111/05/11
a
On 11 Mag, 18:44, "plinius" <punto.linea...@LEVARElibero.it> wrote:
>
> Il colpo viene a me per cercare di capirla... che mostro che sei!! :-)

Già l'ho detto: voi due non siete mica "normali" :-))

Bye!
scossa

r

da leggere,
11 mag 2011, 17:04:3011/05/11
a
On 11 Mag, 19:45, Scossa <scossa...@gmail.com> wrote:

> > Il colpo viene a me per cercare di capirla... che mostro che sei!! :-)
>
> Già l'ho detto: voi due non siete mica "normali" :-))

l'hai detta giusta ... perchè io sarò anche un mostro ... ma
quell'altro è mica più bello di me :-)

saluti
r

r

da leggere,
11 mag 2011, 17:12:1711/05/11
a

accipicchia! bene ... però aspetta un attimo perchè io mi devo ancora
riprendere ... devo aggiornare la classifica, e i file ... poi rimane
da stabilire ... si insomma ho vilato l'art.3 :-) ...

in verità Scossa ... fai pure! ... magari sulla scorta di quanto fatto
da plinius puoi specificare quando lo posterai ... io in quest'ultimo
non l'ho fatto perchè ho agito d'impulso ... l'ho fatto per Mauro che
deve bruciare un paio di macchine e non sapeva come fare :-)

insomma .... viva il Quizzone libero ... fai quel che vuoiiiiii :-)

r

da leggere,
11 mag 2011, 18:46:3611/05/11
a
On 11 Mag, 18:57, "plinius" <punto.linea...@LEVARElibero.it> wrote:
> "r" <robb....@gmail.com> ha scritto nel messaggionews:10478dd6-d858-45ae...@a10g2000vbz.googlegroups.com...

ho messo i file rnd_1.xls e rnd_1.xlsx alla pagina:
https://sites.google.com/site/e90e50/documento-plinius/quizzone-di-excel/quesiti

magari interessa anche ad altri ...
ciao
r

p.s.
risulta credo semplice rendere variabile anche l'intervallo dei
numeri ... che potremo definire con un nome ... si domani lo faccio

Scossa

da leggere,
12 mag 2011, 02:10:1012/05/11
a
On 11 Mag, 23:12, r <robb....@gmail.com> wrote:
>
> insomma .... viva il Quizzone libero ... fai quel che vuoiiiiii :-)

Ok, allora lo pubblico dopo le 17:00 di oggi.

Intanto lubrificate le celle di excel :-)

Bye!
scossa

r

da leggere,
12 mag 2011, 05:13:4512/05/11
a
On 12 Mag, 08:10, Scossa <scossa...@gmail.com> wrote:
> On 11 Mag, 23:12, r <robb....@gmail.com> wrote:
>
>
>
> > insomma .... viva il Quizzone libero ... fai quel che vuoiiiiii :-)
>
> Ok, allora lo pubblico dopo le 17:00 di oggi.


avrei una riunione ... ma ... alle 17.30 :-)

>
> Intanto lubrificate le celle di excel :-)


cacchio! ho messo l'olio e si è fulminato tutto! SCOSSA!

>
> Bye!
> scossa

ciao e a dopo
r

plinius

da leggere,
12 mag 2011, 07:53:4712/05/11
a

"r" <robb...@gmail.com> ha scritto nel messaggio
news:f6247b3b-f99a-49c2...@d19g2000prh.googlegroups.com...

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

È affascinante questa formula, non avevo mai pensato a seguire quel tipo di
percorso.
Confermo: sei un mostro!
Ho scaricato il file ma già ieri sera avevo iniziato a ragionarci sopra e
penso che ci sia spazio per accorciare un po'.

Hai fatto girare la ricerca della combinazione stanotte? Se sì sono certo
che il muro sia quello, me lo confermi?

Al quizzone di oggi sarò fuori e tornerò verso le 19, Vuol dire che giocherò
al gioco del taglione, se mi lasciate qualcosa da rosicchiare eh eh.

Ciao,
E.


r

da leggere,
12 mag 2011, 08:31:5612/05/11
a
On 12 Mag, 13:53, "plinius" <punto.linea...@LEVARElibero.it> wrote:
> "r" <robb....@gmail.com> ha scritto nel messaggionews:f6247b3b-f99a-49c2...@d19g2000prh.googlegroups.com...
> ho messo i file rnd_1.xls e rnd_1.xlsx alla pagina:https://sites.google.com/site/e90e50/documento-plinius/quizzone-di-ex...

>
> magari interessa anche ad altri ...
> ciao
> r
>
> p.s.
> risulta credo semplice rendere variabile anche l'intervallo dei
> numeri ... che potremo definire con un nome ... si domani lo faccio
>
> ****************************
>
> È affascinante questa formula, non avevo mai pensato a seguire quel tipo di
> percorso.
> Confermo: sei un mostro!

è affascinante, si!
io ieri non ci stavo più nella pelle ...
la cosa che fa più piacere e condividere queste stupidate con chi sei
sicuro saprà apprezzarle :-)

> Ho scaricato il file ma già ieri sera avevo iniziato a ragionarci sopra e
> penso che ci sia spazio per accorciare un po'.

avanti allora! io l'ho detto ieri, ho ancora la testa
aggrovigliata :-)

>
> Hai fatto girare la ricerca della combinazione stanotte? Se sì sono certo
> che il muro sia quello, me lo confermi?

no, provo ... questa sera ... poi riferisco ...
non ho ancora avuto tempo nemmeno di leggere attentamente la macro ...
ma stai certo che lo faccio!

>
> Al quizzone di oggi sarò fuori e tornerò verso le 19,

peggio per te :-)

> Vuol dire che giocherò
> al gioco del taglione, se mi lasciate qualcosa da rosicchiare eh eh.

qualcosa da rosicchiare c'è ... quasi sempre :-)

>
> Ciao,
> E.

ciao
r

r

da leggere,
12 mag 2011, 09:00:3112/05/11
a

questa la formula generalizzata con un nome rng che definisce la serie
circolare (anche dinamicamente) e k che indica di quanti elementi
consecutivi deve essere la somma quadrata ...

=SOMMA(MATR.PRODOTTO((RIF.COLONNA(SCARTO($A
$1;;;;RIGHE(rng)*2))<RIF.RIGA(SCARTO($A$1;;;RIGHE(rng)))
+k)*(RIF.COLONNA(SCARTO($A$1;;;;RIGHE(rng)*2))>=RIF.RIGA(SCARTO($A
$1;;;RIGHE(rng))));MATR.PRODOTTO(--(RIF.COLONNA(SCARTO($A
$1;;;;RIGHE(rng)))=(RESTO(RIF.RIGA(SCARTO($A
$1;;;RIGHE(rng)*2))-1;RIGHE(rng)))+1);rng))^2)

saluti
r


r

da leggere,
12 mag 2011, 09:42:5212/05/11
a
On 12 Mag, 13:53, "plinius" <punto.linea...@LEVARElibero.it> wrote:

> Hai fatto girare la ricerca della combinazione stanotte? Se sì sono certo
> che il muro sia quello, me lo confermi?

cavoli!
la sto facendo girare ora e si assesta subito su valori sotto
20000 ... nel giro di pochi minuti ha trovato 19874 fantastico!
ancora di più considerando che perde un sacco di tempo per
scrivere ... vuol dire che è l'algoritmo giusto!
per scrupolo provo questa notte a lanciarlo ... magari tolgo la
scrittura nel foglio giusto per farla viaggiare un po' di più ...
poi riferisco
Ciao
r

paoloard

da leggere,
12 mag 2011, 09:53:5412/05/11
a
"r" ha scritto nel messaggio
news:10478dd6-d858-45ae...@a10g2000vbz.googlegroups.com...
cut

difficile capire cosě ... devi farti delle tabelle ... se vuoi questa


sera ti mando un file che chiarisce ...
comunque da tutta sta storia ci tiro fuori un articolo ... :-)

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

hey vulcano! che ne dici se duplichiamo l'articolo su RIO? ovviamente alle
solite condizioni.

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

plinius

da leggere,
12 mag 2011, 10:39:5712/05/11
a

"r" <robb...@gmail.com> ha scritto nel messaggio
news:47c30239-79a9-421d...@35g2000prp.googlegroups.com...

questa la formula generalizzata con un nome rng che definisce la serie
circolare (anche dinamicamente) e k che indica di quanti elementi
consecutivi deve essere la somma quadrata ...

=SOMMA(MATR.PRODOTTO((RIF.COLONNA(SCARTO($A
$1;;;;RIGHE(rng)*2))<RIF.RIGA(SCARTO($A$1;;;RIGHE(rng)))
+k)*(RIF.COLONNA(SCARTO($A$1;;;;RIGHE(rng)*2))>=RIF.RIGA(SCARTO($A
$1;;;RIGHE(rng))));MATR.PRODOTTO(--(RIF.COLONNA(SCARTO($A
$1;;;;RIGHE(rng)))=(RESTO(RIF.RIGA(SCARTO($A
$1;;;RIGHE(rng)*2))-1;RIGHE(rng)))+1);rng))^2)

saluti
r

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

Pensando ad usare una matrice quadrata 20x20, sono a questo punto.

1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1


1. metodo: riempio di 1 la metą destra alta del quadrato tagliato sulla
diagonale, poi azzero l'angolo bianco alto destro, infine aggiungo (somma di
matrice) l'angolino sinistro basso di 1 degli sforamenti.

=SOMMA(MATR.PRODOTTO((RIF.RIGA(1:20)<=RIF.COLONNA(A:T))*(RIF.RIGA(1:20)>RIF.COLONNA(A:T)-C1)+(RIF.RIGA(1:20)>20+RIF.COLONNA(A:T)-C1);B1:B20)^2)

(143 caratteri)

2. metodo: definisco come 1 la zona di zeri compresa tra la parte normale e
quella degli sforamenti, quindi la sottraggo a 1 per invertirla.
ora non resta che azzerare l'angolo bianco in alto a destra

=SOMMA(MATR.PRODOTTO((1-(RIF.RIGA(1:20)>RIF.COLONNA(A:T))*(RIF.RIGA(1:20)<=20+RIF.COLONNA(A:T)-C1))*(RIF.RIGA(1:20)>RIF.COLONNA(A:T)-C1);B1:B20)^2)

(147 caratteri)

E questa č la formula generalizzata con nomi "rng" e "k" in C1:

=SOMMA(MATR.PRODOTTO((RIF.RIGA(SCARTO($A$1;;;RIGHE(rng)))<=RIF.COLONNA(SCARTO($A$1;;;;RIGHE(rng))))*(RIF.RIGA(SCARTO($A$1;;;RIGHE(rng)))>RIF.COLONNA(SCARTO($A$1;;;;RIGHE(rng)))-k)+(RIF.RIGA(SCARTO($A$1;;;RIGHE(rng)))>RIGHE(rng)+RIF.COLONNA(SCARTO($A$1;;;;RIGHE(rng)))-k);rng)^

(278 caratteri)


Ora devo correre alla Peugeot... ciao!! :-))
E.

r

da leggere,
12 mag 2011, 11:18:2412/05/11
a
On 12 Mag, 16:39, "plinius" <punto.linea...@LEVARElibero.it> wrote:
> "r" <robb....@gmail.com> ha scritto nel messaggionews:47c30239-79a9-421d...@35g2000prp.googlegroups.com...
> 1. metodo: riempio di 1 la metà destra alta del quadrato tagliato sulla

> diagonale, poi azzero l'angolo bianco alto destro, infine aggiungo (somma di
> matrice) l'angolino sinistro basso di 1 degli sforamenti.
>
> =SOMMA(MATR.PRODOTTO((RIF.RIGA(1:20)<=RIF.COLONNA(A:T))*(RIF.RIGA(1:20)>RIF.COLONNA(A:T)-C1)+(RIF.RIGA(1:20)>20+RIF.COLONNA(A:T)-C1);B1:B20)^2)
>
> (143 caratteri)
>
> 2. metodo: definisco come 1 la zona di zeri compresa tra la parte normale e
> quella degli sforamenti, quindi la sottraggo a 1 per invertirla.
> ora non resta che azzerare l'angolo bianco in alto a destra
>
> =SOMMA(MATR.PRODOTTO((1-(RIF.RIGA(1:20)>RIF.COLONNA(A:T))*(RIF.RIGA(1:20)<=20+RIF.COLONNA(A:T)-C1))*(RIF.RIGA(1:20)>RIF.COLONNA(A:T)-C1);B1:B20)^2)
>
> (147 caratteri)
>
> E questa è la formula generalizzata con nomi "rng" e "k" in C1:

>
> =SOMMA(MATR.PRODOTTO((RIF.RIGA(SCARTO($A$1;;;RIGHE(rng)))<=RIF.COLONNA(SCARTO($A$1;;;;RIGHE(rng))))*(RIF.RIGA(SCARTO($A$1;;;RIGHE(rng)))>RIF.COLONNA(SCARTO($A$1;;;;RIGHE(rng)))-k)+(RIF.RIGA(SCARTO($A$1;;;RIGHE(rng)))>RIGHE(rng)+RIF.COLONNA(SCARTO($A$1;;;;RIGHE(rng)))-k);rng)^
>
> (278 caratteri)
>
> Ora devo correre alla Peugeot... ciao!! :-))
> E.

così si risparmia tutti i *ridimensionamenti* ...
in un quadrato ci sta tutto!
non consumi il doppio delle righe!
Ma certo!
... e sei un grande!
:-)

rimane interessante anche l'ampliamento della matrice che tanto mi ha
entusiasmato ...
tutto è estremamente interessante ... matrice prodotto si conferma una
funzione tra le più potenti
GRAZIE!
saluti
r


r

da leggere,
12 mag 2011, 17:05:3612/05/11
a

la tua da 143 caratteri è secondo me perfetta e non è tagliabile ne
migliorabile ...
però quella generalizzata la preferisco così:

=SOMMA(MATR.PRODOTTO((RIF.RIGA(rng)<=MATR.TRASPOSTA(RIF.RIGA(rng)))*(RIF.RIGA(rng)>MATR.TRASPOSTA(RIF.RIGA(rng))-
k)+(RIF.RIGA(rng)>RIGHE(rng)+MATR.TRASPOSTA(RIF.RIGA(rng))-k);rng)^2)

non capisco perchè ... ma da confermare con ctrl+maiusc+invio
però non è un problema dovrebbe essere anche più efficiente visto che
evita tutti gli scarti ...

saluti
r

ora faccio il punto ...

0 nuovi messaggi