non è chiaro. utilizza un istogramma in pila 100%: il terzo
della serie dei modelli. oppure considera 88 e 100-88.
.f
"fernando cinquegrani" ha scritto:
| A | B | C | D | E | F | |
| 7 | valori | % | %;2 | a | b | c |
| 8 | 0.5036 | 0.07 | 0.07 | 0.07 | 0.07 | 0.07 |
| 9 | 0.8660 | 0.11 | 0.11 | 0.11 | 0.11 | 0.11 |
| 10 | 0.7654 | 0.10 | 0.10 | 0.10 | 0.10 | 0.10 |
| 11 | 0.3795 | 0.05 | 0.05 | 0.05 | 0.05 | 0.05 |
| 12 | 0.5452 | 0.07 | 0.07 | 0.07 | 0.07 | 0.07 |
| 13 | 0.6879 | 0.09 | 0.09 | 0.09 | 0.09 | 0.09 |
| 14 | 0.2162 | 0.03 | 0.03 | 0.03 | 0.03 | 0.03 |
| 15 | 0.9650 | 0.13 | 0.13 | 0.13 | 0.13 | 0.13 |
| 16 | 0.0855 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 |
| 17 | 0.9743 | 0.13 | 0.13 | 0.13 | 0.12 | 0.12 |
| 18 | 0.9549 | 0.12 | 0.12 | 0.12 | 0.12 | 0.12 |
| 19 | 0.7308 | 0.10 | 0.10 | 0.09 | 0.10 | 0.10 |
| 20 | 1.00 | 1.01 | 1.00 | 1.00 | 1.00 |
| A | B | C | D | E | F | |
| 7 | valori | % | %;2 | a | b | c |
| 8 | 0.5036 | =A8/SOMMA($A$8:$A$19) | =ARROTONDA(A8/SOMMA($A$8:$A$19);2) | =ARROTONDA(A8/SOMMA($A$8:$A$19);2) | =SE(A8=MAX($A$8:$A$19);1-SOMMA(ARROTONDA(($A$8:$A$19)/SOMMA($A$8:$A$19);2))+ARROTONDA(A8/SOMMA($A$8:$A$19);2);ARROTONDA(A8/SOMMA($A$8:$A$19);2)) | =SE(A8=MAX(serie2);1-SOMMA(ARROTONDA((serie2)/SOMMA(serie2);2))+ARROTONDA(A8/SOMMA(serie2);2);ARROTONDA(A8/SOMMA(serie2);2)) |
| 9 | 0.8660 | =A9/SOMMA($A$8:$A$19) | =ARROTONDA(A9/SOMMA($A$8:$A$19);2) | =ARROTONDA(A9/SOMMA($A$8:$A$19);2) | =SE(A9=MAX($A$8:$A$19);1-SOMMA(ARROTONDA(($A$8:$A$19)/SOMMA($A$8:$A$19);2))+ARROTONDA(A9/SOMMA($A$8:$A$19);2);ARROTONDA(A9/SOMMA($A$8:$A$19);2)) | =SE(A9=MAX(serie2);1-SOMMA(ARROTONDA((serie2)/SOMMA(serie2);2))+ARROTONDA(A9/SOMMA(serie2);2);ARROTONDA(A9/SOMMA(serie2);2)) |
| 10 | 0.7654 | =A10/SOMMA($A$8:$A$19) | =ARROTONDA(A10/SOMMA($A$8:$A$19);2) | =ARROTONDA(A10/SOMMA($A$8:$A$19);2) | =SE(A10=MAX($A$8:$A$19);1-SOMMA(ARROTONDA(($A$8:$A$19)/SOMMA($A$8:$A$19);2))+ARROTONDA(A10/SOMMA($A$8:$A$19);2);ARROTONDA(A10/SOMMA($A$8:$A$19);2)) | =SE(A10=MAX(serie2);1-SOMMA(ARROTONDA((serie2)/SOMMA(serie2);2))+ARROTONDA(A10/SOMMA(serie2);2);ARROTONDA(A10/SOMMA(serie2);2)) |
| 11 | 0.3795 | =A11/SOMMA($A$8:$A$19) | =ARROTONDA(A11/SOMMA($A$8:$A$19);2) | =ARROTONDA(A11/SOMMA($A$8:$A$19);2) | =SE(A11=MAX($A$8:$A$19);1-SOMMA(ARROTONDA(($A$8:$A$19)/SOMMA($A$8:$A$19);2))+ARROTONDA(A11/SOMMA($A$8:$A$19);2);ARROTONDA(A11/SOMMA($A$8:$A$19);2)) | =SE(A11=MAX(serie2);1-SOMMA(ARROTONDA((serie2)/SOMMA(serie2);2))+ARROTONDA(A11/SOMMA(serie2);2);ARROTONDA(A11/SOMMA(serie2);2)) |
| 12 | 0.5452 | =A12/SOMMA($A$8:$A$19) | =ARROTONDA(A12/SOMMA($A$8:$A$19);2) | =ARROTONDA(A12/SOMMA($A$8:$A$19);2) | =SE(A12=MAX($A$8:$A$19);1-SOMMA(ARROTONDA(($A$8:$A$19)/SOMMA($A$8:$A$19);2))+ARROTONDA(A12/SOMMA($A$8:$A$19);2);ARROTONDA(A12/SOMMA($A$8:$A$19);2)) | =SE(A12=MAX(serie2);1-SOMMA(ARROTONDA((serie2)/SOMMA(serie2);2))+ARROTONDA(A12/SOMMA(serie2);2);ARROTONDA(A12/SOMMA(serie2);2)) |
| 13 | 0.6879 | =A13/SOMMA($A$8:$A$19) | =ARROTONDA(A13/SOMMA($A$8:$A$19);2) | =ARROTONDA(A13/SOMMA($A$8:$A$19);2) | =SE(A13=MAX($A$8:$A$19);1-SOMMA(ARROTONDA(($A$8:$A$19)/SOMMA($A$8:$A$19);2))+ARROTONDA(A13/SOMMA($A$8:$A$19);2);ARROTONDA(A13/SOMMA($A$8:$A$19);2)) | =SE(A13=MAX(serie2);1-SOMMA(ARROTONDA((serie2)/SOMMA(serie2);2))+ARROTONDA(A13/SOMMA(serie2);2);ARROTONDA(A13/SOMMA(serie2);2)) |
| 14 | 0.2162 | =A14/SOMMA($A$8:$A$19) | =ARROTONDA(A14/SOMMA($A$8:$A$19);2) | =ARROTONDA(A14/SOMMA($A$8:$A$19);2) | =SE(A14=MAX($A$8:$A$19);1-SOMMA(ARROTONDA(($A$8:$A$19)/SOMMA($A$8:$A$19);2))+ARROTONDA(A14/SOMMA($A$8:$A$19);2);ARROTONDA(A14/SOMMA($A$8:$A$19);2)) | =SE(A14=MAX(serie2);1-SOMMA(ARROTONDA((serie2)/SOMMA(serie2);2))+ARROTONDA(A14/SOMMA(serie2);2);ARROTONDA(A14/SOMMA(serie2);2)) |
| 15 | 0.9650 | =A15/SOMMA($A$8:$A$19) | =ARROTONDA(A15/SOMMA($A$8:$A$19);2) | =ARROTONDA(A15/SOMMA($A$8:$A$19);2) | =SE(A15=MAX($A$8:$A$19);1-SOMMA(ARROTONDA(($A$8:$A$19)/SOMMA($A$8:$A$19);2))+ARROTONDA(A15/SOMMA($A$8:$A$19);2);ARROTONDA(A15/SOMMA($A$8:$A$19);2)) | =SE(A15=MAX(serie2);1-SOMMA(ARROTONDA((serie2)/SOMMA(serie2);2))+ARROTONDA(A15/SOMMA(serie2);2);ARROTONDA(A15/SOMMA(serie2);2)) |
| 16 | 0.0855 | =A16/SOMMA($A$8:$A$19) | =ARROTONDA(A16/SOMMA($A$8:$A$19);2) | =ARROTONDA(A16/SOMMA($A$8:$A$19);2) | =SE(A16=MAX($A$8:$A$19);1-SOMMA(ARROTONDA(($A$8:$A$19)/SOMMA($A$8:$A$19);2))+ARROTONDA(A16/SOMMA($A$8:$A$19);2);ARROTONDA(A16/SOMMA($A$8:$A$19);2)) | =SE(A16=MAX(serie2);1-SOMMA(ARROTONDA((serie2)/SOMMA(serie2);2))+ARROTONDA(A16/SOMMA(serie2);2);ARROTONDA(A16/SOMMA(serie2);2)) |
| 17 | 0.9743 | =A17/SOMMA($A$8:$A$19) | =ARROTONDA(A17/SOMMA($A$8:$A$19);2) | =ARROTONDA(A17/SOMMA($A$8:$A$19);2) | =SE(A17=MAX($A$8:$A$19);1-SOMMA(ARROTONDA(($A$8:$A$19)/SOMMA($A$8:$A$19);2))+ARROTONDA(A17/SOMMA($A$8:$A$19);2);ARROTONDA(A17/SOMMA($A$8:$A$19);2)) | =SE(A17=MAX(serie2);1-SOMMA(ARROTONDA((serie2)/SOMMA(serie2);2))+ARROTONDA(A17/SOMMA(serie2);2);ARROTONDA(A17/SOMMA(serie2);2)) |
| 18 | 0.9549 | =A18/SOMMA($A$8:$A$19) | =ARROTONDA(A18/SOMMA($A$8:$A$19);2) | =ARROTONDA(A18/SOMMA($A$8:$A$19);2) | =SE(A18=MAX($A$8:$A$19);1-SOMMA(ARROTONDA(($A$8:$A$19)/SOMMA($A$8:$A$19);2))+ARROTONDA(A18/SOMMA($A$8:$A$19);2);ARROTONDA(A18/SOMMA($A$8:$A$19);2)) | =SE(A18=MAX(serie2);1-SOMMA(ARROTONDA((serie2)/SOMMA(serie2);2))+ARROTONDA(A18/SOMMA(serie2);2);ARROTONDA(A18/SOMMA(serie2);2)) |
| 19 | 0.7308 | =A19/SOMMA($A$8:$A$19) | =ARROTONDA(A19/SOMMA($A$8:$A$19);2) | =1-SOMMA(D8:D18) | =SE(A19=MAX($A$8:$A$19);1-SOMMA(ARROTONDA(($A$8:$A$19)/SOMMA($A$8:$A$19);2))+ARROTONDA(A19/SOMMA($A$8:$A$19);2);ARROTONDA(A19/SOMMA($A$8:$A$19);2)) | =SE(A19=MAX(serie2);1-SOMMA(ARROTONDA((serie2)/SOMMA(serie2);2))+ARROTONDA(A19/SOMMA(serie2);2);ARROTONDA(A19/SOMMA(serie2);2)) |
| 20 | =SOMMA(B8:B19) | =SOMMA(C8:C19) | =SOMMA(D8:D19) | =SOMMA(E8:E19) | =SOMMA(F8:F19) |
naturalmente la formula
=SE(A8=MAX(rng);1-SOMMA(ARROTONDA((rng)/SOMMA(rng);2))+ARROTONDA(A8/SOMMA(rng);2);ARROTONDA(A8/SOMMA(rng);2))
Ctrl+Maiusc+Invio
diventa
=SE(A8=MAX(rng);1-SOMMA(ARROTONDA((rng)/SOMMA(rng);3))+ARROTONDA(A8/SOMMA(rng);3);ARROTONDA(A8/SOMMA(rng);3))
se si vuole un arrotondamento a 3 decimali, come solitamente si usa
fare.
e comunque, variando il numero dei decimali, la somma totale non cambia.
.f
certo che nel caso di valori ripetuti la formula si complica
e invece di utilizzare una formula del tipo
=SE(E(A8=MAX(rng);CONFRONTA(A8;rng;0)-1=INDICE(RIF.RIGA()-RIF.RIGA(rng);1));1-SOMMA(ARROTONDA((rng)/SOMMA(rng);2))+ARROTONDA(A8/SOMMA(rng);2);ARROTONDA(A8/SOMMA(rng);2))
che funzionerebbe solo per valori in colonna
č conveniente il ricorso a una funzione utente
Option Explicit
Option Base 1
Public Function matPct(A As Variant, dec As Long) As Variant
Dim T() As Variant, complete As Boolean
Dim i As Long, j As Long
Dim sn As Double, ds As Double
Dim nr As Long, nc As Long
sn = Application.WorksheetFunction.Sum(A)
If TypeOf A Is Range Then
nr = A.Rows.Count
nc = A.Columns.Count
Else
nr = UBound(A, 1)
nc = UBound(A, 2)
End If
ReDim T(nr, nc)
For i = 1 To nr
For j = 1 To nc
T(i, j) = Round(A(i, j) / sn, dec)
ds = ds + T(i, j)
Next j
Next i
If sn <> 1 Then
sn = Application.WorksheetFunction.Max(A)
For i = 1 To nr
For j = 1 To nc
If A(i, j) = sn And Not complete Then
T(i, j) = T(i, j) + 1 - ds
complete = True
End If
Next j
Next i
End If
matPct = T
End Function
che ha il vantaggio di essere indifferente alle dimensioni e alla
disposizione dell'intervallo.
va usata cosě
se in A1:C3 ho
5 2 3
4 5 6
7 8 9
se in E1:G3 inserisco
=ARROTONDA(A1/SOMMA($A$1:$C$3);2)
ottengo una somma pari al 98%
se in I1:K3 inserisco
=matPct(A1:C3;2)
[č una formula matriciale: selezionare l'intero
intervallo I1:K3, quindi, dopo aver inserito la formula,
inviare con Ctrl+Maiusc+Invio]
ottengo una somma pari al 100%.
i due argomenti della funzione sono rispettivamente
A1:C3 [intervallo] č il range di cui calcolare le percentuali
2 [decimali] č il numero di decimali di arrotondamento
il secondo argomento č opzionale, se assente viene
posto a 2.
in I1:K3 potevamo scrivere quindi piů semplicemente
=matPct(a1:c3)
che č una bella semplificazione rispetto a prima.
grazie della domanda, Ggenny,
mi serviva proprio questa funzione :-)
.f
fernando cinquegrani
Microsoft MVP
http://www.prodomosua.eu
> il secondo argomento č opzionale, se assente viene
> posto a 2.
> in I1:K3 potevamo scrivere quindi piů semplicemente
> =matPct(a1:c3)
> che č una bella semplificazione rispetto a prima.
naturalmente, questa affermazione č vera se scrivo
Public Function matPct(A As Variant, Optional dec As Long = 2) As
Variant
:-)
.f
> [fernando cinquegrani] scrive in
> http://www.google.it/groups?threadm=eJOlWX63...@TK2MSFTNGP02.phx.gbl
> > Option Explicit
> > Option Base 1
> > Public Function matPct(A As Variant, dec As Long) As Variant
>
> > il secondo argomento è opzionale, se assente viene
> > posto a 2.
> > in I1:K3 potevamo scrivere quindi più semplicemente
> > =matPct(a1:c3)
> > che è una bella semplificazione rispetto a prima.
>
> naturalmente, questa affermazione è vera se scrivo
> Public Function matPct(A As Variant, Optional dec As Long = 2) As
> Variant
> :-)
Ciao Fernando,
prometto che scriverò con formato normale appena riuscirò a
installare qualsiasi cosa che mi permetta di accedere al ng senza ie.
Scusami per questa volta.
Premetto che leggendo le tue risposte mi sono sentita tanto come le
tipe che partecipano a quella specie di reality fatto di belle ( e
oche?) e maschietti con qi 160.
Posso darti un paio di numeri reali che mi creano problemi?
eccoli:
0,198146803791087 0,575525307521678 0,226327888687235
Se faccio la somma usando excel mi viene esattamente 1
Se creo un istogramma a pila a 100 con valori approssimati a meno
dell'unità mi viene
20% 58% 23% che "visivamente" dà come risultato 101
Ho provato a usare la funzione MatPct l'ho in pratica copiata e
incollata in un modulo di excel, e poi in un range di 3 celle ho
copiato la tua formula che è diventata
=matPct(D23:F23;2).
Naturalmente i 3 numeri erano nelle celle d23:f23.
Ma i numeri che mi appaiono nel grafico sono 20%; 58% ;23% la cui somma
fa 101.
Grazie di tutto.
Ggenny
stai scrivendo in formato normale :-)
> Premetto che leggendo le tue risposte mi sono sentita tanto come le
> tipe che partecipano a quella specie di reality fatto di belle ( e
> oche?) e maschietti con qi 160.
io non ho qi 160, ma credo anche che tu non sia un'oca
> Se creo un istogramma a pila a 100 con valori approssimati a meno
> dell'unità mi viene
> 20% 58% 23% che "visivamente" dà come risultato 101
immagino sbagli qualcosa nell'inserimento.
questo è il file delle mie prove
http://www.prodomosua.eu/zips/percentuali.xls
la prima serie riporta i tuoi valori.
.f
Ggenny
P.S.
Secondo me ti sottovaluti :P
"fernando cinquegrani" ha scritto: