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

[Quizzone di Excel] Quesito 14

27 visualizzazioni
Passa al primo messaggio da leggere

r

da leggere,
16 mag 2011, 11:38:0216/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
---------------------------------------------------------------------------------------------------------------------
Per approfondire:
https://sites.google.com/site/e90e50/documento-plinius/quizzone-di-excel
___________________________________________________________________

La pubblicazione del "Quesito 14" avverrà:
martedì 17 maggio, alle ore 17:00

Saluti
r

r

da leggere,
17 mag 2011, 06:55:4717/05/11
a
On 16 Mag, 17:38, r <robb....@gmail.com> wrote:

> La pubblicazione del "Quesito 14" avverrà:
> martedì 17 maggio, alle ore 17:00

Ho dimenticato di dirlo, ma era sottointeso, il quesito verrà
publicato in questo stesso 3d.
A dopo
r

r

da leggere,
17 mag 2011, 11:01:1417/05/11
a
QUESITO 14

Oggi giochiamo a Tris!

Istruzioni:
Definiamo un nome "rng" che identifichi un generico intervallo di 3
righe per 3 colonne ad esempio:
=$E$5:$G$7

Si gioca a tris ... I due giocatori utilizzeranno per la loro mossa la
lettera "x" e la "o" (quindicesima lettera dell'alfabeto) non importa
se minuscola o minuscola. Si inizia con la "x" anche se ha poca
importanza ...

Il quesito ...

In una cella voglio una formula che nel caso di vittoria (non importa
di quale giocatore) restituisca "Hai vinto!" e viceversa in caso
contrario restituisca a vostra scelta "" oppure un valore di errore.

Per la vittoria (5 punti) è consentito l'utilizzo di una colonna di
appoggio ...
Per aggiudicarsi la formula breve (3 punti) viceversa si combatterà su
formula senza appoggio.

In bocca al lupo!
saluti
r

p.s.

a questa pagina:
https://sites.google.com/site/e90e50/documento-plinius/quizzone-di-excel/quesiti
trovate il file Quesito 14.xls ... è stato già definito il nome rng e
una convalida per scegliere "x" e "o"

r

da leggere,
17 mag 2011, 11:07:1817/05/11
a
On 17 Mag, 17:01, r <robb....@gmail.com> wrote:

> Per la vittoria (5 punti) è consentito l'utilizzo di una colonna di
> appoggio ...

specifico che per colonna di appoggio intendo una formula che può
essere trascinata fino a necessità, il range che la contiene può poi
essere utilizzato nella formula per raggiungere il risultato finale.

saluti
r

Andrea.9

da leggere,
17 mag 2011, 11:39:2217/05/11
a

formula unica
moooooooooolto lunga ......
=SE(IDENTICO("xxx";CONCATENA(E8;F8;G8))
+IDENTICO("ooo";CONCATENA(E8;F8;G8))
+IDENTICO("xxx";CONCATENA(E9;F9;G9))
+IDENTICO("ooo";CONCATENA(E9;F9;G9))
+IDENTICO("xxx";CONCATENA(E10;F10;G10))
+IDENTICO("ooo";CONCATENA(E10;F10;G10))
+IDENTICO("xxx";CONCATENA(E8;E9;E10))
+IDENTICO("ooo";CONCATENA(E8;E9;E10))
+IDENTICO("xxx";CONCATENA(F8;F9;F10))
+IDENTICO("ooo";CONCATENA(F8;F9;F10))
+IDENTICO("xxx";CONCATENA(G8;G9;G10))
+IDENTICO("ooo";CONCATENA(G8;G9;G10))
+IDENTICO("xxx";CONCATENA(G8;F9;E10))
+IDENTICO("ooo";CONCATENA(G8;F9;E10))
+IDENTICO("xxx";CONCATENA(E8;F9;G10))
+IDENTICO("ooo";CONCATENA(E8;F9;G10))>0;"Hai vinto!";"")

r

da leggere,
17 mag 2011, 11:45:2017/05/11
a

non posso accettarla in quanto devi usare rng e non i riferimenti alle
celle ... deve essere una formula utilizzabile sempre.

ciao
r

Andrea.9

da leggere,
17 mag 2011, 13:46:1417/05/11
a
> non posso accettarla in quanto devi usare rng e non i riferimenti alle
> celle ... deve essere una formula utilizzabile sempre.

mannaggia

r

da leggere,
17 mag 2011, 17:57:4617/05/11
a

su ... su ... i 5 punti non rimangono li in eterno ... al massimo un
paio di gironi :-)
saluti
r

Andrea.9

da leggere,
17 mag 2011, 19:31:0217/05/11
a

in una cella di appoggio le combinazioni (diagonali comprese)
ad esempio in I8:
=(INDICE(rng;1;1)&INDICE(rng;1;2)&INDICE(rng;1;3)&","&INDICE(rng;
2;1)&INDICE(rng;2;2)&INDICE(rng;2;3)&","&INDICE(rng;3;1)&INDICE(rng;
3;2)&INDICE(rng;3;3)&","&INDICE(rng;1;1)&INDICE(rng;2;1)&INDICE(rng;
3;1)&","&INDICE(rng;1;2)&INDICE(rng;2;2)&INDICE(rng;
3;2)&","&INDICE(rng;1;3)&INDICE(rng;2;3)&INDICE(rng;
3;3)&","&INDICE(rng;1;1)&INDICE(rng;2;2)&INDICE(rng;
3;3)&","&INDICE(rng;1;3)&INDICE(rng;2;2)&INDICE(rng;3;1))
in E6; =SE(VAL.ERRORE(TROVA("ooo";I8));"";"Hai
vinto!")&SE(VAL.ERRORE(TROVA("xxx";I8));"";"Hai vinto!")
variazione:
dichiariamo il vincitore
in E6; =SE(VAL.ERRORE(TROVA("ooo";I8));"";"Vince
O")&SE(VAL.ERRORE(TROVA("xxx";I8));"";"Vince X")

Andrea.9

da leggere,
17 mag 2011, 19:37:3417/05/11
a

che senza appoggio diventa:
=SE(VAL.ERRORE(TROVA("ooo";(INDICE(rng;1;1)&INDICE(rng;1;2)&INDICE(rng;


1;3)&","&INDICE(rng;2;1)&INDICE(rng;2;2)&INDICE(rng;
2;3)&","&INDICE(rng;3;1)&INDICE(rng;3;2)&INDICE(rng;
3;3)&","&INDICE(rng;1;1)&INDICE(rng;2;1)&INDICE(rng;
3;1)&","&INDICE(rng;1;2)&INDICE(rng;2;2)&INDICE(rng;
3;2)&","&INDICE(rng;1;3)&INDICE(rng;2;3)&INDICE(rng;
3;3)&","&INDICE(rng;1;1)&INDICE(rng;2;2)&INDICE(rng;

3;3)&","&INDICE(rng;1;3)&INDICE(rng;2;2)&INDICE(rng;3;1))));"";"Hai
vinto!")&SE(VAL.ERRORE(TROVA("xxx";(INDICE(rng;1;1)&INDICE(rng;


1;2)&INDICE(rng;1;3)&","&INDICE(rng;2;1)&INDICE(rng;2;2)&INDICE(rng;
2;3)&","&INDICE(rng;3;1)&INDICE(rng;3;2)&INDICE(rng;
3;3)&","&INDICE(rng;1;1)&INDICE(rng;2;1)&INDICE(rng;
3;1)&","&INDICE(rng;1;2)&INDICE(rng;2;2)&INDICE(rng;
3;2)&","&INDICE(rng;1;3)&INDICE(rng;2;3)&INDICE(rng;
3;3)&","&INDICE(rng;1;1)&INDICE(rng;2;2)&INDICE(rng;

3;3)&","&INDICE(rng;1;3)&INDICE(rng;2;2)&INDICE(rng;3;1))));"";"Hai
vinto!")

c'è sicuramente un modo meno indegno ma nella vita bisogna sapersi
accontentare

r

da leggere,
18 mag 2011, 05:25:3018/05/11
a

confermo, la formula fa quanto richiesto! a te i 5 punti!

c'è modo migliore?
direi che è di molto migliorabile ... intanto la tua può essere segata
a metà:

=SE(SOMMA(1-VAL.ERRORE(TROVA({"ooo"\"xxx"};(INDICE(rng;1;1)&INDICE(rng;


1;2)&INDICE(rng;
1;3)&","&INDICE(rng;2;1)&INDICE(rng;2;2)&INDICE(rng;
2;3)&","&INDICE(rng;3;1)&INDICE(rng;3;2)&INDICE(rng;
3;3)&","&INDICE(rng;1;1)&INDICE(rng;2;1)&INDICE(rng;
3;1)&","&INDICE(rng;1;2)&INDICE(rng;2;2)&INDICE(rng;
3;2)&","&INDICE(rng;1;3)&INDICE(rng;2;3)&INDICE(rng;
3;3)&","&INDICE(rng;1;1)&INDICE(rng;2;2)&INDICE(rng;

3;3)&","&INDICE(rng;1;3)&INDICE(rng;2;2)&INDICE(rng;3;1)))));"Hai
vinto!";"")

però ... c'è sicuramente una strada per raggiungere il risultato in
modo più breve ...

prova a dare uno sguardo alla potente MATR.PRODOTTO ... forse ti viene
l'ispirazione.

ciao
r

r

da leggere,
18 mag 2011, 11:01:3518/05/11
a
> r- Nascondi testo citato
>
> - Mostra testo citato -

beh dai ... prima che posti il nuovo quesito aggiungo la mia per
concorrere ai 3 punti:

=SE(MAX(ASS(MATR.PRODOTTO((rng="x")-(rng="o");
{1\1\1}));ASS(MATR.PRODOTTO(MATR.TRASPOSTA((rng="x")-(rng="o"));
{1\1\1}));ASS(SOMMA(((rng="x")-
(rng="o"))*{1;0;0\0;1;0\0;0;1}));ASS(SOMMA(((rng="x")-
(rng="o"))*{0;0;1\0;1;0\1;0;0})))=3;"Hai vinto!";"")

da confermare con ctrl+maiusc+invio

in effetti la cosa più comoda sarebbe stata usare 1 e -1 al posto di x
e o ... ma questo ha chiesto r :-)
ciao
r

Scossa

da leggere,
18 mag 2011, 11:40:3918/05/11
a
On 18 Mag, 17:01, r <robb....@gmail.com> wrote:
>
> beh dai ... prima che posti il nuovo quesito aggiungo la mia per
> concorrere ai 3 punti:
>
> =SE(MAX(ASS(MATR.PRODOTTO((rng="x")-(rng="o");
> {1\1\1}));ASS(MATR.PRODOTTO(MATR.TRASPOSTA((rng="x")-(rng="o"));
> {1\1\1}));ASS(SOMMA(((rng="x")-
> (rng="o"))*{1;0;0\0;1;0\0;0;1}));ASS(SOMMA(((rng="x")-
> (rng="o"))*{0;0;1\0;1;0\1;0;0})))=3;"Hai vinto!";"")
>
> da confermare con ctrl+maiusc+invio

Ciao roby,

ma non avresti dovuto aspettare DUE GIORNI SOLARI prima di dare la tua
soluzione?
Non per niente, ma io non ho potuto postato la mia più breve con
SEGNO() (quiz del drugstore) lasciando i 3 punti (ma soprattutto la
soddisfazione di tagliarTI) proprio perché dovevo aspettare.

Nessun problema comunque, ma sarebbe meglio definire in modo preciso
almeno queste due regole.

Bye!
Scossa

r

da leggere,
18 mag 2011, 12:07:0018/05/11
a

hai ragione!
credo comunque si possa fare meglio ... anche per questo e per
stimolare la gara vedendo che la situazione era statica mi sono
permesso di postare la formula :-(
ho sbagliato a pensare che nessuno ci stesse lavorando! ... e dovevo
aspettare comunque domani!
vorrà dire che se nessuno la migliora (io compreso) ... non assegnerò
i 3 punti ... ma ripeto ... credo sia migliorabile

mi impegno a non fare più lo stesso errore e chiedo scusa.
Ciao
r

Scossa

da leggere,
18 mag 2011, 13:06:1418/05/11
a
On 18 Mag, 18:07, r <robb....@gmail.com> wrote:
>
> ho sbagliato a pensare che nessuno ci stesse lavorando! ... e dovevo
> aspettare comunque domani!
> vorrà dire che se nessuno la migliora (io compreso) ... non assegnerò
> i 3 punti ... ma ripeto ... credo sia migliorabile

E perchè mai? se nessuno la migliora i 3 punti sono meritatamente
tuoi!
Certo che se qualcuno (a dir poco "poco sportivo") la copiasse pari
pari e la postasse come sua ... a termine di regolamento forse
potrebbe accampare diritto ai 3 punti.

> mi impegno a non fare più lo stesso errore e chiedo scusa.

Esagerato :-)

Io mi impegno ad accorciarla, ma dubito di riuscirci :-)

Bye!
Scossa

r

da leggere,
18 mag 2011, 17:22:1518/05/11
a
On 18 Mag, 19:06, Scossa <scossa...@gmail.com> wrote:
> On 18 Mag, 18:07, r <robb....@gmail.com> wrote:
>
>
>
> > ho sbagliato a pensare che nessuno ci stesse lavorando! ... e dovevo
> > aspettare comunque domani!
> > vorrà dire che se nessuno la migliora (io compreso) ... non assegnerò
> > i 3 punti ... ma ripeto ... credo sia migliorabile
>
> E perchè mai? se nessuno la migliora i 3 punti sono meritatamente
> tuoi!

no, no ... i 3 punti li prendo se miglioro quando potrò migliorare ...
quel che è giusto è giusto ...

> Certo che se qualcuno (a dir poco "poco sportivo") la copiasse pari
> pari e la postasse come sua ... a termine di regolamento forse
> potrebbe accampare diritto ai 3 punti.

io l'avrei fatto :-)

>
> > mi impegno a non fare più lo stesso errore e chiedo scusa.
>
> Esagerato :-)

ho fatto anche 30 flessioni :-)

>
> Io mi impegno ad accorciarla, ma dubito di riuscirci :-)

in effetti ... ci sto provando ma ... senza esito ...
comunque ok ... proviamo ancora ... chissà che ci venga in mente
qualcosa

>
> Bye!
> Scossa

ciao
r

r

da leggere,
18 mag 2011, 17:58:2718/05/11
a
On 18 Mag, 23:22, r <robb....@gmail.com> wrote:

> in effetti ... ci sto provando ma ... senza esito ...
> comunque ok ... proviamo ancora ... chissà che ci venga in mente
> qualcosa

eh eh ... a me una cosetta è venuta in mente ... quando posso
postare?

non dire nulla! lo so ho scritto io il regolamento ma ... cosa vuol
dire 2 giorni solari? :-)
potrò postare dalle 17 del 19 maggio?

boh ... intanto per non sbagliare ... aspetto :-)
ciao
r

Scossa

da leggere,
19 mag 2011, 02:20:5519/05/11
a
On 18 Mag, 23:58, r <robb....@gmail.com> wrote:
> non dire nulla! lo so ho scritto io il regolamento ma ... cosa vuol
> dire 2 giorni solari? :-)
> potrò postare dalle 17 del 19 maggio?

Direi dalle 17:01:01 :-)

> boh ... intanto per non sbagliare ... aspetto :-)

Aspetta aspetta ... chissà che intanto non te lo dimentichi :-)

Bye!
scossa

r

da leggere,
19 mag 2011, 08:32:4019/05/11
a

hai tempo ancora 3 ore per soffiarmi i 3 punti e avere la
soddisfazione di TagliarMI

r

da leggere,
19 mag 2011, 11:16:4119/05/11
a

eccomi! ... mi stavo dimenticando :-)

=SE(MAX(MATR.PRODOTTO((rng="x")-(rng="o");
{1\1\1})^2;MATR.PRODOTTO(MATR.TRASPOSTA((rng="x")-(rng="o"));
{1\1\1})^2;SOMMA(((rng="x")-
(rng="o"))*{1;0;0\0;1;0\0;0;1})^2;SOMMA(((rng="x")-
(rng="o"))*{0;0;1\0;1;0\1;0;0})^2)=9;"Hai vinto!";"")

da confermare con ctrl+maiusc+invio

il risparmio è sulla funzione ass ... che serviva a rendere unici i
valori -3 e 3 ... utilizzo in questa quindi l'elevamento a potenza che
permette ugualmente di unire i due risultati in uno ... e a me di
aggiudicarmi (per ora) i 3 punti per la formula breve :-)

ciao
r

Il messaggio è stato eliminato

Andrea.9

da leggere,
19 mag 2011, 19:05:1619/05/11
a
> =SE(MAX(MATR.PRODOTTO((rng="x")-(rng="o");
> {1\1\1})^2;MATR.PRODOTTO(MATR.TRASPOSTA((rng="x")-(rng="o"));
> {1\1\1})^2;SOMMA(((rng="x")-
> (rng="o"))*{1;0;0\0;1;0\0;0;1})^2;SOMMA(((rng="x")-
> (rng="o"))*{0;0;1\0;1;0\1;0;0})^2)=9;"Hai vinto!";"")

me ne approfitto in maniera miserabile e indegna .....
definisci nome z=(rng="x")-(rng="o")
quindi
=SE(MAX(MATR.PRODOTTO(z;{1\1\1})^2;MATR.PRODOTTO(MATR.TRASPOSTA(z);
{1\1\1})^2;SOMMA(z*{1;0;0\0;1;0\0;0;1})^2;SOMMA(z*{0;0;1\0;1;0\1;0;0})^2)=9;"Hai
vinto!";"")

Andrea.9

da leggere,
19 mag 2011, 19:11:1419/05/11
a

ancora + approfittatore:


definisci nome z=(rng="x")-(rng="o")

definisci nome t={1\1\1}
quindi
=SE(MAX(MATR.PRODOTTO(z;t)^2;MATR.PRODOTTO(MATR.TRASPOSTA(z);t)^2;SOMMA(z*{1;0;0\0;1;0\0;0;1})^2;SOMMA(z*{0;0;1\0;1;0\1;0;0})^2)=9­;"Hai
vinto!";"")

Andrea.9

da leggere,
19 mag 2011, 19:17:0519/05/11
a
e poi visto che la domanda era:

In una cella voglio una formula che nel caso di vittoria (non importa
di quale giocatore) restituisca "Hai vinto!" e viceversa in caso
contrario restituisca a vostra scelta "" oppure un valore di errore.

se FALSO puo' essere considerato errore .....


definisci nome z=(rng="x")-(rng="o")

definisci nome t={1\1\1}

=SE(MAX(MATR.PRODOTTO(z;t)^2;MATR.PRODOTTO(MATR.TRASPOSTA(z);t)^2;SOMMA(z*{1;0;0\0;1;0\0;0;1})^2;SOMMA(z*{0;0;1\0;1;0\1;0;0})^2)=9;"Hai
vinto!")

se no #VALORE!, allora .....


definisci nome z=(rng="x")-(rng="o")

definisci nome t={1\1\1}

=SE(MAX(MATR.PRODOTTO(z;t)^2;MATR.PRODOTTO(MATR.TRASPOSTA(z);t)^2;SOMMA(z*{1;0;0\0;1;0\0;0;1})^2;SOMMA(z*{0;0;1\0;1;0\1;0;0})^2)=9;"Hai
vinto!";)

basta mi vergogno troppo

Il messaggio è stato eliminato

Andrea.9

da leggere,
19 mag 2011, 19:40:1719/05/11
a
> basta mi vergogno troppo

e facevo bene a vergognarmi perche il testo diceva:


Per aggiudicarsi la formula breve (3 punti) viceversa si combatterà
su
formula senza appoggio.

....... quindi niente nomi
ciao

Scossa

da leggere,
20 mag 2011, 02:21:0120/05/11
a
On 19 Mag, 17:16, r <robb....@gmail.com> wrote:
> On 19 Mag, 14:32, r <robb....@gmail.com> wrote:
> eccomi! ... mi stavo dimenticando :-)
>
> =SE(MAX(MATR.PRODOTTO((rng="x")-(rng="o");
> {1\1\1})^2;MATR.PRODOTTO(MATR.TRASPOSTA((rng="x")-(rng="o"));
> {1\1\1})^2;SOMMA(((rng="x")-
> (rng="o"))*{1;0;0\0;1;0\0;0;1})^2;SOMMA(((rng="x")-
> (rng="o"))*{0;0;1\0;1;0\1;0;0})^2)=9;"Hai vinto!";"")
>
> da confermare con ctrl+maiusc+invio

Giuro che, prima di aver letto la tua soluzione, avevo "pensato"
anch'io all'elevamento a potenza ma no ho avuto disponibile il PC per
provare ad applicarlo in qualche modo.

Comunque complimenti per la soluzione.

Bye!
scossa

r

da leggere,
20 mag 2011, 10:34:2120/05/11
a

in generale, l'uso di un nome non accorcia mai la formula. Ad ogni
nome deve essere sostituita la formula che lo definisce. Non posso
conteggiare la formula di un nome una volta sola se poi il nome viene
usato 2 ... non trovi?

Ti ricordo che devi postare il Quesito 15 ...
ciao
r

Andrea.9

da leggere,
20 mag 2011, 13:05:0120/05/11
a
> Ti ricordo che devi postare il Quesito 15 ...

lo so, lo so, ci sto pensando :-)

r

da leggere,
20 mag 2011, 17:43:5120/05/11
a
On 20 Mag, 19:05, "Andrea.9" <a.novelli-...@dappolonia.it> wrote:
> > Ti ricordo che devi postare il Quesito 15 ...
>
> lo so, lo so, ci sto pensando :-)

ah ... ok ... fai pure con comodo ... volevo solo essere certo che il
quesito sarebbe arrivato prima o poi :-)
ciao
r

0 nuovi messaggi