ciao paoloard
http://www.riolab.org
per far capire di cosa parliamo:
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
___________________________________________________________________
In riga 1 i titoli
Si supponga di avere in colonna A a partire da A2 le lettere dell'alfabeto
italiano ordinate da "a" a "z" (l'ordine non è essenziale, è solo utile per
controllare il risultato); in colonna B a partire da B2 un numero che
rappresenta lo stacco che deve intercorrere fra una lettera e l'altra.
In C1 una lettera dell'alfabeto dalla quale partire per costruire un nuovo
elenco che tenga conto degli stacchi.
Ovviamente, raggiunta la fine dell'elenco, il risultato deve ripartire dalla
prima lettera "a".
Esempi:
A B C
1 Alfabeto Scarto a
2 a 1 b
3 b 2 d
4 c 3 g
5 d 3 l
6 e 2 n
7 f 3 q
8 g 1 r
9 h 2 t
10 i 3 z
11 l 1 a
12 m 2 c
13 …… ….. …..
A B C
1 Alfabeto Stacco c
2 a 1 d
3 b 2 f
4 c 3 i
5 d 3 n
6 e 2 p
7 f 3 s
….. ….. …...
In pratica, il numero posto di fianco all'elenco alfabetico indica di quante
lettere saltare, rispetto a quella che sta sopra, per trovare la successiva.
Arrivati alla "z" si riparte dall'inizio.
allora.....
definisci nome "a" =$A$2:$A$22
in C2:
=SE(VAL.ERRORE(INDICE(a;RIF.RIGA(A2)-1+B2))=VERO;INDICE(a;RIF.RIGA(A2)-22+B2);INDICE(a;RIF.RIGA(A2)-1+B2))
e trascinare
Andrea
=INDICE($A$2:$A$27;RESTO(CONFRONTA(C1;$A$2:$A$27)+B2-1;26)+1)
Ciao a tutti,
E.
----------------------------------------------------------
Sicuro? Ottengo questo:
Alfabeto Scarto a
a 1 b
b 2 d
c 1 d
d 3 g
e 2 g
f 3 i
g 1 h
h 2 l
i 3 n
l 1 m
m 2 o
n 1 o
o 2 q
p 3 s
q 1 r
r 2 t
s 3 v
t 1 u
u 2 z
v 1 z
z 1 a
ciao paoloard
http://www.riolab.org
Ciao a tutti,
E.
-------------------------------------------------------
Sicuto? Ottengo questo:
Alfabeto Scarto a
a 1 b
b 2 d
c 1 e
d 3 h
e 2 l
f 3 o
g 1 p
h 2 r
i 3 u
l 1 v
m 2 0
n 1 #N/D
o 2 #N/D
p 3 #N/D
q 1 #N/D
r 2 #N/D
s 3 #N/D
t 1 #N/D
u 2 #N/D
v 1 #N/D
z 1 #N/D
ciao paoloard
http://www.riolab.org
Anche io ottengo questo risultato.
Ciao.
--
*Notebook Asus A2800S: CPU: Pentium 4 2,8 GHz - RAM: 512 MB DDR - PC2100
(2x256 MB) - HD: 100 GB E-IDE - SO: Windows XP Home SP3 OEM +
aggiornamenti *
Stessa cosa anche per me.
Sembra un codice militare cifrato.
Ciao. :)
cut
> A B C
> 1 Alfabeto Stacco c
> 2 a 1 d
> 3 b 2 f
> 4 c 3 i
> 5 d 3 n
> 6 e 2 p
> 7 f 3 s
> ….. ….. …...
>
> In pratica, il numero posto di fianco all'elenco alfabetico indica di
> quante lettere saltare, rispetto a quella che sta sopra, per trovare la
> successiva. Arrivati alla "z" si riparte dall'inizio.
Sembra un codice militare cifrato.
Ciao. :)
------------------------------
:-) non sapevi che facevo parte dei servizi segreti?
In realtà si può fare con qualsiasi elenco, nomi, numeri ecc....
ciao paoloard
http://www.riolab.org
--
eh sě, mi sa che i giovinotti hanno "cavalcato" con troppa foga ;-)
ciao paoloard
http://www.riolab.org
> A B C
> 1 Alfabeto Stacco c
> 2 a 1 d
> 3 b 2 f
> 4 c 3 i
> 5 d 3 n
> 6 e 2 p
> 7 f 3 s
> ….. ….. …...
questo secondo esempio non mi sembra corretto ... non dovrebbe essere:
b
d
f
g
g
i
...
o forse non ho capito?
r
Sì, infatti ho appena provato anche questa variante di nome.
Interessante.
Ciao.
beh se ho capito propongo:
=CODICE.CARATT(RESTO(CODICE(A2)+B2;123)+
(RESTO(CODICE(A2)+B2;123)<97)*97)
saluti
r
che poi basterebbe:
=CODICE.CARATT(RESTO(CODICE(A2)+B2;123)+((CODICE(A2)+B2)>122)*97)
saluti
r
Non è esattamente quello che si deve ottenere ???
hai detto alfabeto italiano quindi senza "jkwxy"
andrea
a no ... forse ho capito ...
la colonna a dice che non serve ... che il primo valore è in c1 ...
quindi dovrebbe essere:
=CODICE.CARATT(RESTO(CODICE(C1)+B2;123)+((CODICE(C1)+B2)>122)*97)
saluti
r
Quindi per me, la soluzione è da 5 punti per paoloard!
credo di aver capito che intendevi che i numeri contenuti in colonna B
devono distaccare la lettera già presente in colonna C alla riga
superiore.
ma in tal caso si perde ogni correlazione con le lettera presente in
colonna A e pertanto come si potrebe risalire al testo originario ?
comunque non ho capito
andrea
uffa! però non era chiaro per nulla!
=CODICE.CARATT(RESTO(CODICE(C1)+B2;123)+((CODICE(C1)+B2)>122)*CODICE($C
$1))
r
Come mai se cambio lettera in C1, cambia anche in G2, H2, H21 e H22 ?
Poi con le formule postate più recentemente, compaiono anche le lettere
w y j k x, quindi la prima formula non vale più?
Link: www.supershare.net/file/383371-4893014ec5.html
=CODICE.CARATT(RESTO(CODICE(C1)+B2;123)+((CODICE(C1)+B2)>122)*97)
saluti
r
---------------------------------------------------------
mmmmmm.....
il quesito l'hai capito, però c'è qualcosa che non mi torna, puoi dirmi che
alfabeto hai usato? Cioè hai compreso anche j k w x y?
ciao paoloard
http://www.riolab.org
-------------------------------------------------------
usando l'elenco di cui alla colonna A, alla lettera messa in C1 devi
aggiungere lo stacco della riga successiva per ottenere il corrispondente
risultato.
ciao paoloard
http://www.riolab.org
=CODICE.CARATT(RESTO(CODICE(C1)+B2;123)+((CODICE(C1)+B2)>122)*97)
saluti
r
---------------------------------------------------------
ciao paoloard
http://www.riolab.org
----------------------------
io avevo specificato "usando l'alfabeto italiano", con esclusione quindi dei
caratteri di cui sopra. Infatti la specifica non è secondaria dato che la
soluzione potrebbe poi essere applicata a qualsiasi elenco (in effetti,
originariamente, il quesito era stato fatto per risolvere un problema di
riallocazione di una scala di note musicali).
ciao paoloard
http://www.riolab.org
=CODICE.CARATT(RESTO(CODICE(C1)+B2;123)+((CODICE(C1)+B2)>122)*97)
saluti
r
---------------------------------------------------------
ciao paoloard
http://www.riolab.org
-------------------------------------
scusa cassa quest'ultima nota circa l'alfabeto italiano.
ciao paoloard
http://www.riolab.org
Per le 21 dell'alfabeto italiano deve essere così:
=INDICE($A$2:$A$22;RESTO(CONFRONTA(C1;$A$2:$A$22)+B2-1;21)+1)
che per ora mi pare (ancora...) la più corta, o no?
Ciao Paolo,
E. :-)
=INDICE(A$2:A$22;RESTO(CONFRONTA(C1;A$2:A$22)+B2-1;21)+1)
Enrico ;-)
...e prima che lo faccia r, applico anche un paio di dollari di sconto:
=INDICE(A$2:A$22;RESTO(CONFRONTA(C1;A$2:A$22)+B2-1;21)+1)
Enrico ;-)
---------------------------------------------------
Scusa Enrico, ma il risultato è lo stesso, vedi qui l'applicazione delle tue
formule:
Alfabeto Scarto a
a 1 b b b
b 2 d d d
c 1 e e e
d 3 h h h
e 2 l l l
f 3 o o o
g 1 p p p
h 2 r r r
i 3 u u u
l 1 v v v
m 2 0 a a
n 1 #N/D #N/D #N/D
o 2 #N/D #N/D #N/D
p 3 #N/D #N/D #N/D
q 1 #N/D #N/D #N/D
r 2 #N/D #N/D #N/D
s 3 #N/D #N/D #N/D
t 1 #N/D #N/D #N/D
u 2 #N/D #N/D #N/D
v 1 #N/D #N/D #N/D
z 1 #N/D #N/D #N/D
potresti mettere in rete il tuo file?
ciao paoloard
http://www.riolab.org
Va bene il mio, con tutte le formule postate fino in questo momento?
LinK: http://www.supershare.net/file/383389-69460246c5.html
Ciao.
direi che i 5 punti ci sono !!!
----------------------------------------------
no spiacente, vi sono lettere che nonostante vi sia uno stacco vengono
ripetute.
ciao paoloard
http://www.riolab.org
Qui:
http://www.4shared.com/document/9Xso5RC1/quiz16.html]quiz16.xls
:-)
-------------------------------------------------
Ok, la Palma d'Oro va ad Enrico! Congratulation!
A te i 5 punti.
ciao paoloard
http://www.riolab.org
io ho capito solo ora provando la soluzione di plinius :-)
però dico ...paolo! alfabeto italiano? ... ma non potevi specificare
senza kjyxyw!
che ne so io che differenza c'è tra alfabeto italiano e gli altri :-)
poi avevi mica detto che la colonna a serviva solo per verifica?
va beh comunque ... tornando alla gara ...
E. usa come appoggio 21 celle :-)
io solo E1 dove scrivo:
abcdefghilmnopqrstuvzabcdefghilmnopqrstuvz
in C2:
=STRINGA.ESTRAI(E$1;TROVA(C1;E$1)+RESTO(B2;21);1)
da trascinare in basso
senza appoggio diventa:
=STRINGA.ESTRAI(RIPETI("abcdefghilmnopqrstuvz";
2);TROVA(C1;RIPETI("abcdefghilmnopqrstuvz";2))+RESTO(B2;21);1)
saluti
r
ho aggiornato la classifica ...
riguardo il quesito 15 vinto da paolo, le mie formule sulla breve
avevano qualche problema, e non avendo avuto molto tempo ho
riassegnato i 3 punti a apolo oltre ai 5 della vittoria ... però
appena avrò un pochino di calma gliele polverizzo :-) ...
riguardo il quesito corrente ho assegnato i 5 punti a plinius ... per
i 3 aspetto un giudizio di paolo ...
saluti
r
---------------------------------------------------------
non lo metto in dubbio! Il tagliatore di teste è quindi già in agguato :-)
riguardo il quesito corrente ho assegnato i 5 punti a plinius ... per
i 3 aspetto un giudizio di paolo ...
saluti
r
--------------------------------------------------------------------
per i 3 punti devo dire che la formula che hai postato è interessante però
ignorando l'elenco in colonna A (era nelle premesse) la sua lunghezza va
incrementata delle 21 lettere dell'alfabeto che hai messo in E1.
Direi quindi che la formula più corta è ancora quella di Enrico. Pertanto
assegnerei a lui anche i 3 punti.
ciao paoloard
http://www.riolab.org
cut
io ho capito solo ora provando la soluzione di plinius :-)
però dico ...paolo! alfabeto italiano? ... ma non potevi specificare
senza kjyxyw!
che ne so io che differenza c'è tra alfabeto italiano e gli altri :-)
poi avevi mica detto che la colonna a serviva solo per verifica?
------------------------------------------------------------
a proposito di comprensione devo dire che molto spesso anch'io prendo
abbagli. Però rileggendo quello che ho scritto (a parte l'incomprensione
circa l'alfabeto italiano) non mi pare di essere stato incomprensibile,
infatti mi cito:
""Si supponga di avere in colonna A a partire da A2 le lettere dell'alfabeto
italiano ordinate da "a" a "z" (l'ordine non è essenziale, è solo utile per
controllare il risultato); in colonna B a partire da B2 un numero che
rappresenta lo stacco che deve intercorrere fra una lettera e l'altra.
In C1 una lettera dell'alfabeto dalla quale partire per costruire un nuovo
elenco che tenga conto degli stacchi.""
Vedi: "....(l'ordine non è essenziale....), oppure :"in C1.............per
costruire un *nuovo elenco*......".
Insomma, anche dopo l'aggiunta degli esempi mi sembrava sufficiente per
chiarire i termini del quesito.
Spiacente di avere tratto in inganno qualcuno. Però, molte volte, la
soluzione la trova per primo chi riesce, non solo a risolvere, ma anche ad
interpretare al meglio la domanda.
ciao paoloard
http://www.riolab.org
qualcosina mi hai lasciato però :-)
=INDICE(A:A;RESTO(CONFRONTA(C1;A$2:A$22)+B2-1;21)+2)
-5
o ancora uno:
=SCARTO(A$2;RESTO(CONFRONTA(C1;A$2:A$22)+B2-1;21);)
tieni conto che indice su A:A non rallenta quindi direi che è lecito,
scarto invece è più volatile
saluti
r
si hai ragione, anche col post precedente.
Avevi detto e spiegato bene ... alla 10 rilettura posso confermare ...
vero che ogni volta che leggevo mi accorgevo di un particolare che era
specificato ma mi era sfuggito ... anche sulla colonna di appoggio
dici bene di creare la colonna ... e la formula che ho proposto
snatura il senso del quesito ... quindi ho dovuto tagliuzzare quella
di plinius :-)
vado a leggere il quesito 17 ... uffa devo aggiungere un articolo che
vieta di postare il sabato e la domenica :-)
ciao
r
Ineccepibile, però! :-)
era impossibile risicare ... quello è un furto bello e buono :-)
r
si potrebbe anche:
=SCARTO(A$2;RESTO(CONFRONTA(C1;A:A)-2+B2;21);)
ma credo che il confronta su A:A ne perda un po' anche se excel è
bravo a ridimensionare gli intervalli nel calcolo.
saluti
r
On 29 Mag, 00:03, plinius <punto.lin...@libero.it> wrote:
> r come rosicchiatore che mi fa rosicare!! :-(
>
> Ineccepibile, perň! :-)
si potrebbe anche:
=SCARTO(A$2;RESTO(CONFRONTA(C1;A:A)-2+B2;21);)
ma credo che il confronta su A:A ne perda un po' anche se excel č
bravo a ridimensionare gli intervalli nel calcolo.
saluti
r
-------------------------------------------------
Allora i 3 punti vanno a Roby. Congratulation!
ciao paoloard
http://www.riolab.org
grassssie
:-)
r